Update ABI definition files
authorMichael Jeanson <mjeanson@efficios.com>
Tue, 12 Apr 2022 20:32:18 +0000 (16:32 -0400)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Fri, 22 Apr 2022 20:16:08 +0000 (16:16 -0400)
Update all ABI definition files with artefacts built on an Ubuntu 18.04
x86_64 to allow straightforward comparision with artefacts from our CI
system.

Change-Id: I916db6fb3e8a44e36047186ec4519e94acbb5939
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
40 files changed:
extras/abi/0.10/x86_64-pc-linux-gnu/liburcu-bp.so.6.xml
extras/abi/0.10/x86_64-pc-linux-gnu/liburcu-cds.so.6.xml
extras/abi/0.10/x86_64-pc-linux-gnu/liburcu-common.so.6.xml
extras/abi/0.10/x86_64-pc-linux-gnu/liburcu-mb.so.6.xml
extras/abi/0.10/x86_64-pc-linux-gnu/liburcu-qsbr.so.6.xml
extras/abi/0.10/x86_64-pc-linux-gnu/liburcu-signal.so.6.xml
extras/abi/0.10/x86_64-pc-linux-gnu/liburcu.so.6.xml
extras/abi/0.11/x86_64-pc-linux-gnu/liburcu-bp.so.6.xml
extras/abi/0.11/x86_64-pc-linux-gnu/liburcu-cds.so.6.xml
extras/abi/0.11/x86_64-pc-linux-gnu/liburcu-common.so.6.xml
extras/abi/0.11/x86_64-pc-linux-gnu/liburcu-mb.so.6.xml
extras/abi/0.11/x86_64-pc-linux-gnu/liburcu-memb.so.6.xml
extras/abi/0.11/x86_64-pc-linux-gnu/liburcu-qsbr.so.6.xml
extras/abi/0.11/x86_64-pc-linux-gnu/liburcu-signal.so.6.xml
extras/abi/0.11/x86_64-pc-linux-gnu/liburcu.so.6.xml
extras/abi/0.12/x86_64-pc-linux-gnu/liburcu-bp.so.6.xml
extras/abi/0.12/x86_64-pc-linux-gnu/liburcu-cds.so.6.xml
extras/abi/0.12/x86_64-pc-linux-gnu/liburcu-common.so.6.xml
extras/abi/0.12/x86_64-pc-linux-gnu/liburcu-mb.so.6.xml
extras/abi/0.12/x86_64-pc-linux-gnu/liburcu-memb.so.6.xml
extras/abi/0.12/x86_64-pc-linux-gnu/liburcu-qsbr.so.6.xml
extras/abi/0.12/x86_64-pc-linux-gnu/liburcu-signal.so.6.xml
extras/abi/0.12/x86_64-pc-linux-gnu/liburcu.so.6.xml
extras/abi/0.13/x86_64-pc-linux-gnu/liburcu-bp.so.8.xml
extras/abi/0.13/x86_64-pc-linux-gnu/liburcu-cds.so.8.xml
extras/abi/0.13/x86_64-pc-linux-gnu/liburcu-common.so.8.xml
extras/abi/0.13/x86_64-pc-linux-gnu/liburcu-mb.so.8.xml
extras/abi/0.13/x86_64-pc-linux-gnu/liburcu-memb.so.8.xml
extras/abi/0.13/x86_64-pc-linux-gnu/liburcu-qsbr.so.8.xml
extras/abi/0.13/x86_64-pc-linux-gnu/liburcu-signal.so.8.xml
extras/abi/0.13/x86_64-pc-linux-gnu/liburcu.so.8.xml
extras/abi/0.14/x86_64-pc-linux-gnu/liburcu-bp.so.8.xml [new file with mode: 0644]
extras/abi/0.14/x86_64-pc-linux-gnu/liburcu-cds.so.8.xml [new file with mode: 0644]
extras/abi/0.14/x86_64-pc-linux-gnu/liburcu-common.so.8.xml [new file with mode: 0644]
extras/abi/0.14/x86_64-pc-linux-gnu/liburcu-mb.so.8.xml [new file with mode: 0644]
extras/abi/0.14/x86_64-pc-linux-gnu/liburcu-memb.so.8.xml [new file with mode: 0644]
extras/abi/0.14/x86_64-pc-linux-gnu/liburcu-qsbr.so.8.xml [new file with mode: 0644]
extras/abi/0.14/x86_64-pc-linux-gnu/liburcu-signal.so.8.xml [new file with mode: 0644]
extras/abi/0.14/x86_64-pc-linux-gnu/liburcu.so.8.xml [new file with mode: 0644]
extras/abi/README

index 311c49f1bc8b75611c7d3e58eb3eefdbfb04025a..3cc0c5d7b7e3835b8a692dcf170f3fde5accf986 100644 (file)
@@ -1,11 +1,14 @@
 <abi-corpus architecture='elf-amd-x86_64' soname='liburcu-bp.so.6'>
   <elf-needed>
-    <dependency name='liburcu-common.so.6'/>
     <dependency name='libpthread.so.0'/>
     <dependency name='libc.so.6'/>
     <dependency name='ld-linux-x86-64.so.2'/>
   </elf-needed>
   <elf-function-symbols>
+    <!-- _fini -->
+    <elf-symbol name='_fini' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- _init -->
+    <elf-symbol name='_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- call_rcu_after_fork_child_bp -->
     <elf-symbol name='call_rcu_after_fork_child_bp' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- call_rcu_after_fork_parent_bp -->
     <elf-symbol name='urcu_bp_has_sys_membarrier' size='4' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
   </elf-variable-symbols>
   <abi-instr version='1.0' address-size='64' path='urcu-bp.c' comp-dir-path='src' language='LANG_C99'>
-
-    <!-- char -->
-    <type-decl name='char' size-in-bits='8' id='type-id-1'/>
-    <!-- char[40] -->
-    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='320' id='type-id-2'>
-      <!-- <anonymous range>[40] -->
-      <subrange length='40' type-id='type-id-3' id='type-id-4'/>
-
-    </array-type-def>
     <!-- int -->
-    <type-decl name='int' size-in-bits='32' id='type-id-5'/>
-    <!-- long int -->
-    <type-decl name='long int' size-in-bits='64' id='type-id-6'/>
-    <!-- short int -->
-    <type-decl name='short int' size-in-bits='16' id='type-id-7'/>
-    <!-- unsigned int -->
-    <type-decl name='unsigned int' size-in-bits='32' id='type-id-8'/>
-    <!-- unsigned long int -->
-    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-3'/>
-    <!-- void -->
-    <type-decl name='void' id='type-id-9'/>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <!-- int urcu_bp_has_sys_membarrier -->
+    <var-decl name='urcu_bp_has_sys_membarrier' type-id='type-id-1' mangled-name='urcu_bp_has_sys_membarrier' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='109' column='1' elf-symbol-id='urcu_bp_has_sys_membarrier'/>
     <!-- struct rcu_gp_bp -->
-    <class-decl name='rcu_gp_bp' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='77' column='1' id='type-id-10'>
+    <class-decl name='rcu_gp_bp' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='77' column='1' id='type-id-2'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned long int rcu_gp_bp::ctr -->
         <var-decl name='ctr' type-id='type-id-3' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='85' column='1'/>
       </data-member>
     </class-decl>
+    <!-- unsigned long int -->
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-3'/>
+    <!-- rcu_gp_bp rcu_gp_bp -->
+    <var-decl name='rcu_gp_bp' type-id='type-id-2' mangled-name='rcu_gp_bp' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='88' column='1' elf-symbol-id='rcu_gp_bp'/>
     <!-- struct rcu_reader_bp -->
-    <class-decl name='rcu_reader_bp' size-in-bits='2048' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='90' column='1' id='type-id-11'>
+    <class-decl name='rcu_reader_bp' size-in-bits='2048' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='90' column='1' id='type-id-4'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned long int rcu_reader_bp::ctr -->
         <var-decl name='ctr' type-id='type-id-3' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='92' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1024'>
         <!-- cds_list_head rcu_reader_bp::node -->
-        <var-decl name='node' type-id='type-id-12' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='94' column='1'/>
+        <var-decl name='node' type-id='type-id-5' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='94' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1152'>
         <!-- pthread_t rcu_reader_bp::tid -->
-        <var-decl name='tid' type-id='type-id-13' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='95' column='1'/>
+        <var-decl name='tid' type-id='type-id-6' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='95' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1216'>
         <!-- int rcu_reader_bp::alloc -->
-        <var-decl name='alloc' type-id='type-id-5' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='96' column='1'/>
+        <var-decl name='alloc' type-id='type-id-1' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='96' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_list_head -->
-    <class-decl name='cds_list_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/list.h' line='35' column='1' id='type-id-12'>
+    <class-decl name='cds_list_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/list.h' line='35' column='1' id='type-id-5'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_list_head* cds_list_head::next -->
-        <var-decl name='next' type-id='type-id-14' visibility='default' filepath='../include/urcu/list.h' line='36' column='1'/>
+        <var-decl name='next' type-id='type-id-7' visibility='default' filepath='../include/urcu/list.h' line='36' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- cds_list_head* cds_list_head::prev -->
-        <var-decl name='prev' type-id='type-id-14' visibility='default' filepath='../include/urcu/list.h' line='36' column='1'/>
+        <var-decl name='prev' type-id='type-id-7' visibility='default' filepath='../include/urcu/list.h' line='36' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_list_head* -->
+    <pointer-type-def type-id='type-id-5' size-in-bits='64' id='type-id-7'/>
     <!-- typedef unsigned long int pthread_t -->
-    <typedef-decl name='pthread_t' type-id='type-id-3' filepath='/usr/include/bits/pthreadtypes.h' line='27' column='1' id='type-id-13'/>
+    <typedef-decl name='pthread_t' type-id='type-id-3' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='27' column='1' id='type-id-6'/>
+    <!-- rcu_reader_bp* -->
+    <pointer-type-def type-id='type-id-4' size-in-bits='64' id='type-id-8'/>
+    <!-- rcu_reader_bp* rcu_reader_bp -->
+    <var-decl name='rcu_reader_bp' type-id='type-id-8' mangled-name='rcu_reader_bp' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='104' column='1' elf-symbol-id='rcu_reader_bp'/>
     <!-- struct rcu_flavor_struct -->
-    <class-decl name='rcu_flavor_struct' size-in-bits='896' is-struct='yes' visibility='default' filepath='../src/urcu-flavor.h' line='40' column='1' id='type-id-15'>
+    <class-decl name='rcu_flavor_struct' size-in-bits='896' is-struct='yes' visibility='default' filepath='../src/urcu-flavor.h' line='40' column='1' id='type-id-9'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- void ()* rcu_flavor_struct::read_lock -->
-        <var-decl name='read_lock' type-id='type-id-16' visibility='default' filepath='../src/urcu-flavor.h' line='41' column='1'/>
+        <var-decl name='read_lock' type-id='type-id-10' visibility='default' filepath='../src/urcu-flavor.h' line='41' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void ()* rcu_flavor_struct::read_unlock -->
-        <var-decl name='read_unlock' type-id='type-id-16' visibility='default' filepath='../src/urcu-flavor.h' line='42' column='1'/>
+        <var-decl name='read_unlock' type-id='type-id-10' visibility='default' filepath='../src/urcu-flavor.h' line='42' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- int ()* rcu_flavor_struct::read_ongoing -->
-        <var-decl name='read_ongoing' type-id='type-id-17' visibility='default' filepath='../src/urcu-flavor.h' line='43' column='1'/>
+        <var-decl name='read_ongoing' type-id='type-id-11' visibility='default' filepath='../src/urcu-flavor.h' line='43' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- void ()* rcu_flavor_struct::read_quiescent_state -->
-        <var-decl name='read_quiescent_state' type-id='type-id-16' visibility='default' filepath='../src/urcu-flavor.h' line='44' column='1'/>
+        <var-decl name='read_quiescent_state' type-id='type-id-10' visibility='default' filepath='../src/urcu-flavor.h' line='44' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- void (rcu_head*, void (rcu_head*)*)* rcu_flavor_struct::update_call_rcu -->
-        <var-decl name='update_call_rcu' type-id='type-id-18' visibility='default' filepath='../src/urcu-flavor.h' line='45' column='1'/>
+        <var-decl name='update_call_rcu' type-id='type-id-12' visibility='default' filepath='../src/urcu-flavor.h' line='45' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
         <!-- void ()* rcu_flavor_struct::update_synchronize_rcu -->
-        <var-decl name='update_synchronize_rcu' type-id='type-id-16' visibility='default' filepath='../src/urcu-flavor.h' line='47' column='1'/>
+        <var-decl name='update_synchronize_rcu' type-id='type-id-10' visibility='default' filepath='../src/urcu-flavor.h' line='47' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='384'>
         <!-- void (void (void*)*, void*)* rcu_flavor_struct::update_defer_rcu -->
-        <var-decl name='update_defer_rcu' type-id='type-id-19' visibility='default' filepath='../src/urcu-flavor.h' line='48' column='1'/>
+        <var-decl name='update_defer_rcu' type-id='type-id-13' visibility='default' filepath='../src/urcu-flavor.h' line='48' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='448'>
         <!-- void ()* rcu_flavor_struct::thread_offline -->
-        <var-decl name='thread_offline' type-id='type-id-16' visibility='default' filepath='../src/urcu-flavor.h' line='50' column='1'/>
+        <var-decl name='thread_offline' type-id='type-id-10' visibility='default' filepath='../src/urcu-flavor.h' line='50' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='512'>
         <!-- void ()* rcu_flavor_struct::thread_online -->
-        <var-decl name='thread_online' type-id='type-id-16' visibility='default' filepath='../src/urcu-flavor.h' line='51' column='1'/>
+        <var-decl name='thread_online' type-id='type-id-10' visibility='default' filepath='../src/urcu-flavor.h' line='51' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='576'>
         <!-- void ()* rcu_flavor_struct::register_thread -->
-        <var-decl name='register_thread' type-id='type-id-16' visibility='default' filepath='../src/urcu-flavor.h' line='52' column='1'/>
+        <var-decl name='register_thread' type-id='type-id-10' visibility='default' filepath='../src/urcu-flavor.h' line='52' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='640'>
         <!-- void ()* rcu_flavor_struct::unregister_thread -->
-        <var-decl name='unregister_thread' type-id='type-id-16' visibility='default' filepath='../src/urcu-flavor.h' line='53' column='1'/>
+        <var-decl name='unregister_thread' type-id='type-id-10' visibility='default' filepath='../src/urcu-flavor.h' line='53' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='704'>
         <!-- void ()* rcu_flavor_struct::barrier -->
-        <var-decl name='barrier' type-id='type-id-16' visibility='default' filepath='../src/urcu-flavor.h' line='55' column='1'/>
+        <var-decl name='barrier' type-id='type-id-10' visibility='default' filepath='../src/urcu-flavor.h' line='55' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='768'>
         <!-- void (urcu_atfork*)* rcu_flavor_struct::register_rculfhash_atfork -->
-        <var-decl name='register_rculfhash_atfork' type-id='type-id-20' visibility='default' filepath='../src/urcu-flavor.h' line='57' column='1'/>
+        <var-decl name='register_rculfhash_atfork' type-id='type-id-14' visibility='default' filepath='../src/urcu-flavor.h' line='57' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='832'>
         <!-- void (urcu_atfork*)* rcu_flavor_struct::unregister_rculfhash_atfork -->
-        <var-decl name='unregister_rculfhash_atfork' type-id='type-id-20' visibility='default' filepath='../src/urcu-flavor.h' line='58' column='1'/>
+        <var-decl name='unregister_rculfhash_atfork' type-id='type-id-14' visibility='default' filepath='../src/urcu-flavor.h' line='58' column='1'/>
       </data-member>
     </class-decl>
+    <!-- void -->
+    <type-decl name='void' id='type-id-15'/>
+    <!-- void ()* -->
+    <pointer-type-def type-id='type-id-16' size-in-bits='64' id='type-id-10'/>
+    <!-- int ()* -->
+    <pointer-type-def type-id='type-id-17' size-in-bits='64' id='type-id-11'/>
     <!-- struct rcu_head -->
-    <class-decl name='rcu_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../src/urcu-call-rcu.h' line='59' column='1' id='type-id-21'>
+    <class-decl name='rcu_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../src/urcu-call-rcu.h' line='59' column='1' id='type-id-18'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node rcu_head::next -->
-        <var-decl name='next' type-id='type-id-22' visibility='default' filepath='../src/urcu-call-rcu.h' line='60' column='1'/>
+        <var-decl name='next' type-id='type-id-19' visibility='default' filepath='../src/urcu-call-rcu.h' line='60' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void (rcu_head*)* rcu_head::func -->
-        <var-decl name='func' type-id='type-id-23' visibility='default' filepath='../src/urcu-call-rcu.h' line='61' column='1'/>
+        <var-decl name='func' type-id='type-id-20' visibility='default' filepath='../src/urcu-call-rcu.h' line='61' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_node -->
-    <class-decl name='cds_wfcq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='59' column='1' id='type-id-22'>
+    <class-decl name='cds_wfcq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='59' column='1' id='type-id-19'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node* cds_wfcq_node::next -->
-        <var-decl name='next' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='60' column='1'/>
+        <var-decl name='next' type-id='type-id-21' visibility='default' filepath='../include/urcu/wfcqueue.h' line='60' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_wfcq_node* -->
+    <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-21'/>
+    <!-- rcu_head* -->
+    <pointer-type-def type-id='type-id-18' size-in-bits='64' id='type-id-22'/>
+    <!-- void (rcu_head*)* -->
+    <pointer-type-def type-id='type-id-23' size-in-bits='64' id='type-id-20'/>
+    <!-- void (rcu_head*, void (rcu_head*)*)* -->
+    <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-12'/>
+    <!-- void* -->
+    <pointer-type-def type-id='type-id-15' size-in-bits='64' id='type-id-25'/>
+    <!-- void (void*)* -->
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-27'/>
+    <!-- void (void (void*)*, void*)* -->
+    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-13'/>
     <!-- struct urcu_atfork -->
-    <class-decl name='urcu_atfork' size-in-bits='256' is-struct='yes' visibility='default' filepath='../src/urcu-flavor.h' line='30' column='1' id='type-id-25'>
+    <class-decl name='urcu_atfork' size-in-bits='256' is-struct='yes' visibility='default' filepath='../src/urcu-flavor.h' line='30' column='1' id='type-id-29'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- void (void*)* urcu_atfork::before_fork -->
-        <var-decl name='before_fork' type-id='type-id-26' visibility='default' filepath='../src/urcu-flavor.h' line='31' column='1'/>
+        <var-decl name='before_fork' type-id='type-id-27' visibility='default' filepath='../src/urcu-flavor.h' line='31' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void (void*)* urcu_atfork::after_fork_parent -->
-        <var-decl name='after_fork_parent' type-id='type-id-26' visibility='default' filepath='../src/urcu-flavor.h' line='32' column='1'/>
+        <var-decl name='after_fork_parent' type-id='type-id-27' visibility='default' filepath='../src/urcu-flavor.h' line='32' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- void (void*)* urcu_atfork::after_fork_child -->
-        <var-decl name='after_fork_child' type-id='type-id-26' visibility='default' filepath='../src/urcu-flavor.h' line='33' column='1'/>
+        <var-decl name='after_fork_child' type-id='type-id-27' visibility='default' filepath='../src/urcu-flavor.h' line='33' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- void* urcu_atfork::priv -->
-        <var-decl name='priv' type-id='type-id-27' visibility='default' filepath='../src/urcu-flavor.h' line='34' column='1'/>
+        <var-decl name='priv' type-id='type-id-25' visibility='default' filepath='../src/urcu-flavor.h' line='34' column='1'/>
       </data-member>
     </class-decl>
+    <!-- urcu_atfork* -->
+    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-30'/>
+    <!-- void (urcu_atfork*)* -->
+    <pointer-type-def type-id='type-id-31' size-in-bits='64' id='type-id-14'/>
+    <!-- const rcu_flavor_struct -->
+    <qualified-type-def type-id='type-id-9' const='yes' id='type-id-32'/>
+    <!-- const rcu_flavor_struct rcu_flavor_bp -->
+    <var-decl name='rcu_flavor_bp' type-id='type-id-32' mangled-name='rcu_flavor_bp' visibility='default' filepath='../src/urcu-flavor.h' line='79' column='1' elf-symbol-id='rcu_flavor_bp'/>
+    <!-- void rcu_defer_exit_bp() -->
+    <function-decl name='rcu_defer_exit_bp' mangled-name='rcu_defer_exit_bp' filepath='src/urcu-defer-impl.h' line='466' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_exit_bp'>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <!-- void rcu_defer_unregister_thread_bp() -->
+    <function-decl name='rcu_defer_unregister_thread_bp' mangled-name='rcu_defer_unregister_thread_bp' filepath='src/urcu-defer-impl.h' line='448' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_unregister_thread_bp'>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <!-- int rcu_defer_register_thread_bp() -->
+    <function-decl name='rcu_defer_register_thread_bp' mangled-name='rcu_defer_register_thread_bp' filepath='src/urcu-defer-impl.h' line='426' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_register_thread_bp'>
+      <!-- int -->
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <!-- void defer_rcu_bp(void (void*)*, void*) -->
+    <function-decl name='defer_rcu_bp' mangled-name='defer_rcu_bp' filepath='src/urcu-defer-impl.h' line='395' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='defer_rcu_bp'>
+      <!-- parameter of type 'void (void*)*' -->
+      <parameter type-id='type-id-27' name='fct' filepath='src/urcu-defer-impl.h' line='395' column='1'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-25' name='p' filepath='src/urcu-defer-impl.h' line='395' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <!-- void rcu_defer_barrier_bp() -->
+    <function-decl name='rcu_defer_barrier_bp' mangled-name='rcu_defer_barrier_bp' filepath='src/urcu-defer-impl.h' line='281' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_barrier_bp'>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <!-- void rcu_defer_barrier_thread_bp() -->
+    <function-decl name='rcu_defer_barrier_thread_bp' mangled-name='rcu_defer_barrier_thread_bp' filepath='src/urcu-defer-impl.h' line='261' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_barrier_thread_bp'>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <!-- void urcu_unregister_rculfhash_atfork_bp(urcu_atfork*) -->
+    <function-decl name='urcu_unregister_rculfhash_atfork_bp' mangled-name='urcu_unregister_rculfhash_atfork_bp' filepath='src/urcu-call-rcu-impl.h' line='1011' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_unregister_rculfhash_atfork_bp'>
+      <!-- parameter of type 'urcu_atfork*' -->
+      <parameter type-id='type-id-30' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1011' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <!-- void urcu_register_rculfhash_atfork_bp(urcu_atfork*) -->
+    <function-decl name='urcu_register_rculfhash_atfork_bp' mangled-name='urcu_register_rculfhash_atfork_bp' filepath='src/urcu-call-rcu-impl.h' line='1001' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_register_rculfhash_atfork_bp'>
+      <!-- parameter of type 'urcu_atfork*' -->
+      <parameter type-id='type-id-30' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1011' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <!-- void call_rcu_after_fork_child_bp() -->
+    <function-decl name='call_rcu_after_fork_child_bp' mangled-name='call_rcu_after_fork_child_bp' filepath='src/urcu-call-rcu-impl.h' line='959' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_after_fork_child_bp'>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <!-- void call_rcu_after_fork_parent_bp() -->
+    <function-decl name='call_rcu_after_fork_parent_bp' mangled-name='call_rcu_after_fork_parent_bp' filepath='src/urcu-call-rcu-impl.h' line='937' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_after_fork_parent_bp'>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <!-- void call_rcu_before_fork_bp() -->
+    <function-decl name='call_rcu_before_fork_bp' mangled-name='call_rcu_before_fork_bp' filepath='src/urcu-call-rcu-impl.h' line='910' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_before_fork_bp'>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <!-- void rcu_barrier_bp() -->
+    <function-decl name='rcu_barrier_bp' mangled-name='rcu_barrier_bp' filepath='src/urcu-call-rcu-impl.h' line='839' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_barrier_bp'>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <!-- void free_all_cpu_call_rcu_data_bp() -->
+    <function-decl name='free_all_cpu_call_rcu_data_bp' mangled-name='free_all_cpu_call_rcu_data_bp' filepath='src/urcu-call-rcu-impl.h' line='776' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='free_all_cpu_call_rcu_data_bp'>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
     <!-- struct call_rcu_data -->
-    <class-decl name='call_rcu_data' size-in-bits='1024' is-struct='yes' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='52' column='1' id='type-id-28'>
+    <class-decl name='call_rcu_data' size-in-bits='1024' is-struct='yes' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='52' column='1' id='type-id-33'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_tail call_rcu_data::cbs_tail -->
-        <var-decl name='cbs_tail' type-id='type-id-29' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='60' column='1'/>
+        <var-decl name='cbs_tail' type-id='type-id-34' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='60' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- cds_wfcq_head call_rcu_data::cbs_head -->
-        <var-decl name='cbs_head' type-id='type-id-30' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='61' column='1'/>
+        <var-decl name='cbs_head' type-id='type-id-35' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='61' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='448'>
         <!-- unsigned long int call_rcu_data::flags -->
       </data-member>
       <data-member access='public' layout-offset-in-bits='512'>
         <!-- int32_t call_rcu_data::futex -->
-        <var-decl name='futex' type-id='type-id-31' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='63' column='1'/>
+        <var-decl name='futex' type-id='type-id-36' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='63' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='576'>
         <!-- unsigned long int call_rcu_data::qlen -->
       </data-member>
       <data-member access='public' layout-offset-in-bits='640'>
         <!-- pthread_t call_rcu_data::tid -->
-        <var-decl name='tid' type-id='type-id-13' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='65' column='1'/>
+        <var-decl name='tid' type-id='type-id-6' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='65' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='704'>
         <!-- int call_rcu_data::cpu_affinity -->
-        <var-decl name='cpu_affinity' type-id='type-id-5' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='66' column='1'/>
+        <var-decl name='cpu_affinity' type-id='type-id-1' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='66' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='768'>
         <!-- unsigned long int call_rcu_data::gp_count -->
       </data-member>
       <data-member access='public' layout-offset-in-bits='832'>
         <!-- cds_list_head call_rcu_data::list -->
-        <var-decl name='list' type-id='type-id-12' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='68' column='1'/>
+        <var-decl name='list' type-id='type-id-5' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='68' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_tail -->
-    <class-decl name='cds_wfcq_tail' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='127' column='1' id='type-id-29'>
+    <class-decl name='cds_wfcq_tail' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='127' column='1' id='type-id-34'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node* cds_wfcq_tail::p -->
-        <var-decl name='p' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='128' column='1'/>
+        <var-decl name='p' type-id='type-id-21' visibility='default' filepath='../include/urcu/wfcqueue.h' line='128' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_head -->
-    <class-decl name='cds_wfcq_head' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='72' column='1' id='type-id-30'>
+    <class-decl name='cds_wfcq_head' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='72' column='1' id='type-id-35'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node cds_wfcq_head::node -->
-        <var-decl name='node' type-id='type-id-22' visibility='default' filepath='../include/urcu/wfcqueue.h' line='73' column='1'/>
+        <var-decl name='node' type-id='type-id-19' visibility='default' filepath='../include/urcu/wfcqueue.h' line='73' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- pthread_mutex_t cds_wfcq_head::lock -->
-        <var-decl name='lock' type-id='type-id-32' visibility='default' filepath='../include/urcu/wfcqueue.h' line='74' column='1'/>
+        <var-decl name='lock' type-id='type-id-37' visibility='default' filepath='../include/urcu/wfcqueue.h' line='74' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __anonymous_union__ pthread_mutex_t -->
-    <typedef-decl name='pthread_mutex_t' type-id='type-id-33' filepath='/usr/include/bits/pthreadtypes.h' line='72' column='1' id='type-id-32'/>
-    <!-- union {__pthread_mutex_s __data; char __size[40]; long int __align;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='67' column='1' id='type-id-33'>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='67' column='1' id='type-id-38'>
       <data-member access='private'>
-        <!-- __pthread_mutex_s __data -->
-        <var-decl name='__data' type-id='type-id-34' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='69' column='1'/>
+        <!-- __pthread_mutex_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-39' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='69' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- char __size[40] -->
-        <var-decl name='__size' type-id='type-id-2' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='70' column='1'/>
+        <!-- char __anonymous_union__::__size[40] -->
+        <var-decl name='__size' type-id='type-id-40' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='70' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- long int __align -->
-        <var-decl name='__align' type-id='type-id-6' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='71' column='1'/>
+        <!-- long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-41' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='71' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __pthread_mutex_s -->
-    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='22' column='1' id='type-id-34'>
+    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='118' column='1' id='type-id-39'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- int __pthread_mutex_s::__lock -->
-        <var-decl name='__lock' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='24' column='1'/>
+        <var-decl name='__lock' type-id='type-id-1' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='120' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='32'>
         <!-- unsigned int __pthread_mutex_s::__count -->
-        <var-decl name='__count' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='25' column='1'/>
+        <var-decl name='__count' type-id='type-id-42' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='121' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- int __pthread_mutex_s::__owner -->
-        <var-decl name='__owner' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='26' column='1'/>
+        <var-decl name='__owner' type-id='type-id-1' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='122' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='96'>
         <!-- unsigned int __pthread_mutex_s::__nusers -->
-        <var-decl name='__nusers' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='28' column='1'/>
+        <var-decl name='__nusers' type-id='type-id-42' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='124' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- int __pthread_mutex_s::__kind -->
-        <var-decl name='__kind' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='32' column='1'/>
+        <var-decl name='__kind' type-id='type-id-1' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='148' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='160'>
         <!-- short int __pthread_mutex_s::__spins -->
-        <var-decl name='__spins' type-id='type-id-7' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='34' column='1'/>
+        <var-decl name='__spins' type-id='type-id-43' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='176'>
         <!-- short int __pthread_mutex_s::__elision -->
-        <var-decl name='__elision' type-id='type-id-7' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='35' column='1'/>
+        <var-decl name='__elision' type-id='type-id-43' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- __pthread_list_t __pthread_mutex_s::__list -->
-        <var-decl name='__list' type-id='type-id-35' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='36' column='1'/>
+        <var-decl name='__list' type-id='type-id-44' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='155' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __pthread_internal_list __pthread_list_t -->
-    <typedef-decl name='__pthread_list_t' type-id='type-id-36' filepath='/usr/include/bits/thread-shared-types.h' line='53' column='1' id='type-id-35'/>
+    <!-- unsigned int -->
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-42'/>
+    <!-- short int -->
+    <type-decl name='short int' size-in-bits='16' id='type-id-43'/>
     <!-- struct __pthread_internal_list -->
-    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='49' column='1' id='type-id-36'>
+    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='82' column='1' id='type-id-45'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- __pthread_internal_list* __pthread_internal_list::__prev -->
-        <var-decl name='__prev' type-id='type-id-37' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='51' column='1'/>
+        <var-decl name='__prev' type-id='type-id-46' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='84' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- __pthread_internal_list* __pthread_internal_list::__next -->
-        <var-decl name='__next' type-id='type-id-37' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='52' column='1'/>
+        <var-decl name='__next' type-id='type-id-46' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='85' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __int32_t int32_t -->
-    <typedef-decl name='int32_t' type-id='type-id-38' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-31'/>
-    <!-- typedef int __int32_t -->
-    <typedef-decl name='__int32_t' type-id='type-id-5' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-38'/>
     <!-- __pthread_internal_list* -->
-    <pointer-type-def type-id='type-id-36' size-in-bits='64' id='type-id-37'/>
+    <pointer-type-def type-id='type-id-45' size-in-bits='64' id='type-id-46'/>
+    <!-- typedef __pthread_internal_list __pthread_list_t -->
+    <typedef-decl name='__pthread_list_t' type-id='type-id-45' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='86' column='1' id='type-id-44'/>
+    <!-- char -->
+    <type-decl name='char' size-in-bits='8' id='type-id-47'/>
+
+    <!-- char[40] -->
+    <array-type-def dimensions='1' type-id='type-id-47' size-in-bits='320' id='type-id-40'>
+      <!-- <anonymous range>[40] -->
+      <subrange length='40' type-id='type-id-3' id='type-id-48'/>
+
+    </array-type-def>
+    <!-- long int -->
+    <type-decl name='long int' size-in-bits='64' id='type-id-41'/>
+    <!-- typedef __anonymous_union__ pthread_mutex_t -->
+    <typedef-decl name='pthread_mutex_t' type-id='type-id-38' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='72' column='1' id='type-id-37'/>
+    <!-- typedef int __int32_t -->
+    <typedef-decl name='__int32_t' type-id='type-id-1' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='40' column='1' id='type-id-49'/>
+    <!-- typedef __int32_t int32_t -->
+    <typedef-decl name='int32_t' type-id='type-id-49' filepath='/usr/include/x86_64-linux-gnu/bits/stdint-intn.h' line='26' column='1' id='type-id-36'/>
     <!-- call_rcu_data* -->
-    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-39'/>
-    <!-- cds_list_head* -->
-    <pointer-type-def type-id='type-id-12' size-in-bits='64' id='type-id-14'/>
-    <!-- cds_wfcq_node* -->
-    <pointer-type-def type-id='type-id-22' size-in-bits='64' id='type-id-24'/>
-    <!-- const rcu_flavor_struct -->
-    <qualified-type-def type-id='type-id-15' const='yes' id='type-id-40'/>
-    <!-- int ()* -->
-    <pointer-type-def type-id='type-id-41' size-in-bits='64' id='type-id-17'/>
-    <!-- rcu_head* -->
-    <pointer-type-def type-id='type-id-21' size-in-bits='64' id='type-id-42'/>
-    <!-- rcu_reader_bp* -->
-    <pointer-type-def type-id='type-id-11' size-in-bits='64' id='type-id-43'/>
-    <!-- urcu_atfork* -->
-    <pointer-type-def type-id='type-id-25' size-in-bits='64' id='type-id-44'/>
-    <!-- void ()* -->
-    <pointer-type-def type-id='type-id-45' size-in-bits='64' id='type-id-16'/>
-    <!-- void (rcu_head*)* -->
-    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-23'/>
-    <!-- void (rcu_head*, void (rcu_head*)*)* -->
-    <pointer-type-def type-id='type-id-47' size-in-bits='64' id='type-id-18'/>
-    <!-- void (urcu_atfork*)* -->
-    <pointer-type-def type-id='type-id-48' size-in-bits='64' id='type-id-20'/>
-    <!-- void (void (void*)*, void*)* -->
-    <pointer-type-def type-id='type-id-49' size-in-bits='64' id='type-id-19'/>
-    <!-- void (void*)* -->
-    <pointer-type-def type-id='type-id-50' size-in-bits='64' id='type-id-26'/>
-    <!-- void* -->
-    <pointer-type-def type-id='type-id-9' size-in-bits='64' id='type-id-27'/>
-    <!-- void** -->
-    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-51'/>
-    <!-- int urcu_bp_has_sys_membarrier -->
-    <var-decl name='urcu_bp_has_sys_membarrier' type-id='type-id-5' mangled-name='urcu_bp_has_sys_membarrier' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='109' column='1' elf-symbol-id='urcu_bp_has_sys_membarrier'/>
-    <!-- rcu_gp_bp rcu_gp_bp -->
-    <var-decl name='rcu_gp_bp' type-id='type-id-10' mangled-name='rcu_gp_bp' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='88' column='1' elf-symbol-id='rcu_gp_bp'/>
-    <!-- rcu_reader_bp* rcu_reader_bp -->
-    <var-decl name='rcu_reader_bp' type-id='type-id-43' mangled-name='rcu_reader_bp' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='104' column='1' elf-symbol-id='rcu_reader_bp'/>
-    <!-- const rcu_flavor_struct rcu_flavor_bp -->
-    <var-decl name='rcu_flavor_bp' type-id='type-id-40' mangled-name='rcu_flavor_bp' visibility='default' filepath='../src/urcu-flavor.h' line='79' column='1' elf-symbol-id='rcu_flavor_bp'/>
-    <!-- void rcu_defer_exit_bp() -->
-    <function-decl name='rcu_defer_exit_bp' mangled-name='rcu_defer_exit_bp' filepath='src/urcu-defer-impl.h' line='466' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_exit_bp'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void rcu_defer_unregister_thread_bp() -->
-    <function-decl name='rcu_defer_unregister_thread_bp' mangled-name='rcu_defer_unregister_thread_bp' filepath='src/urcu-defer-impl.h' line='448' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_unregister_thread_bp'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- int rcu_defer_register_thread_bp() -->
-    <function-decl name='rcu_defer_register_thread_bp' mangled-name='rcu_defer_register_thread_bp' filepath='src/urcu-defer-impl.h' line='426' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_register_thread_bp'>
-      <!-- int -->
-      <return type-id='type-id-5'/>
-    </function-decl>
-    <!-- void defer_rcu_bp(void (void*)*, void*) -->
-    <function-decl name='defer_rcu_bp' mangled-name='defer_rcu_bp' filepath='src/urcu-defer-impl.h' line='395' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='defer_rcu_bp'>
-      <!-- parameter of type 'void (void*)*' -->
-      <parameter type-id='type-id-26' name='fct' filepath='src/urcu-defer-impl.h' line='395' column='1'/>
-      <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-27' name='p' filepath='src/urcu-defer-impl.h' line='395' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void rcu_defer_barrier_bp() -->
-    <function-decl name='rcu_defer_barrier_bp' mangled-name='rcu_defer_barrier_bp' filepath='src/urcu-defer-impl.h' line='281' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_barrier_bp'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void rcu_defer_barrier_thread_bp() -->
-    <function-decl name='rcu_defer_barrier_thread_bp' mangled-name='rcu_defer_barrier_thread_bp' filepath='src/urcu-defer-impl.h' line='261' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_barrier_thread_bp'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_unregister_rculfhash_atfork_bp(urcu_atfork*) -->
-    <function-decl name='urcu_unregister_rculfhash_atfork_bp' mangled-name='urcu_unregister_rculfhash_atfork_bp' filepath='src/urcu-call-rcu-impl.h' line='1011' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_unregister_rculfhash_atfork_bp'>
-      <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-44' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1011' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_register_rculfhash_atfork_bp(urcu_atfork*) -->
-    <function-decl name='urcu_register_rculfhash_atfork_bp' mangled-name='urcu_register_rculfhash_atfork_bp' filepath='src/urcu-call-rcu-impl.h' line='1001' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_register_rculfhash_atfork_bp'>
-      <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-44' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1001' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void call_rcu_after_fork_child_bp() -->
-    <function-decl name='call_rcu_after_fork_child_bp' mangled-name='call_rcu_after_fork_child_bp' filepath='src/urcu-call-rcu-impl.h' line='959' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_after_fork_child_bp'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void call_rcu_after_fork_parent_bp() -->
-    <function-decl name='call_rcu_after_fork_parent_bp' mangled-name='call_rcu_after_fork_parent_bp' filepath='src/urcu-call-rcu-impl.h' line='937' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_after_fork_parent_bp'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void call_rcu_before_fork_bp() -->
-    <function-decl name='call_rcu_before_fork_bp' mangled-name='call_rcu_before_fork_bp' filepath='src/urcu-call-rcu-impl.h' line='910' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_before_fork_bp'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void rcu_barrier_bp() -->
-    <function-decl name='rcu_barrier_bp' mangled-name='rcu_barrier_bp' filepath='src/urcu-call-rcu-impl.h' line='839' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_barrier_bp'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void free_all_cpu_call_rcu_data_bp() -->
-    <function-decl name='free_all_cpu_call_rcu_data_bp' mangled-name='free_all_cpu_call_rcu_data_bp' filepath='src/urcu-call-rcu-impl.h' line='776' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='free_all_cpu_call_rcu_data_bp'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
+    <pointer-type-def type-id='type-id-33' size-in-bits='64' id='type-id-50'/>
     <!-- void call_rcu_data_free_bp(call_rcu_data*) -->
     <function-decl name='call_rcu_data_free_bp' mangled-name='call_rcu_data_free_bp' filepath='src/urcu-call-rcu-impl.h' line='744' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_data_free_bp'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='744' column='1'/>
+      <parameter type-id='type-id-50' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='744' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-15'/>
     </function-decl>
     <!-- void call_rcu_bp(rcu_head*, void (rcu_head*)*) -->
     <function-decl name='call_rcu_bp' mangled-name='call_rcu_bp' filepath='src/urcu-call-rcu-impl.h' line='706' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_bp'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42' name='head' filepath='src/urcu-call-rcu-impl.h' line='706' column='1'/>
+      <parameter type-id='type-id-22' name='head' filepath='src/urcu-call-rcu-impl.h' line='706' column='1'/>
       <!-- parameter of type 'void (rcu_head*)*' -->
-      <parameter type-id='type-id-23' name='func' filepath='src/urcu-call-rcu-impl.h' line='707' column='1'/>
+      <parameter type-id='type-id-20' name='func' filepath='src/urcu-call-rcu-impl.h' line='707' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-15'/>
     </function-decl>
     <!-- int create_all_cpu_call_rcu_data_bp(unsigned long int) -->
     <function-decl name='create_all_cpu_call_rcu_data_bp' mangled-name='create_all_cpu_call_rcu_data_bp' filepath='src/urcu-call-rcu-impl.h' line='628' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='create_all_cpu_call_rcu_data_bp'>
       <!-- parameter of type 'unsigned long int' -->
       <parameter type-id='type-id-3' name='flags' filepath='src/urcu-call-rcu-impl.h' line='628' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
     </function-decl>
     <!-- void set_thread_call_rcu_data_bp(call_rcu_data*) -->
     <function-decl name='set_thread_call_rcu_data_bp' mangled-name='set_thread_call_rcu_data_bp' filepath='src/urcu-call-rcu-impl.h' line='615' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='set_thread_call_rcu_data_bp'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='615' column='1'/>
+      <parameter type-id='type-id-50' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='615' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-15'/>
     </function-decl>
     <!-- call_rcu_data* get_thread_call_rcu_data_bp() -->
     <function-decl name='get_thread_call_rcu_data_bp' mangled-name='get_thread_call_rcu_data_bp' filepath='src/urcu-call-rcu-impl.h' line='599' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_thread_call_rcu_data_bp'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-50'/>
     </function-decl>
     <!-- call_rcu_data* get_call_rcu_data_bp() -->
     <function-decl name='get_call_rcu_data_bp' mangled-name='get_call_rcu_data_bp' filepath='src/urcu-call-rcu-impl.h' line='579' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_call_rcu_data_bp'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-50'/>
     </function-decl>
     <!-- call_rcu_data* get_default_call_rcu_data_bp() -->
     <function-decl name='get_default_call_rcu_data_bp' mangled-name='get_default_call_rcu_data_bp' filepath='src/urcu-call-rcu-impl.h' line='554' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_default_call_rcu_data_bp'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-50'/>
     </function-decl>
     <!-- int set_cpu_call_rcu_data_bp(int, call_rcu_data*) -->
     <function-decl name='set_cpu_call_rcu_data_bp' mangled-name='set_cpu_call_rcu_data_bp' filepath='src/urcu-call-rcu-impl.h' line='515' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='set_cpu_call_rcu_data_bp'>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='515' column='1'/>
+      <parameter type-id='type-id-1' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='515' column='1'/>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='515' column='1'/>
+      <parameter type-id='type-id-50' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='515' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
     </function-decl>
     <!-- call_rcu_data* create_call_rcu_data_bp(unsigned long int, int) -->
     <function-decl name='create_call_rcu_data_bp' mangled-name='create_call_rcu_data_bp' filepath='src/urcu-call-rcu-impl.h' line='491' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='create_call_rcu_data_bp'>
       <!-- parameter of type 'unsigned long int' -->
       <parameter type-id='type-id-3' name='flags' filepath='src/urcu-call-rcu-impl.h' line='491' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu_affinity' filepath='src/urcu-call-rcu-impl.h' line='492' column='1'/>
+      <parameter type-id='type-id-1' name='cpu_affinity' filepath='src/urcu-call-rcu-impl.h' line='492' column='1'/>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-50'/>
     </function-decl>
     <!-- pthread_t get_call_rcu_thread_bp(call_rcu_data*) -->
     <function-decl name='get_call_rcu_thread_bp' mangled-name='get_call_rcu_thread_bp' filepath='src/urcu-call-rcu-impl.h' line='473' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_call_rcu_thread_bp'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='473' column='1'/>
+      <parameter type-id='type-id-50' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='473' column='1'/>
       <!-- typedef pthread_t -->
-      <return type-id='type-id-13'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- call_rcu_data* get_cpu_call_rcu_data_bp(int) -->
     <function-decl name='get_cpu_call_rcu_data_bp' mangled-name='get_cpu_call_rcu_data_bp' filepath='src/urcu-call-rcu-impl.h' line='451' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_cpu_call_rcu_data_bp'>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='451' column='1'/>
+      <parameter type-id='type-id-1' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='451' column='1'/>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-50'/>
     </function-decl>
+    <!-- void** -->
+    <pointer-type-def type-id='type-id-25' size-in-bits='64' id='type-id-51'/>
     <!-- void* rcu_cmpxchg_pointer_sym_bp(void**, void*, void*) -->
     <function-decl name='rcu_cmpxchg_pointer_sym_bp' mangled-name='rcu_cmpxchg_pointer_sym_bp' filepath='src/urcu-bp.c' line='732' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_cmpxchg_pointer_sym_bp'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-51' name='p' filepath='src/urcu-bp.c' line='732' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-27' name='old' filepath='src/urcu-bp.c' line='732' column='1'/>
+      <parameter type-id='type-id-25' name='old' filepath='src/urcu-bp.c' line='732' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-27' name='_new' filepath='src/urcu-bp.c' line='732' column='1'/>
+      <parameter type-id='type-id-25' name='_new' filepath='src/urcu-bp.c' line='732' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-27'/>
+      <return type-id='type-id-25'/>
     </function-decl>
     <!-- void* rcu_xchg_pointer_sym_bp(void**, void*) -->
     <function-decl name='rcu_xchg_pointer_sym_bp' mangled-name='rcu_xchg_pointer_sym_bp' filepath='src/urcu-bp.c' line='726' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_xchg_pointer_sym_bp'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-51' name='p' filepath='src/urcu-bp.c' line='726' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-27' name='v' filepath='src/urcu-bp.c' line='726' column='1'/>
+      <parameter type-id='type-id-25' name='v' filepath='src/urcu-bp.c' line='726' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-27'/>
+      <return type-id='type-id-25'/>
     </function-decl>
     <!-- void* rcu_set_pointer_sym_bp(void**, void*) -->
     <function-decl name='rcu_set_pointer_sym_bp' mangled-name='rcu_set_pointer_sym_bp' filepath='src/urcu-bp.c' line='719' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_set_pointer_sym_bp'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-51' name='p' filepath='src/urcu-bp.c' line='719' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-27' name='v' filepath='src/urcu-bp.c' line='719' column='1'/>
+      <parameter type-id='type-id-25' name='v' filepath='src/urcu-bp.c' line='719' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-27'/>
+      <return type-id='type-id-25'/>
     </function-decl>
     <!-- void* rcu_dereference_sym_bp(void*) -->
     <function-decl name='rcu_dereference_sym_bp' mangled-name='rcu_dereference_sym_bp' filepath='src/urcu-bp.c' line='714' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_dereference_sym_bp'>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-27' name='p' filepath='src/urcu-bp.c' line='714' column='1'/>
+      <parameter type-id='type-id-25' name='p' filepath='src/urcu-bp.c' line='714' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-27'/>
+      <return type-id='type-id-25'/>
     </function-decl>
     <!-- void rcu_bp_after_fork_child() -->
     <function-decl name='rcu_bp_after_fork_child' mangled-name='rcu_bp_after_fork_child' filepath='src/urcu-bp.c' line='701' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_bp_after_fork_child'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-15'/>
     </function-decl>
     <!-- void rcu_bp_after_fork_parent() -->
     <function-decl name='rcu_bp_after_fork_parent' mangled-name='rcu_bp_after_fork_parent' filepath='src/urcu-bp.c' line='666' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_bp_after_fork_parent'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-15'/>
     </function-decl>
     <!-- void rcu_bp_before_fork() -->
     <function-decl name='rcu_bp_before_fork' mangled-name='rcu_bp_before_fork' filepath='src/urcu-bp.c' line='652' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_bp_before_fork'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-15'/>
     </function-decl>
     <!-- void rcu_bp_register() -->
     <function-decl name='rcu_bp_register' mangled-name='rcu_bp_register' filepath='src/urcu-bp.c' line='519' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_bp_register'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-15'/>
     </function-decl>
     <!-- int rcu_read_ongoing_bp() -->
     <function-decl name='rcu_read_ongoing_bp' mangled-name='rcu_read_ongoing_bp' filepath='src/urcu-bp.c' line='352' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_read_ongoing_bp'>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
     </function-decl>
     <!-- void rcu_read_unlock_bp() -->
     <function-decl name='rcu_read_unlock_bp' mangled-name='rcu_read_unlock_bp' filepath='src/urcu-bp.c' line='347' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_read_unlock_bp'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-15'/>
     </function-decl>
     <!-- void rcu_read_lock_bp() -->
     <function-decl name='rcu_read_lock_bp' mangled-name='rcu_read_lock_bp' filepath='src/urcu-bp.c' line='342' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_read_lock_bp'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-15'/>
     </function-decl>
     <!-- void synchronize_rcu_bp() -->
     <function-decl name='synchronize_rcu_bp' mangled-name='synchronize_rcu_bp' filepath='src/urcu-bp.c' line='259' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='synchronize_rcu_bp'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-15'/>
     </function-decl>
     <!-- int () -->
-    <function-type size-in-bits='64' id='type-id-41'>
+    <function-type size-in-bits='64' id='type-id-17'>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
     </function-type>
     <!-- void () -->
-    <function-type size-in-bits='64' id='type-id-45'>
+    <function-type size-in-bits='64' id='type-id-16'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-15'/>
     </function-type>
     <!-- void (rcu_head*) -->
-    <function-type size-in-bits='64' id='type-id-46'>
+    <function-type size-in-bits='64' id='type-id-23'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42'/>
+      <parameter type-id='type-id-22'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-15'/>
     </function-type>
     <!-- void (rcu_head*, void (rcu_head*)*) -->
-    <function-type size-in-bits='64' id='type-id-47'>
+    <function-type size-in-bits='64' id='type-id-24'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42'/>
+      <parameter type-id='type-id-22'/>
       <!-- parameter of type 'void (rcu_head*)*' -->
-      <parameter type-id='type-id-23'/>
+      <parameter type-id='type-id-20'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-15'/>
     </function-type>
     <!-- void (urcu_atfork*) -->
-    <function-type size-in-bits='64' id='type-id-48'>
+    <function-type size-in-bits='64' id='type-id-31'>
       <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-44'/>
+      <parameter type-id='type-id-30'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-15'/>
     </function-type>
     <!-- void (void (void*)*, void*) -->
-    <function-type size-in-bits='64' id='type-id-49'>
+    <function-type size-in-bits='64' id='type-id-28'>
       <!-- parameter of type 'void (void*)*' -->
-      <parameter type-id='type-id-26'/>
-      <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-27'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-25'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-15'/>
     </function-type>
     <!-- void (void*) -->
-    <function-type size-in-bits='64' id='type-id-50'>
+    <function-type size-in-bits='64' id='type-id-26'>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-27'/>
+      <parameter type-id='type-id-25'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-15'/>
     </function-type>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='urcu-pointer.c' comp-dir-path='src' language='LANG_C99'>
     <!-- void* rcu_cmpxchg_pointer_sym(void**, void*, void*) -->
     <function-decl name='rcu_cmpxchg_pointer_sym' mangled-name='rcu_cmpxchg_pointer_sym' filepath='src/urcu-pointer.c' line='53' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_cmpxchg_pointer_sym'>
       <!-- parameter of type 'void**' -->
-      <parameter type-id='type-id-51' name='p' filepath='src/urcu-pointer.c' line='53' column='1'/>
+      <parameter type-id='type-id-51' name='p' filepath='src/urcu-bp.c' line='732' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-27' name='old' filepath='src/urcu-pointer.c' line='53' column='1'/>
+      <parameter type-id='type-id-25' name='old' filepath='src/urcu-bp.c' line='732' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-27' name='_new' filepath='src/urcu-pointer.c' line='53' column='1'/>
+      <parameter type-id='type-id-25' name='_new' filepath='src/urcu-bp.c' line='732' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-27'/>
+      <return type-id='type-id-25'/>
     </function-decl>
     <!-- void* rcu_xchg_pointer_sym(void**, void*) -->
     <function-decl name='rcu_xchg_pointer_sym' mangled-name='rcu_xchg_pointer_sym' filepath='src/urcu-pointer.c' line='47' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_xchg_pointer_sym'>
       <!-- parameter of type 'void**' -->
-      <parameter type-id='type-id-51' name='p' filepath='src/urcu-pointer.c' line='47' column='1'/>
+      <parameter type-id='type-id-51' name='p' filepath='src/urcu-bp.c' line='726' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-27' name='v' filepath='src/urcu-pointer.c' line='47' column='1'/>
+      <parameter type-id='type-id-25' name='v' filepath='src/urcu-bp.c' line='726' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-27'/>
+      <return type-id='type-id-25'/>
     </function-decl>
     <!-- void* rcu_set_pointer_sym(void**, void*) -->
     <function-decl name='rcu_set_pointer_sym' mangled-name='rcu_set_pointer_sym' filepath='src/urcu-pointer.c' line='40' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_set_pointer_sym'>
       <!-- parameter of type 'void**' -->
-      <parameter type-id='type-id-51' name='p' filepath='src/urcu-pointer.c' line='40' column='1'/>
+      <parameter type-id='type-id-51' name='p' filepath='src/urcu-bp.c' line='719' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-27' name='v' filepath='src/urcu-pointer.c' line='40' column='1'/>
+      <parameter type-id='type-id-25' name='v' filepath='src/urcu-bp.c' line='719' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-27'/>
+      <return type-id='type-id-25'/>
     </function-decl>
     <!-- void* rcu_dereference_sym(void*) -->
     <function-decl name='rcu_dereference_sym' mangled-name='rcu_dereference_sym' filepath='src/urcu-pointer.c' line='35' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_dereference_sym'>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-27' name='p' filepath='src/urcu-pointer.c' line='35' column='1'/>
+      <parameter type-id='type-id-25' name='p' filepath='src/urcu-bp.c' line='714' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-27'/>
+      <return type-id='type-id-25'/>
     </function-decl>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='compat_futex.c' comp-dir-path='src' language='LANG_C99'>
-
-
-    <!-- char[48] -->
-    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='384' id='type-id-52'>
-      <!-- <anonymous range>[48] -->
-      <subrange length='48' type-id='type-id-3' id='type-id-53'/>
-
-    </array-type-def>
-    <!-- long long int -->
-    <type-decl name='long long int' size-in-bits='64' id='type-id-54'/>
-    <!-- long long unsigned int -->
-    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-55'/>
-    <!-- unsigned int[2] -->
-    <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='64' id='type-id-56'>
-      <!-- <anonymous range>[2] -->
-      <subrange length='2' type-id='type-id-3' id='type-id-57'/>
-
-    </array-type-def>
-    <!-- typedef __anonymous_union__ pthread_cond_t -->
-    <typedef-decl name='pthread_cond_t' type-id='type-id-58' filepath='/usr/include/bits/pthreadtypes.h' line='80' column='1' id='type-id-59'/>
-    <!-- union {__pthread_cond_s __data; char __size[48]; long long int __align;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='75' column='1' id='type-id-58'>
+    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
+    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-37' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='75' column='1' id='type-id-52'>
       <data-member access='private'>
-        <!-- __pthread_cond_s __data -->
-        <var-decl name='__data' type-id='type-id-60' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='77' column='1'/>
+        <!-- __pthread_cond_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-53' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='77' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- char __size[48] -->
-        <var-decl name='__size' type-id='type-id-52' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='78' column='1'/>
+        <!-- char __anonymous_union__::__size[48] -->
+        <var-decl name='__size' type-id='type-id-54' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='78' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- long long int __align -->
-        <var-decl name='__align' type-id='type-id-54' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='79' column='1'/>
+        <!-- long long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-55' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='79' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __pthread_cond_s -->
-    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='92' column='1' id='type-id-60'>
+    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='171' column='1' id='type-id-53'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <!-- union {long long unsigned int __wseq; struct {unsigned int __low; unsigned int __high;} __wseq32;} -->
-        <var-decl name='' type-id='type-id-61' visibility='default'/>
+        <!-- __anonymous_union__  -->
+        <var-decl name='' type-id='type-id-56' visibility='default'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- unsigned int __pthread_cond_s::__g_refs[2] -->
-        <var-decl name='__g_refs' type-id='type-id-56' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='112' column='1'/>
+        <var-decl name='__g_refs' type-id='type-id-57' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='191' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- unsigned int __pthread_cond_s::__g_size[2] -->
-        <var-decl name='__g_size' type-id='type-id-56' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='113' column='1'/>
+        <var-decl name='__g_size' type-id='type-id-57' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='192' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- unsigned int __pthread_cond_s::__g1_orig_size -->
-        <var-decl name='__g1_orig_size' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='114' column='1'/>
+        <var-decl name='__g1_orig_size' type-id='type-id-42' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='193' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='288'>
         <!-- unsigned int __pthread_cond_s::__wrefs -->
-        <var-decl name='__wrefs' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='115' column='1'/>
+        <var-decl name='__wrefs' type-id='type-id-42' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='194' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
         <!-- unsigned int __pthread_cond_s::__g_signals[2] -->
-        <var-decl name='__g_signals' type-id='type-id-56' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='116' column='1'/>
+        <var-decl name='__g_signals' type-id='type-id-57' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='195' column='1'/>
       </data-member>
     </class-decl>
-    <!-- union {long long unsigned int __wseq; struct {unsigned int __low; unsigned int __high;} __wseq32;} -->
-    <union-decl name='__anonymous_union__1' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='94' column='1' id='type-id-61'>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='173' column='1' id='type-id-56'>
       <data-member access='private'>
-        <!-- long long unsigned int __wseq -->
-        <var-decl name='__wseq' type-id='type-id-55' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='96' column='1'/>
+        <!-- long long unsigned int __anonymous_union__::__wseq -->
+        <var-decl name='__wseq' type-id='type-id-58' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='175' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- struct {unsigned int __low; unsigned int __high;} __wseq32 -->
-        <var-decl name='__wseq32' type-id='type-id-62' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='101' column='1'/>
+        <!-- __anonymous_struct__ __anonymous_union__::__wseq32 -->
+        <var-decl name='__wseq32' type-id='type-id-59' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='180' column='1'/>
       </data-member>
     </union-decl>
-    <!-- struct {unsigned int __low; unsigned int __high;} -->
-    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='97' column='1' id='type-id-62'>
+    <!-- long long unsigned int -->
+    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-58'/>
+    <!-- struct __anonymous_struct__ -->
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='176' column='1' id='type-id-59'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <!-- unsigned int __low -->
-        <var-decl name='__low' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='99' column='1'/>
+        <!-- unsigned int __anonymous_struct__::__low -->
+        <var-decl name='__low' type-id='type-id-42' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='178' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='32'>
-        <!-- unsigned int __high -->
-        <var-decl name='__high' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='100' column='1'/>
+        <!-- unsigned int __anonymous_struct__::__high -->
+        <var-decl name='__high' type-id='type-id-42' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='179' column='1'/>
       </data-member>
     </class-decl>
+
+    <!-- unsigned int[2] -->
+    <array-type-def dimensions='1' type-id='type-id-42' size-in-bits='64' id='type-id-57'>
+      <!-- <anonymous range>[2] -->
+      <subrange length='2' type-id='type-id-3' id='type-id-60'/>
+
+    </array-type-def>
+
+    <!-- char[48] -->
+    <array-type-def dimensions='1' type-id='type-id-47' size-in-bits='384' id='type-id-54'>
+      <!-- <anonymous range>[48] -->
+      <subrange length='48' type-id='type-id-3' id='type-id-61'/>
+
+    </array-type-def>
+    <!-- long long int -->
+    <type-decl name='long long int' size-in-bits='64' id='type-id-55'/>
+    <!-- typedef __anonymous_union__ pthread_cond_t -->
+    <typedef-decl name='pthread_cond_t' type-id='type-id-52' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='80' column='1' id='type-id-62'/>
+    <!-- pthread_cond_t __urcu_compat_futex_cond -->
+    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-62' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
+    <!-- int32_t* -->
+    <pointer-type-def type-id='type-id-36' size-in-bits='64' id='type-id-63'/>
     <!-- struct timespec -->
-    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='10' column='1' id='type-id-63'>
+    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='9' column='1' id='type-id-64'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- __time_t timespec::tv_sec -->
-        <var-decl name='tv_sec' type-id='type-id-64' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='12' column='1'/>
+        <var-decl name='tv_sec' type-id='type-id-65' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='11' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- __syscall_slong_t timespec::tv_nsec -->
-        <var-decl name='tv_nsec' type-id='type-id-65' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='16' column='1'/>
+        <var-decl name='tv_nsec' type-id='type-id-66' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='12' column='1'/>
       </data-member>
     </class-decl>
     <!-- typedef long int __time_t -->
-    <typedef-decl name='__time_t' type-id='type-id-6' filepath='/usr/include/bits/types.h' line='160' column='1' id='type-id-64'/>
+    <typedef-decl name='__time_t' type-id='type-id-41' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='148' column='1' id='type-id-65'/>
     <!-- typedef long int __syscall_slong_t -->
-    <typedef-decl name='__syscall_slong_t' type-id='type-id-6' filepath='/usr/include/bits/types.h' line='197' column='1' id='type-id-65'/>
+    <typedef-decl name='__syscall_slong_t' type-id='type-id-41' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='184' column='1' id='type-id-66'/>
     <!-- const timespec -->
-    <qualified-type-def type-id='type-id-63' const='yes' id='type-id-66'/>
+    <qualified-type-def type-id='type-id-64' const='yes' id='type-id-67'/>
     <!-- const timespec* -->
-    <pointer-type-def type-id='type-id-66' size-in-bits='64' id='type-id-67'/>
-    <!-- int32_t* -->
-    <pointer-type-def type-id='type-id-31' size-in-bits='64' id='type-id-68'/>
-    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
-    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-32' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
-    <!-- pthread_cond_t __urcu_compat_futex_cond -->
-    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-59' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
+    <pointer-type-def type-id='type-id-67' size-in-bits='64' id='type-id-68'/>
     <!-- int compat_futex_async(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
     <function-decl name='compat_futex_async' mangled-name='compat_futex_async' filepath='src/compat_futex.c' line='118' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_async'>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-68' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-63' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-1' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-31' name='val' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-36' name='val' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'const timespec*' -->
-      <parameter type-id='type-id-67' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-68' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-68' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-63' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-31' name='val3' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-36' name='val3' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
     </function-decl>
     <!-- int compat_futex_noasync(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
     <function-decl name='compat_futex_noasync' mangled-name='compat_futex_noasync' filepath='src/compat_futex.c' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_noasync'>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-68' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-63' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-1' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-31' name='val' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-36' name='val' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'const timespec*' -->
-      <parameter type-id='type-id-67' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-68' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-68' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-63' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-31' name='val3' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-36' name='val3' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
     </function-decl>
   </abi-instr>
 </abi-corpus>
index 681e7e642aa8664cf9b12ac9c2704e449eb2af1d..fa9cb0079e1ffa91086947d27502a83d63524806 100644 (file)
@@ -1,6 +1,5 @@
 <abi-corpus architecture='elf-amd-x86_64' soname='liburcu-cds.so.6'>
   <elf-needed>
-    <dependency name='liburcu-common.so.6'/>
     <dependency name='libpthread.so.0'/>
     <dependency name='libc.so.6'/>
   </elf-needed>
     <elf-symbol name='__cds_lfs_pop_all' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- _cds_lfht_new -->
     <elf-symbol name='_cds_lfht_new' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- _fini -->
+    <elf-symbol name='_fini' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- _init -->
+    <elf-symbol name='_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- cds_lfht_add -->
     <elf-symbol name='cds_lfht_add' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- cds_lfht_add_replace -->
     <elf-symbol name='cds_lfht_mm_order' size='32' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
   </elf-variable-symbols>
   <abi-instr version='1.0' address-size='64' path='rculfqueue.c' comp-dir-path='src' language='LANG_C99'>
-    <!-- int -->
-    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
-    <!-- void -->
-    <type-decl name='void' id='type-id-2'/>
     <!-- struct cds_lfq_node_rcu -->
-    <class-decl name='cds_lfq_node_rcu' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/rculfqueue.h' line='35' column='1' id='type-id-3'>
+    <class-decl name='cds_lfq_node_rcu' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/rculfqueue.h' line='35' column='1' id='type-id-1'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_lfq_node_rcu* cds_lfq_node_rcu::next -->
-        <var-decl name='next' type-id='type-id-4' visibility='default' filepath='../include/urcu/rculfqueue.h' line='36' column='1'/>
+        <var-decl name='next' type-id='type-id-2' visibility='default' filepath='../include/urcu/rculfqueue.h' line='36' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- int cds_lfq_node_rcu::dummy -->
-        <var-decl name='dummy' type-id='type-id-1' visibility='default' filepath='../include/urcu/rculfqueue.h' line='37' column='1'/>
+        <var-decl name='dummy' type-id='type-id-3' visibility='default' filepath='../include/urcu/rculfqueue.h' line='37' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_lfq_node_rcu* -->
+    <pointer-type-def type-id='type-id-1' size-in-bits='64' id='type-id-2'/>
+    <!-- int -->
+    <type-decl name='int' size-in-bits='32' id='type-id-3'/>
     <!-- struct cds_lfq_queue_rcu -->
-    <class-decl name='cds_lfq_queue_rcu' size-in-bits='192' is-struct='yes' visibility='default' filepath='../include/urcu/rculfqueue.h' line='40' column='1' id='type-id-5'>
+    <class-decl name='cds_lfq_queue_rcu' size-in-bits='192' is-struct='yes' visibility='default' filepath='../include/urcu/rculfqueue.h' line='40' column='1' id='type-id-4'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_lfq_node_rcu* cds_lfq_queue_rcu::head -->
-        <var-decl name='head' type-id='type-id-4' visibility='default' filepath='../include/urcu/rculfqueue.h' line='41' column='1'/>
+        <var-decl name='head' type-id='type-id-2' visibility='default' filepath='../include/urcu/rculfqueue.h' line='41' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- cds_lfq_node_rcu* cds_lfq_queue_rcu::tail -->
-        <var-decl name='tail' type-id='type-id-4' visibility='default' filepath='../include/urcu/rculfqueue.h' line='41' column='1'/>
+        <var-decl name='tail' type-id='type-id-2' visibility='default' filepath='../include/urcu/rculfqueue.h' line='41' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- void (rcu_head*, void (rcu_head*)*)* cds_lfq_queue_rcu::queue_call_rcu -->
-        <var-decl name='queue_call_rcu' type-id='type-id-6' visibility='default' filepath='../include/urcu/rculfqueue.h' line='42' column='1'/>
+        <var-decl name='queue_call_rcu' type-id='type-id-5' visibility='default' filepath='../include/urcu/rculfqueue.h' line='42' column='1'/>
       </data-member>
     </class-decl>
+    <!-- void -->
+    <type-decl name='void' id='type-id-6'/>
     <!-- struct rcu_head -->
     <class-decl name='rcu_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../src/urcu-call-rcu.h' line='59' column='1' id='type-id-7'>
       <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='next' type-id='type-id-10' visibility='default' filepath='../include/urcu/wfcqueue.h' line='60' column='1'/>
       </data-member>
     </class-decl>
-    <!-- cds_lfq_node_rcu* -->
-    <pointer-type-def type-id='type-id-3' size-in-bits='64' id='type-id-4'/>
-    <!-- cds_lfq_queue_rcu* -->
-    <pointer-type-def type-id='type-id-5' size-in-bits='64' id='type-id-11'/>
     <!-- cds_wfcq_node* -->
     <pointer-type-def type-id='type-id-8' size-in-bits='64' id='type-id-10'/>
     <!-- rcu_head* -->
-    <pointer-type-def type-id='type-id-7' size-in-bits='64' id='type-id-12'/>
+    <pointer-type-def type-id='type-id-7' size-in-bits='64' id='type-id-11'/>
     <!-- void (rcu_head*)* -->
-    <pointer-type-def type-id='type-id-13' size-in-bits='64' id='type-id-9'/>
+    <pointer-type-def type-id='type-id-12' size-in-bits='64' id='type-id-9'/>
     <!-- void (rcu_head*, void (rcu_head*)*)* -->
-    <pointer-type-def type-id='type-id-14' size-in-bits='64' id='type-id-6'/>
+    <pointer-type-def type-id='type-id-13' size-in-bits='64' id='type-id-5'/>
+    <!-- cds_lfq_queue_rcu* -->
+    <pointer-type-def type-id='type-id-4' size-in-bits='64' id='type-id-14'/>
     <!-- cds_lfq_node_rcu* cds_lfq_dequeue_rcu(cds_lfq_queue_rcu*) -->
     <function-decl name='cds_lfq_dequeue_rcu' mangled-name='cds_lfq_dequeue_rcu' filepath='src/rculfqueue.c' line='56' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfq_dequeue_rcu'>
       <!-- parameter of type 'cds_lfq_queue_rcu*' -->
-      <parameter type-id='type-id-11' name='q' filepath='src/rculfqueue.c' line='56' column='1'/>
+      <parameter type-id='type-id-14' name='q' filepath='src/rculfqueue.c' line='56' column='1'/>
       <!-- cds_lfq_node_rcu* -->
-      <return type-id='type-id-4'/>
+      <return type-id='type-id-2'/>
     </function-decl>
     <!-- void cds_lfq_enqueue_rcu(cds_lfq_queue_rcu*, cds_lfq_node_rcu*) -->
     <function-decl name='cds_lfq_enqueue_rcu' mangled-name='cds_lfq_enqueue_rcu' filepath='src/rculfqueue.c' line='50' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfq_enqueue_rcu'>
       <!-- parameter of type 'cds_lfq_queue_rcu*' -->
-      <parameter type-id='type-id-11' name='q' filepath='src/rculfqueue.c' line='50' column='1'/>
+      <parameter type-id='type-id-14' name='q' filepath='src/rculfqueue.c' line='50' column='1'/>
       <!-- parameter of type 'cds_lfq_node_rcu*' -->
-      <parameter type-id='type-id-4' name='node' filepath='src/rculfqueue.c' line='50' column='1'/>
+      <parameter type-id='type-id-2' name='node' filepath='src/rculfqueue.c' line='50' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- int cds_lfq_destroy_rcu(cds_lfq_queue_rcu*) -->
     <function-decl name='cds_lfq_destroy_rcu' mangled-name='cds_lfq_destroy_rcu' filepath='src/rculfqueue.c' line='45' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfq_destroy_rcu'>
       <!-- parameter of type 'cds_lfq_queue_rcu*' -->
-      <parameter type-id='type-id-11' name='q' filepath='src/rculfqueue.c' line='45' column='1'/>
+      <parameter type-id='type-id-14' name='q' filepath='src/rculfqueue.c' line='45' column='1'/>
       <!-- int -->
-      <return type-id='type-id-1'/>
+      <return type-id='type-id-3'/>
     </function-decl>
     <!-- void cds_lfq_init_rcu(cds_lfq_queue_rcu*, void (rcu_head*, void (rcu_head*)*)*) -->
     <function-decl name='cds_lfq_init_rcu' mangled-name='cds_lfq_init_rcu' filepath='src/rculfqueue.c' line='38' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfq_init_rcu'>
       <!-- parameter of type 'cds_lfq_queue_rcu*' -->
-      <parameter type-id='type-id-11' name='q' filepath='src/rculfqueue.c' line='38' column='1'/>
+      <parameter type-id='type-id-14' name='q' filepath='src/rculfqueue.c' line='38' column='1'/>
       <!-- parameter of type 'void (rcu_head*, void (rcu_head*)*)*' -->
-      <parameter type-id='type-id-6' name='queue_call_rcu' filepath='src/rculfqueue.c' line='39' column='1'/>
+      <parameter type-id='type-id-5' name='queue_call_rcu' filepath='src/rculfqueue.c' line='39' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- void cds_lfq_node_init_rcu(cds_lfq_node_rcu*) -->
     <function-decl name='cds_lfq_node_init_rcu' mangled-name='cds_lfq_node_init_rcu' filepath='src/rculfqueue.c' line='33' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfq_node_init_rcu'>
       <!-- parameter of type 'cds_lfq_node_rcu*' -->
-      <parameter type-id='type-id-4' name='node' filepath='src/rculfqueue.c' line='33' column='1'/>
+      <parameter type-id='type-id-2' name='node' filepath='src/rculfqueue.c' line='33' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- void (rcu_head*) -->
-    <function-type size-in-bits='64' id='type-id-13'>
+    <function-type size-in-bits='64' id='type-id-12'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-12'/>
+      <parameter type-id='type-id-11'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-type>
     <!-- void (rcu_head*, void (rcu_head*)*) -->
-    <function-type size-in-bits='64' id='type-id-14'>
+    <function-type size-in-bits='64' id='type-id-13'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-12'/>
+      <parameter type-id='type-id-11'/>
       <!-- parameter of type 'void (rcu_head*)*' -->
       <parameter type-id='type-id-9'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-type>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='rculfstack.c' comp-dir-path='src' language='LANG_C99'>
         <var-decl name='next' type-id='type-id-16' visibility='default' filepath='../include/urcu/rculfstack.h' line='38' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_lfs_node_rcu* -->
+    <pointer-type-def type-id='type-id-15' size-in-bits='64' id='type-id-16'/>
     <!-- struct cds_lfs_stack_rcu -->
     <class-decl name='cds_lfs_stack_rcu' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/rculfstack.h' line='41' column='1' id='type-id-17'>
       <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='head' type-id='type-id-16' visibility='default' filepath='../include/urcu/rculfstack.h' line='42' column='1'/>
       </data-member>
     </class-decl>
-    <!-- cds_lfs_node_rcu* -->
-    <pointer-type-def type-id='type-id-15' size-in-bits='64' id='type-id-16'/>
     <!-- cds_lfs_stack_rcu* -->
     <pointer-type-def type-id='type-id-17' size-in-bits='64' id='type-id-18'/>
     <!-- cds_lfs_node_rcu* cds_lfs_pop_rcu(cds_lfs_stack_rcu*) -->
       <!-- parameter of type 'cds_lfs_node_rcu*' -->
       <parameter type-id='type-id-16' name='node' filepath='src/rculfstack.c' line='48' column='1'/>
       <!-- int -->
-      <return type-id='type-id-1'/>
+      <return type-id='type-id-3'/>
     </function-decl>
     <!-- void cds_lfs_init_rcu(cds_lfs_stack_rcu*) -->
     <function-decl name='cds_lfs_init_rcu' mangled-name='cds_lfs_init_rcu' filepath='src/rculfstack.c' line='42' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_init_rcu'>
       <!-- parameter of type 'cds_lfs_stack_rcu*' -->
       <parameter type-id='type-id-18' name='s' filepath='src/rculfstack.c' line='42' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- void cds_lfs_node_init_rcu(cds_lfs_node_rcu*) -->
     <function-decl name='cds_lfs_node_init_rcu' mangled-name='cds_lfs_node_init_rcu' filepath='src/rculfstack.c' line='37' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_node_init_rcu'>
       <!-- parameter of type 'cds_lfs_node_rcu*' -->
       <parameter type-id='type-id-16' name='node' filepath='src/rculfstack.c' line='37' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='lfstack.c' comp-dir-path='src' language='LANG_C99'>
-
-    <!-- bool -->
-    <type-decl name='bool' size-in-bits='8' id='type-id-19'/>
-    <!-- char -->
-    <type-decl name='char' size-in-bits='8' id='type-id-20'/>
-    <!-- char[40] -->
-    <array-type-def dimensions='1' type-id='type-id-20' size-in-bits='320' id='type-id-21'>
-      <!-- <anonymous range>[40] -->
-      <subrange length='40' type-id='type-id-22' id='type-id-23'/>
-
-    </array-type-def>
-    <!-- long int -->
-    <type-decl name='long int' size-in-bits='64' id='type-id-24'/>
-    <!-- short int -->
-    <type-decl name='short int' size-in-bits='16' id='type-id-25'/>
-    <!-- unsigned int -->
-    <type-decl name='unsigned int' size-in-bits='32' id='type-id-26'/>
-    <!-- unsigned long int -->
-    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-22'/>
     <!-- struct cds_lfs_head -->
-    <class-decl name='cds_lfs_head' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/lfstack.h' line='69' column='1' id='type-id-27'>
+    <class-decl name='cds_lfs_head' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/lfstack.h' line='69' column='1' id='type-id-19'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_lfs_node cds_lfs_head::node -->
-        <var-decl name='node' type-id='type-id-28' visibility='default' filepath='../include/urcu/lfstack.h' line='70' column='1'/>
+        <var-decl name='node' type-id='type-id-20' visibility='default' filepath='../include/urcu/lfstack.h' line='70' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_lfs_node -->
-    <class-decl name='cds_lfs_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/lfstack.h' line='59' column='1' id='type-id-28'>
+    <class-decl name='cds_lfs_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/lfstack.h' line='59' column='1' id='type-id-20'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_lfs_node* cds_lfs_node::next -->
-        <var-decl name='next' type-id='type-id-29' visibility='default' filepath='../include/urcu/lfstack.h' line='60' column='1'/>
+        <var-decl name='next' type-id='type-id-21' visibility='default' filepath='../include/urcu/lfstack.h' line='60' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __anonymous_union__ cds_lfs_stack_ptr_t -->
-    <typedef-decl name='cds_lfs_stack_ptr_t' type-id='type-id-30' filepath='../include/urcu/lfstack.h' line='90' column='1' id='type-id-31'/>
-    <!-- union {__cds_lfs_stack* _s; cds_lfs_stack* s;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../include/urcu/lfstack.h' line='87' column='1' id='type-id-30'>
+    <!-- cds_lfs_node* -->
+    <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-21'/>
+    <!-- cds_lfs_head* -->
+    <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-22'/>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../include/urcu/lfstack.h' line='87' column='1' id='type-id-23'>
       <data-member access='private'>
-        <!-- __cds_lfs_stack* _s -->
-        <var-decl name='_s' type-id='type-id-32' visibility='default' filepath='../include/urcu/lfstack.h' line='88' column='1'/>
+        <!-- __cds_lfs_stack* __anonymous_union__::_s -->
+        <var-decl name='_s' type-id='type-id-24' visibility='default' filepath='../include/urcu/lfstack.h' line='88' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- cds_lfs_stack* s -->
-        <var-decl name='s' type-id='type-id-33' visibility='default' filepath='../include/urcu/lfstack.h' line='89' column='1'/>
+        <!-- cds_lfs_stack* __anonymous_union__::s -->
+        <var-decl name='s' type-id='type-id-25' visibility='default' filepath='../include/urcu/lfstack.h' line='89' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __cds_lfs_stack -->
-    <class-decl name='__cds_lfs_stack' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/lfstack.h' line='73' column='1' id='type-id-34'>
+    <class-decl name='__cds_lfs_stack' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/lfstack.h' line='73' column='1' id='type-id-26'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_lfs_head* __cds_lfs_stack::head -->
-        <var-decl name='head' type-id='type-id-35' visibility='default' filepath='../include/urcu/lfstack.h' line='74' column='1'/>
+        <var-decl name='head' type-id='type-id-22' visibility='default' filepath='../include/urcu/lfstack.h' line='74' column='1'/>
       </data-member>
     </class-decl>
+    <!-- __cds_lfs_stack* -->
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-24'/>
     <!-- struct cds_lfs_stack -->
-    <class-decl name='cds_lfs_stack' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/lfstack.h' line='77' column='1' id='type-id-36'>
+    <class-decl name='cds_lfs_stack' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/lfstack.h' line='77' column='1' id='type-id-27'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_lfs_head* cds_lfs_stack::head -->
-        <var-decl name='head' type-id='type-id-35' visibility='default' filepath='../include/urcu/lfstack.h' line='78' column='1'/>
+        <var-decl name='head' type-id='type-id-22' visibility='default' filepath='../include/urcu/lfstack.h' line='78' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- pthread_mutex_t cds_lfs_stack::lock -->
-        <var-decl name='lock' type-id='type-id-37' visibility='default' filepath='../include/urcu/lfstack.h' line='79' column='1'/>
+        <var-decl name='lock' type-id='type-id-28' visibility='default' filepath='../include/urcu/lfstack.h' line='79' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __anonymous_union__1 pthread_mutex_t -->
-    <typedef-decl name='pthread_mutex_t' type-id='type-id-38' filepath='/usr/include/bits/pthreadtypes.h' line='72' column='1' id='type-id-37'/>
-    <!-- union {__pthread_mutex_s __data; char __size[40]; long int __align;} -->
-    <union-decl name='__anonymous_union__1' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='67' column='1' id='type-id-38'>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='67' column='1' id='type-id-29'>
       <data-member access='private'>
-        <!-- __pthread_mutex_s __data -->
-        <var-decl name='__data' type-id='type-id-39' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='69' column='1'/>
+        <!-- __pthread_mutex_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-30' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='69' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- char __size[40] -->
-        <var-decl name='__size' type-id='type-id-21' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='70' column='1'/>
+        <!-- char __anonymous_union__::__size[40] -->
+        <var-decl name='__size' type-id='type-id-31' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='70' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- long int __align -->
-        <var-decl name='__align' type-id='type-id-24' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='71' column='1'/>
+        <!-- long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-32' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='71' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __pthread_mutex_s -->
-    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='22' column='1' id='type-id-39'>
+    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='118' column='1' id='type-id-30'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- int __pthread_mutex_s::__lock -->
-        <var-decl name='__lock' type-id='type-id-1' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='24' column='1'/>
+        <var-decl name='__lock' type-id='type-id-3' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='120' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='32'>
         <!-- unsigned int __pthread_mutex_s::__count -->
-        <var-decl name='__count' type-id='type-id-26' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='25' column='1'/>
+        <var-decl name='__count' type-id='type-id-33' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='121' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- int __pthread_mutex_s::__owner -->
-        <var-decl name='__owner' type-id='type-id-1' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='26' column='1'/>
+        <var-decl name='__owner' type-id='type-id-3' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='122' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='96'>
         <!-- unsigned int __pthread_mutex_s::__nusers -->
-        <var-decl name='__nusers' type-id='type-id-26' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='28' column='1'/>
+        <var-decl name='__nusers' type-id='type-id-33' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='124' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- int __pthread_mutex_s::__kind -->
-        <var-decl name='__kind' type-id='type-id-1' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='32' column='1'/>
+        <var-decl name='__kind' type-id='type-id-3' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='148' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='160'>
         <!-- short int __pthread_mutex_s::__spins -->
-        <var-decl name='__spins' type-id='type-id-25' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='34' column='1'/>
+        <var-decl name='__spins' type-id='type-id-34' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='176'>
         <!-- short int __pthread_mutex_s::__elision -->
-        <var-decl name='__elision' type-id='type-id-25' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='35' column='1'/>
+        <var-decl name='__elision' type-id='type-id-34' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- __pthread_list_t __pthread_mutex_s::__list -->
-        <var-decl name='__list' type-id='type-id-40' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='36' column='1'/>
+        <var-decl name='__list' type-id='type-id-35' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='155' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __pthread_internal_list __pthread_list_t -->
-    <typedef-decl name='__pthread_list_t' type-id='type-id-41' filepath='/usr/include/bits/thread-shared-types.h' line='53' column='1' id='type-id-40'/>
+    <!-- unsigned int -->
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-33'/>
+    <!-- short int -->
+    <type-decl name='short int' size-in-bits='16' id='type-id-34'/>
     <!-- struct __pthread_internal_list -->
-    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='49' column='1' id='type-id-41'>
+    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='82' column='1' id='type-id-36'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- __pthread_internal_list* __pthread_internal_list::__prev -->
-        <var-decl name='__prev' type-id='type-id-42' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='51' column='1'/>
+        <var-decl name='__prev' type-id='type-id-37' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='84' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- __pthread_internal_list* __pthread_internal_list::__next -->
-        <var-decl name='__next' type-id='type-id-42' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='52' column='1'/>
+        <var-decl name='__next' type-id='type-id-37' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='85' column='1'/>
       </data-member>
     </class-decl>
-    <!-- __cds_lfs_stack* -->
-    <pointer-type-def type-id='type-id-34' size-in-bits='64' id='type-id-32'/>
     <!-- __pthread_internal_list* -->
-    <pointer-type-def type-id='type-id-41' size-in-bits='64' id='type-id-42'/>
-    <!-- cds_lfs_head* -->
-    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-35'/>
-    <!-- cds_lfs_node* -->
-    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-29'/>
+    <pointer-type-def type-id='type-id-36' size-in-bits='64' id='type-id-37'/>
+    <!-- typedef __pthread_internal_list __pthread_list_t -->
+    <typedef-decl name='__pthread_list_t' type-id='type-id-36' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='86' column='1' id='type-id-35'/>
+    <!-- char -->
+    <type-decl name='char' size-in-bits='8' id='type-id-38'/>
+    <!-- unsigned long int -->
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-39'/>
+
+    <!-- char[40] -->
+    <array-type-def dimensions='1' type-id='type-id-38' size-in-bits='320' id='type-id-31'>
+      <!-- <anonymous range>[40] -->
+      <subrange length='40' type-id='type-id-39' id='type-id-40'/>
+
+    </array-type-def>
+    <!-- long int -->
+    <type-decl name='long int' size-in-bits='64' id='type-id-32'/>
+    <!-- typedef __anonymous_union__ pthread_mutex_t -->
+    <typedef-decl name='pthread_mutex_t' type-id='type-id-29' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='72' column='1' id='type-id-28'/>
     <!-- cds_lfs_stack* -->
-    <pointer-type-def type-id='type-id-36' size-in-bits='64' id='type-id-33'/>
+    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-25'/>
+    <!-- typedef __anonymous_union__ cds_lfs_stack_ptr_t -->
+    <typedef-decl name='cds_lfs_stack_ptr_t' type-id='type-id-23' filepath='../include/urcu/lfstack.h' line='90' column='1' id='type-id-41'/>
     <!-- cds_lfs_head* __cds_lfs_pop_all(cds_lfs_stack_ptr_t) -->
     <function-decl name='__cds_lfs_pop_all' mangled-name='__cds_lfs_pop_all' filepath='src/lfstack.c' line='88' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_lfs_pop_all'>
       <!-- parameter of type 'typedef cds_lfs_stack_ptr_t' -->
-      <parameter type-id='type-id-31' name='s' filepath='src/lfstack.c' line='88' column='1'/>
+      <parameter type-id='type-id-41' name='s' filepath='src/lfstack.c' line='88' column='1'/>
       <!-- cds_lfs_head* -->
-      <return type-id='type-id-35'/>
+      <return type-id='type-id-22'/>
     </function-decl>
     <!-- cds_lfs_node* __cds_lfs_pop(cds_lfs_stack_ptr_t) -->
     <function-decl name='__cds_lfs_pop' mangled-name='__cds_lfs_pop' filepath='src/lfstack.c' line='83' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_lfs_pop'>
       <!-- parameter of type 'typedef cds_lfs_stack_ptr_t' -->
-      <parameter type-id='type-id-31' name='s' filepath='src/lfstack.c' line='83' column='1'/>
+      <parameter type-id='type-id-41' name='s' filepath='src/lfstack.c' line='83' column='1'/>
       <!-- cds_lfs_node* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-21'/>
     </function-decl>
     <!-- void cds_lfs_pop_unlock(cds_lfs_stack*) -->
     <function-decl name='cds_lfs_pop_unlock' mangled-name='cds_lfs_pop_unlock' filepath='src/lfstack.c' line='78' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_pop_unlock'>
       <!-- parameter of type 'cds_lfs_stack*' -->
-      <parameter type-id='type-id-33' name='s' filepath='src/lfstack.c' line='78' column='1'/>
+      <parameter type-id='type-id-25' name='s' filepath='src/lfstack.c' line='78' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- void cds_lfs_pop_lock(cds_lfs_stack*) -->
     <function-decl name='cds_lfs_pop_lock' mangled-name='cds_lfs_pop_lock' filepath='src/lfstack.c' line='73' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_pop_lock'>
       <!-- parameter of type 'cds_lfs_stack*' -->
-      <parameter type-id='type-id-33' name='s' filepath='src/lfstack.c' line='73' column='1'/>
+      <parameter type-id='type-id-25' name='s' filepath='src/lfstack.c' line='78' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- cds_lfs_head* cds_lfs_pop_all_blocking(cds_lfs_stack*) -->
     <function-decl name='cds_lfs_pop_all_blocking' mangled-name='cds_lfs_pop_all_blocking' filepath='src/lfstack.c' line='68' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_pop_all_blocking'>
       <!-- parameter of type 'cds_lfs_stack*' -->
-      <parameter type-id='type-id-33' name='s' filepath='src/lfstack.c' line='68' column='1'/>
+      <parameter type-id='type-id-25' name='s' filepath='src/lfstack.c' line='68' column='1'/>
       <!-- cds_lfs_head* -->
-      <return type-id='type-id-35'/>
+      <return type-id='type-id-22'/>
     </function-decl>
     <!-- cds_lfs_node* cds_lfs_pop_blocking(cds_lfs_stack*) -->
     <function-decl name='cds_lfs_pop_blocking' mangled-name='cds_lfs_pop_blocking' filepath='src/lfstack.c' line='63' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_pop_blocking'>
       <!-- parameter of type 'cds_lfs_stack*' -->
-      <parameter type-id='type-id-33' name='s' filepath='src/lfstack.c' line='63' column='1'/>
+      <parameter type-id='type-id-25' name='s' filepath='src/lfstack.c' line='63' column='1'/>
       <!-- cds_lfs_node* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-21'/>
     </function-decl>
+    <!-- bool -->
+    <type-decl name='bool' size-in-bits='8' id='type-id-42'/>
     <!-- bool cds_lfs_push(cds_lfs_stack_ptr_t, cds_lfs_node*) -->
     <function-decl name='cds_lfs_push' mangled-name='cds_lfs_push' filepath='src/lfstack.c' line='58' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_push'>
       <!-- parameter of type 'typedef cds_lfs_stack_ptr_t' -->
-      <parameter type-id='type-id-31' name='s' filepath='src/lfstack.c' line='58' column='1'/>
+      <parameter type-id='type-id-41' name='s' filepath='src/lfstack.c' line='58' column='1'/>
       <!-- parameter of type 'cds_lfs_node*' -->
-      <parameter type-id='type-id-29' name='node' filepath='src/lfstack.c' line='58' column='1'/>
+      <parameter type-id='type-id-21' name='node' filepath='src/lfstack.c' line='58' column='1'/>
       <!-- bool -->
-      <return type-id='type-id-19'/>
+      <return type-id='type-id-42'/>
     </function-decl>
     <!-- bool cds_lfs_empty(cds_lfs_stack_ptr_t) -->
     <function-decl name='cds_lfs_empty' mangled-name='cds_lfs_empty' filepath='src/lfstack.c' line='53' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_empty'>
       <!-- parameter of type 'typedef cds_lfs_stack_ptr_t' -->
-      <parameter type-id='type-id-31' name='s' filepath='src/lfstack.c' line='53' column='1'/>
+      <parameter type-id='type-id-41' name='s' filepath='src/lfstack.c' line='53' column='1'/>
       <!-- bool -->
-      <return type-id='type-id-19'/>
+      <return type-id='type-id-42'/>
     </function-decl>
     <!-- void __cds_lfs_init(__cds_lfs_stack*) -->
     <function-decl name='__cds_lfs_init' mangled-name='__cds_lfs_init' filepath='src/lfstack.c' line='48' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_lfs_init'>
       <!-- parameter of type '__cds_lfs_stack*' -->
-      <parameter type-id='type-id-32' name='s' filepath='src/lfstack.c' line='48' column='1'/>
+      <parameter type-id='type-id-24' name='s' filepath='src/lfstack.c' line='48' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- void cds_lfs_destroy(cds_lfs_stack*) -->
     <function-decl name='cds_lfs_destroy' mangled-name='cds_lfs_destroy' filepath='src/lfstack.c' line='43' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_destroy'>
       <!-- parameter of type 'cds_lfs_stack*' -->
-      <parameter type-id='type-id-33' name='s' filepath='src/lfstack.c' line='43' column='1'/>
+      <parameter type-id='type-id-25' name='s' filepath='src/lfstack.c' line='78' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- void cds_lfs_init(cds_lfs_stack*) -->
     <function-decl name='cds_lfs_init' mangled-name='cds_lfs_init' filepath='src/lfstack.c' line='38' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_init'>
       <!-- parameter of type 'cds_lfs_stack*' -->
-      <parameter type-id='type-id-33' name='s' filepath='src/lfstack.c' line='38' column='1'/>
+      <parameter type-id='type-id-25' name='s' filepath='src/lfstack.c' line='78' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- void cds_lfs_node_init(cds_lfs_node*) -->
     <function-decl name='cds_lfs_node_init' mangled-name='cds_lfs_node_init' filepath='src/lfstack.c' line='33' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_node_init'>
       <!-- parameter of type 'cds_lfs_node*' -->
-      <parameter type-id='type-id-29' name='node' filepath='src/lfstack.c' line='33' column='1'/>
+      <parameter type-id='type-id-21' name='node' filepath='src/lfstack.c' line='33' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='workqueue.c' comp-dir-path='src' language='LANG_C99'>
       </data-member>
       <data-member access='public' layout-offset-in-bits='448'>
         <!-- unsigned long int urcu_workqueue::flags -->
-        <var-decl name='flags' type-id='type-id-22' visibility='default' filepath='src/workqueue.c' line='63' column='1'/>
+        <var-decl name='flags' type-id='type-id-39' visibility='default' filepath='src/workqueue.c' line='63' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='512'>
         <!-- int32_t urcu_workqueue::futex -->
       </data-member>
       <data-member access='public' layout-offset-in-bits='576'>
         <!-- unsigned long int urcu_workqueue::qlen -->
-        <var-decl name='qlen' type-id='type-id-22' visibility='default' filepath='src/workqueue.c' line='65' column='1'/>
+        <var-decl name='qlen' type-id='type-id-39' visibility='default' filepath='src/workqueue.c' line='65' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='640'>
         <!-- pthread_t urcu_workqueue::tid -->
       </data-member>
       <data-member access='public' layout-offset-in-bits='704'>
         <!-- int urcu_workqueue::cpu_affinity -->
-        <var-decl name='cpu_affinity' type-id='type-id-1' visibility='default' filepath='src/workqueue.c' line='67' column='1'/>
+        <var-decl name='cpu_affinity' type-id='type-id-3' visibility='default' filepath='src/workqueue.c' line='67' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='768'>
         <!-- unsigned long int urcu_workqueue::loop_count -->
-        <var-decl name='loop_count' type-id='type-id-22' visibility='default' filepath='src/workqueue.c' line='68' column='1'/>
+        <var-decl name='loop_count' type-id='type-id-39' visibility='default' filepath='src/workqueue.c' line='68' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='832'>
         <!-- void* urcu_workqueue::priv -->
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- pthread_mutex_t cds_wfcq_head::lock -->
-        <var-decl name='lock' type-id='type-id-37' visibility='default' filepath='../include/urcu/wfcqueue.h' line='74' column='1'/>
+        <var-decl name='lock' type-id='type-id-28' visibility='default' filepath='../include/urcu/wfcqueue.h' line='74' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __int32_t int32_t -->
-    <typedef-decl name='int32_t' type-id='type-id-50' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-46'/>
     <!-- typedef int __int32_t -->
-    <typedef-decl name='__int32_t' type-id='type-id-1' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-50'/>
+    <typedef-decl name='__int32_t' type-id='type-id-3' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='40' column='1' id='type-id-50'/>
+    <!-- typedef __int32_t int32_t -->
+    <typedef-decl name='int32_t' type-id='type-id-50' filepath='/usr/include/x86_64-linux-gnu/bits/stdint-intn.h' line='26' column='1' id='type-id-46'/>
     <!-- typedef unsigned long int pthread_t -->
-    <typedef-decl name='pthread_t' type-id='type-id-22' filepath='/usr/include/bits/pthreadtypes.h' line='27' column='1' id='type-id-47'/>
-    <!-- struct urcu_workqueue_completion -->
-    <class-decl name='urcu_workqueue_completion' size-in-bits='128' is-struct='yes' visibility='default' filepath='src/workqueue.c' line='79' column='1' id='type-id-51'>
-      <data-member access='public' layout-offset-in-bits='0'>
-        <!-- int urcu_workqueue_completion::barrier_count -->
-        <var-decl name='barrier_count' type-id='type-id-1' visibility='default' filepath='src/workqueue.c' line='80' column='1'/>
-      </data-member>
-      <data-member access='public' layout-offset-in-bits='32'>
-        <!-- int32_t urcu_workqueue_completion::futex -->
-        <var-decl name='futex' type-id='type-id-46' visibility='default' filepath='src/workqueue.c' line='81' column='1'/>
-      </data-member>
-      <data-member access='public' layout-offset-in-bits='64'>
-        <!-- urcu_ref urcu_workqueue_completion::ref -->
-        <var-decl name='ref' type-id='type-id-52' visibility='default' filepath='src/workqueue.c' line='82' column='1'/>
-      </data-member>
-    </class-decl>
-    <!-- struct urcu_ref -->
-    <class-decl name='urcu_ref' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/ref.h' line='23' column='1' id='type-id-52'>
-      <data-member access='public' layout-offset-in-bits='0'>
-        <!-- long int urcu_ref::refcount -->
-        <var-decl name='refcount' type-id='type-id-24' visibility='default' filepath='../include/urcu/ref.h' line='24' column='1'/>
-      </data-member>
-    </class-decl>
-    <!-- struct urcu_work -->
-    <class-decl name='urcu_work' size-in-bits='128' is-struct='yes' visibility='default' filepath='src/workqueue.h' line='53' column='1' id='type-id-53'>
-      <data-member access='public' layout-offset-in-bits='0'>
-        <!-- cds_wfcq_node urcu_work::next -->
-        <var-decl name='next' type-id='type-id-8' visibility='default' filepath='src/workqueue.h' line='54' column='1'/>
-      </data-member>
-      <data-member access='public' layout-offset-in-bits='64'>
-        <!-- void (urcu_work*)* urcu_work::func -->
-        <var-decl name='func' type-id='type-id-54' visibility='default' filepath='src/workqueue.h' line='55' column='1'/>
-      </data-member>
-    </class-decl>
-    <!-- urcu_work* -->
-    <pointer-type-def type-id='type-id-53' size-in-bits='64' id='type-id-55'/>
+    <typedef-decl name='pthread_t' type-id='type-id-39' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='27' column='1' id='type-id-47'/>
+    <!-- void* -->
+    <pointer-type-def type-id='type-id-6' size-in-bits='64' id='type-id-48'/>
     <!-- urcu_workqueue* -->
-    <pointer-type-def type-id='type-id-43' size-in-bits='64' id='type-id-56'/>
-    <!-- urcu_workqueue_completion* -->
-    <pointer-type-def type-id='type-id-51' size-in-bits='64' id='type-id-57'/>
-    <!-- void (urcu_work*)* -->
-    <pointer-type-def type-id='type-id-58' size-in-bits='64' id='type-id-54'/>
+    <pointer-type-def type-id='type-id-43' size-in-bits='64' id='type-id-51'/>
     <!-- void (urcu_workqueue*, void*)* -->
-    <pointer-type-def type-id='type-id-59' size-in-bits='64' id='type-id-49'/>
-    <!-- void* -->
-    <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-48'/>
+    <pointer-type-def type-id='type-id-52' size-in-bits='64' id='type-id-49'/>
     <!-- void urcu_workqueue_create_worker(urcu_workqueue*) -->
     <function-decl name='urcu_workqueue_create_worker' mangled-name='urcu_workqueue_create_worker' filepath='src/workqueue.c' line='458' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_workqueue_create_worker'>
       <!-- parameter of type 'urcu_workqueue*' -->
-      <parameter type-id='type-id-56' name='workqueue' filepath='src/workqueue.c' line='458' column='1'/>
+      <parameter type-id='type-id-51' name='workqueue' filepath='src/workqueue.c' line='458' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- void urcu_workqueue_resume_worker(urcu_workqueue*) -->
     <function-decl name='urcu_workqueue_resume_worker' mangled-name='urcu_workqueue_resume_worker' filepath='src/workqueue.c' line='451' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_workqueue_resume_worker'>
       <!-- parameter of type 'urcu_workqueue*' -->
-      <parameter type-id='type-id-56' name='workqueue' filepath='src/workqueue.c' line='451' column='1'/>
+      <parameter type-id='type-id-51' name='workqueue' filepath='src/workqueue.c' line='451' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- void urcu_workqueue_pause_worker(urcu_workqueue*) -->
     <function-decl name='urcu_workqueue_pause_worker' mangled-name='urcu_workqueue_pause_worker' filepath='src/workqueue.c' line='440' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_workqueue_pause_worker'>
       <!-- parameter of type 'urcu_workqueue*' -->
-      <parameter type-id='type-id-56' name='workqueue' filepath='src/workqueue.c' line='440' column='1'/>
+      <parameter type-id='type-id-51' name='workqueue' filepath='src/workqueue.c' line='451' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- void urcu_workqueue_flush_queued_work(urcu_workqueue*) -->
     <function-decl name='urcu_workqueue_flush_queued_work' mangled-name='urcu_workqueue_flush_queued_work' filepath='src/workqueue.c' line='427' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_workqueue_flush_queued_work'>
       <!-- parameter of type 'urcu_workqueue*' -->
-      <parameter type-id='type-id-56' name='workqueue' filepath='src/workqueue.c' line='427' column='1'/>
+      <parameter type-id='type-id-51' name='workqueue' filepath='src/workqueue.c' line='458' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
+    <!-- struct urcu_workqueue_completion -->
+    <class-decl name='urcu_workqueue_completion' size-in-bits='128' is-struct='yes' visibility='default' filepath='src/workqueue.c' line='79' column='1' id='type-id-53'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- int urcu_workqueue_completion::barrier_count -->
+        <var-decl name='barrier_count' type-id='type-id-3' visibility='default' filepath='src/workqueue.c' line='80' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <!-- int32_t urcu_workqueue_completion::futex -->
+        <var-decl name='futex' type-id='type-id-46' visibility='default' filepath='src/workqueue.c' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- urcu_ref urcu_workqueue_completion::ref -->
+        <var-decl name='ref' type-id='type-id-54' visibility='default' filepath='src/workqueue.c' line='82' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- struct urcu_ref -->
+    <class-decl name='urcu_ref' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/ref.h' line='23' column='1' id='type-id-54'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- long int urcu_ref::refcount -->
+        <var-decl name='refcount' type-id='type-id-32' visibility='default' filepath='../include/urcu/ref.h' line='24' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- urcu_workqueue_completion* -->
+    <pointer-type-def type-id='type-id-53' size-in-bits='64' id='type-id-55'/>
     <!-- void urcu_workqueue_queue_completion(urcu_workqueue*, urcu_workqueue_completion*) -->
     <function-decl name='urcu_workqueue_queue_completion' mangled-name='urcu_workqueue_queue_completion' filepath='src/workqueue.c' line='410' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_workqueue_queue_completion'>
       <!-- parameter of type 'urcu_workqueue*' -->
-      <parameter type-id='type-id-56' name='workqueue' filepath='src/workqueue.c' line='410' column='1'/>
+      <parameter type-id='type-id-51' name='workqueue' filepath='src/workqueue.c' line='410' column='1'/>
       <!-- parameter of type 'urcu_workqueue_completion*' -->
-      <parameter type-id='type-id-57' name='completion' filepath='src/workqueue.c' line='411' column='1'/>
+      <parameter type-id='type-id-55' name='completion' filepath='src/workqueue.c' line='411' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- void urcu_workqueue_wait_completion(urcu_workqueue_completion*) -->
     <function-decl name='urcu_workqueue_wait_completion' mangled-name='urcu_workqueue_wait_completion' filepath='src/workqueue.c' line='397' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_workqueue_wait_completion'>
       <!-- parameter of type 'urcu_workqueue_completion*' -->
-      <parameter type-id='type-id-57' name='completion' filepath='src/workqueue.c' line='397' column='1'/>
+      <parameter type-id='type-id-55' name='completion' filepath='src/workqueue.c' line='397' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- void urcu_workqueue_destroy_completion(urcu_workqueue_completion*) -->
     <function-decl name='urcu_workqueue_destroy_completion' mangled-name='urcu_workqueue_destroy_completion' filepath='src/workqueue.c' line='392' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_workqueue_destroy_completion'>
       <!-- parameter of type 'urcu_workqueue_completion*' -->
-      <parameter type-id='type-id-57' name='completion' filepath='src/workqueue.c' line='392' column='1'/>
+      <parameter type-id='type-id-55' name='completion' filepath='src/workqueue.c' line='392' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- urcu_workqueue_completion* urcu_workqueue_create_completion() -->
     <function-decl name='urcu_workqueue_create_completion' mangled-name='urcu_workqueue_create_completion' filepath='src/workqueue.c' line='380' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_workqueue_create_completion'>
       <!-- urcu_workqueue_completion* -->
-      <return type-id='type-id-57'/>
+      <return type-id='type-id-55'/>
     </function-decl>
+    <!-- struct urcu_work -->
+    <class-decl name='urcu_work' size-in-bits='128' is-struct='yes' visibility='default' filepath='src/workqueue.h' line='53' column='1' id='type-id-56'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_wfcq_node urcu_work::next -->
+        <var-decl name='next' type-id='type-id-8' visibility='default' filepath='src/workqueue.h' line='54' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- void (urcu_work*)* urcu_work::func -->
+        <var-decl name='func' type-id='type-id-57' visibility='default' filepath='src/workqueue.h' line='55' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- urcu_work* -->
+    <pointer-type-def type-id='type-id-56' size-in-bits='64' id='type-id-58'/>
+    <!-- void (urcu_work*)* -->
+    <pointer-type-def type-id='type-id-59' size-in-bits='64' id='type-id-57'/>
     <!-- void urcu_workqueue_queue_work(urcu_workqueue*, urcu_work*, void (urcu_work*)*) -->
     <function-decl name='urcu_workqueue_queue_work' mangled-name='urcu_workqueue_queue_work' filepath='src/workqueue.c' line='346' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_workqueue_queue_work'>
       <!-- parameter of type 'urcu_workqueue*' -->
-      <parameter type-id='type-id-56' name='workqueue' filepath='src/workqueue.c' line='346' column='1'/>
+      <parameter type-id='type-id-51' name='workqueue' filepath='src/workqueue.c' line='346' column='1'/>
       <!-- parameter of type 'urcu_work*' -->
-      <parameter type-id='type-id-55' name='work' filepath='src/workqueue.c' line='347' column='1'/>
+      <parameter type-id='type-id-58' name='work' filepath='src/workqueue.c' line='347' column='1'/>
       <!-- parameter of type 'void (urcu_work*)*' -->
-      <parameter type-id='type-id-54' name='func' filepath='src/workqueue.c' line='348' column='1'/>
+      <parameter type-id='type-id-57' name='func' filepath='src/workqueue.c' line='348' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- void urcu_workqueue_destroy(urcu_workqueue*) -->
     <function-decl name='urcu_workqueue_destroy' mangled-name='urcu_workqueue_destroy' filepath='src/workqueue.c' line='334' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_workqueue_destroy'>
       <!-- parameter of type 'urcu_workqueue*' -->
-      <parameter type-id='type-id-56' name='workqueue' filepath='src/workqueue.c' line='334' column='1'/>
+      <parameter type-id='type-id-51' name='workqueue' filepath='src/workqueue.c' line='458' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- urcu_workqueue* urcu_workqueue_create(unsigned long int, int, void*, void (urcu_workqueue*, void*)*, void (urcu_workqueue*, void*)*, void (urcu_workqueue*, void*)*, void (urcu_workqueue*, void*)*, void (urcu_workqueue*, void*)*, void (urcu_workqueue*, void*)*, void (urcu_workqueue*, void*)*) -->
     <function-decl name='urcu_workqueue_create' mangled-name='urcu_workqueue_create' filepath='src/workqueue.c' line='269' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_workqueue_create'>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-22' name='flags' filepath='src/workqueue.c' line='269' column='1'/>
+      <parameter type-id='type-id-39' name='flags' filepath='src/workqueue.c' line='269' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-1' name='cpu_affinity' filepath='src/workqueue.c' line='270' column='1'/>
+      <parameter type-id='type-id-3' name='cpu_affinity' filepath='src/workqueue.c' line='270' column='1'/>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-48' name='priv' filepath='src/workqueue.c' line='270' column='1'/>
       <!-- parameter of type 'void (urcu_workqueue*, void*)*' -->
       <!-- parameter of type 'void (urcu_workqueue*, void*)*' -->
       <parameter type-id='type-id-49' name='worker_after_resume_fct' filepath='src/workqueue.c' line='277' column='1'/>
       <!-- urcu_workqueue* -->
-      <return type-id='type-id-56'/>
+      <return type-id='type-id-51'/>
     </function-decl>
     <!-- void (urcu_work*) -->
-    <function-type size-in-bits='64' id='type-id-58'>
+    <function-type size-in-bits='64' id='type-id-59'>
       <!-- parameter of type 'urcu_work*' -->
-      <parameter type-id='type-id-55'/>
+      <parameter type-id='type-id-58'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-type>
     <!-- void (urcu_workqueue*, void*) -->
-    <function-type size-in-bits='64' id='type-id-59'>
+    <function-type size-in-bits='64' id='type-id-52'>
       <!-- parameter of type 'urcu_workqueue*' -->
-      <parameter type-id='type-id-56'/>
+      <parameter type-id='type-id-51'/>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-48'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-type>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='rculfhash.c' comp-dir-path='src' language='LANG_C99'>
-
-
-
-    <!-- cds_lfht_node*[64] -->
-    <array-type-def dimensions='1' type-id='type-id-60' size-in-bits='4096' id='type-id-61'>
-      <!-- <anonymous range>[64] -->
-      <subrange length='64' type-id='type-id-22' id='type-id-62'/>
-
-    </array-type-def>
-    <!-- cds_lfht_node*[] -->
-    <array-type-def dimensions='1' type-id='type-id-60' size-in-bits='infinite' id='type-id-63'>
-      <!-- <anonymous range>[] -->
-      <subrange length='infinite' type-id='type-id-22' id='type-id-64'/>
-
-    </array-type-def>
-    <!-- char[56] -->
-    <array-type-def dimensions='1' type-id='type-id-20' size-in-bits='448' id='type-id-65'>
-      <!-- <anonymous range>[56] -->
-      <subrange length='56' type-id='type-id-22' id='type-id-66'/>
-
-    </array-type-def>
     <!-- struct cds_lfht -->
-    <class-decl name='cds_lfht' size-in-bits='5248' is-struct='yes' visibility='default' filepath='../src/rculfhash-internal.h' line='68' column='1' id='type-id-67'>
+    <class-decl name='cds_lfht' size-in-bits='5248' is-struct='yes' visibility='default' filepath='../src/rculfhash-internal.h' line='68' column='1' id='type-id-60'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned long int cds_lfht::max_nr_buckets -->
-        <var-decl name='max_nr_buckets' type-id='type-id-22' visibility='default' filepath='../src/rculfhash-internal.h' line='70' column='1'/>
+        <var-decl name='max_nr_buckets' type-id='type-id-39' visibility='default' filepath='../src/rculfhash-internal.h' line='70' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- const cds_lfht_mm_type* cds_lfht::mm -->
-        <var-decl name='mm' type-id='type-id-68' visibility='default' filepath='../src/rculfhash-internal.h' line='71' column='1'/>
+        <var-decl name='mm' type-id='type-id-61' visibility='default' filepath='../src/rculfhash-internal.h' line='71' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- const rcu_flavor_struct* cds_lfht::flavor -->
-        <var-decl name='flavor' type-id='type-id-69' visibility='default' filepath='../src/rculfhash-internal.h' line='72' column='1'/>
+        <var-decl name='flavor' type-id='type-id-62' visibility='default' filepath='../src/rculfhash-internal.h' line='72' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- long int cds_lfht::count -->
-        <var-decl name='count' type-id='type-id-24' visibility='default' filepath='../src/rculfhash-internal.h' line='74' column='1'/>
+        <var-decl name='count' type-id='type-id-32' visibility='default' filepath='../src/rculfhash-internal.h' line='74' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- pthread_mutex_t cds_lfht::resize_mutex -->
-        <var-decl name='resize_mutex' type-id='type-id-37' visibility='default' filepath='../src/rculfhash-internal.h' line='83' column='1'/>
+        <var-decl name='resize_mutex' type-id='type-id-28' visibility='default' filepath='../src/rculfhash-internal.h' line='83' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='576'>
         <!-- pthread_attr_t* cds_lfht::resize_attr -->
-        <var-decl name='resize_attr' type-id='type-id-70' visibility='default' filepath='../src/rculfhash-internal.h' line='84' column='1'/>
+        <var-decl name='resize_attr' type-id='type-id-63' visibility='default' filepath='../src/rculfhash-internal.h' line='84' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='640'>
         <!-- unsigned int cds_lfht::in_progress_destroy -->
-        <var-decl name='in_progress_destroy' type-id='type-id-26' visibility='default' filepath='../src/rculfhash-internal.h' line='85' column='1'/>
+        <var-decl name='in_progress_destroy' type-id='type-id-33' visibility='default' filepath='../src/rculfhash-internal.h' line='85' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='704'>
         <!-- unsigned long int cds_lfht::resize_target -->
-        <var-decl name='resize_target' type-id='type-id-22' visibility='default' filepath='../src/rculfhash-internal.h' line='86' column='1'/>
+        <var-decl name='resize_target' type-id='type-id-39' visibility='default' filepath='../src/rculfhash-internal.h' line='86' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='768'>
         <!-- int cds_lfht::resize_initiated -->
-        <var-decl name='resize_initiated' type-id='type-id-1' visibility='default' filepath='../src/rculfhash-internal.h' line='87' column='1'/>
+        <var-decl name='resize_initiated' type-id='type-id-3' visibility='default' filepath='../src/rculfhash-internal.h' line='87' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='800'>
         <!-- int cds_lfht::flags -->
-        <var-decl name='flags' type-id='type-id-1' visibility='default' filepath='../src/rculfhash-internal.h' line='92' column='1'/>
+        <var-decl name='flags' type-id='type-id-3' visibility='default' filepath='../src/rculfhash-internal.h' line='92' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='832'>
         <!-- unsigned long int cds_lfht::min_alloc_buckets_order -->
-        <var-decl name='min_alloc_buckets_order' type-id='type-id-22' visibility='default' filepath='../src/rculfhash-internal.h' line='93' column='1'/>
+        <var-decl name='min_alloc_buckets_order' type-id='type-id-39' visibility='default' filepath='../src/rculfhash-internal.h' line='93' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='896'>
         <!-- unsigned long int cds_lfht::min_nr_alloc_buckets -->
-        <var-decl name='min_nr_alloc_buckets' type-id='type-id-22' visibility='default' filepath='../src/rculfhash-internal.h' line='94' column='1'/>
+        <var-decl name='min_nr_alloc_buckets' type-id='type-id-39' visibility='default' filepath='../src/rculfhash-internal.h' line='94' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='960'>
         <!-- ht_items_count* cds_lfht::split_count -->
-        <var-decl name='split_count' type-id='type-id-71' visibility='default' filepath='../src/rculfhash-internal.h' line='95' column='1'/>
+        <var-decl name='split_count' type-id='type-id-64' visibility='default' filepath='../src/rculfhash-internal.h' line='95' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1024'>
         <!-- unsigned long int cds_lfht::size -->
-        <var-decl name='size' type-id='type-id-22' visibility='default' filepath='../src/rculfhash-internal.h' line='100' column='1'/>
+        <var-decl name='size' type-id='type-id-39' visibility='default' filepath='../src/rculfhash-internal.h' line='100' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1088'>
         <!-- cds_lfht_node* (cds_lfht*, unsigned long int)* cds_lfht::bucket_at -->
-        <var-decl name='bucket_at' type-id='type-id-72' visibility='default' filepath='../src/rculfhash-internal.h' line='105' column='1'/>
+        <var-decl name='bucket_at' type-id='type-id-65' visibility='default' filepath='../src/rculfhash-internal.h' line='105' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1152'>
-        <!-- union {cds_lfht_node* tbl_order[64]; cds_lfht_node* tbl_chunk[]; cds_lfht_node* tbl_mmap;} -->
-        <var-decl name='' type-id='type-id-73' visibility='default'/>
+        <!-- __anonymous_union__  -->
+        <var-decl name='' type-id='type-id-66' visibility='default'/>
       </data-member>
     </class-decl>
     <!-- struct cds_lfht_mm_type -->
-    <class-decl name='cds_lfht_mm_type' size-in-bits='256' is-struct='yes' visibility='default' filepath='../include/urcu/rculfhash.h' line='105' column='1' id='type-id-74'>
+    <class-decl name='cds_lfht_mm_type' size-in-bits='256' is-struct='yes' visibility='default' filepath='../include/urcu/rculfhash.h' line='105' column='1' id='type-id-67'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_lfht* (unsigned long int, unsigned long int)* cds_lfht_mm_type::alloc_cds_lfht -->
-        <var-decl name='alloc_cds_lfht' type-id='type-id-75' visibility='default' filepath='../include/urcu/rculfhash.h' line='106' column='1'/>
+        <var-decl name='alloc_cds_lfht' type-id='type-id-68' visibility='default' filepath='../include/urcu/rculfhash.h' line='106' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
-        <!-- void ()* cds_lfht_mm_type::alloc_bucket_table -->
-        <var-decl name='alloc_bucket_table' type-id='type-id-76' visibility='default' filepath='../include/urcu/rculfhash.h' line='108' column='1'/>
+        <!-- void (cds_lfht*, unsigned long int)* cds_lfht_mm_type::alloc_bucket_table -->
+        <var-decl name='alloc_bucket_table' type-id='type-id-69' visibility='default' filepath='../include/urcu/rculfhash.h' line='108' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
-        <!-- void ()* cds_lfht_mm_type::free_bucket_table -->
-        <var-decl name='free_bucket_table' type-id='type-id-76' visibility='default' filepath='../include/urcu/rculfhash.h' line='109' column='1'/>
+        <!-- void (cds_lfht*, unsigned long int)* cds_lfht_mm_type::free_bucket_table -->
+        <var-decl name='free_bucket_table' type-id='type-id-69' visibility='default' filepath='../include/urcu/rculfhash.h' line='109' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- cds_lfht_node* (cds_lfht*, unsigned long int)* cds_lfht_mm_type::bucket_at -->
-        <var-decl name='bucket_at' type-id='type-id-72' visibility='default' filepath='../include/urcu/rculfhash.h' line='110' column='1'/>
+        <var-decl name='bucket_at' type-id='type-id-65' visibility='default' filepath='../include/urcu/rculfhash.h' line='110' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_lfht* -->
+    <pointer-type-def type-id='type-id-60' size-in-bits='64' id='type-id-70'/>
+    <!-- cds_lfht* (unsigned long int, unsigned long int)* -->
+    <pointer-type-def type-id='type-id-71' size-in-bits='64' id='type-id-68'/>
+    <!-- void (cds_lfht*, unsigned long int)* -->
+    <pointer-type-def type-id='type-id-72' size-in-bits='64' id='type-id-69'/>
     <!-- struct cds_lfht_node -->
-    <class-decl name='cds_lfht_node' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/rculfhash.h' line='60' column='1' id='type-id-77'>
+    <class-decl name='cds_lfht_node' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/rculfhash.h' line='60' column='1' id='type-id-73'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_lfht_node* cds_lfht_node::next -->
-        <var-decl name='next' type-id='type-id-60' visibility='default' filepath='../include/urcu/rculfhash.h' line='61' column='1'/>
+        <var-decl name='next' type-id='type-id-74' visibility='default' filepath='../include/urcu/rculfhash.h' line='61' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- unsigned long int cds_lfht_node::reverse_hash -->
-        <var-decl name='reverse_hash' type-id='type-id-22' visibility='default' filepath='../include/urcu/rculfhash.h' line='62' column='1'/>
+        <var-decl name='reverse_hash' type-id='type-id-39' visibility='default' filepath='../include/urcu/rculfhash.h' line='62' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_lfht_node* -->
+    <pointer-type-def type-id='type-id-73' size-in-bits='64' id='type-id-74'/>
+    <!-- cds_lfht_node* (cds_lfht*, unsigned long int)* -->
+    <pointer-type-def type-id='type-id-75' size-in-bits='64' id='type-id-65'/>
+    <!-- const cds_lfht_mm_type -->
+    <qualified-type-def type-id='type-id-67' const='yes' id='type-id-76'/>
+    <!-- const cds_lfht_mm_type* -->
+    <pointer-type-def type-id='type-id-76' size-in-bits='64' id='type-id-61'/>
     <!-- struct rcu_flavor_struct -->
-    <class-decl name='rcu_flavor_struct' size-in-bits='896' is-struct='yes' visibility='default' filepath='../src/urcu-flavor.h' line='40' column='1' id='type-id-78'>
+    <class-decl name='rcu_flavor_struct' size-in-bits='896' is-struct='yes' visibility='default' filepath='../src/urcu-flavor.h' line='40' column='1' id='type-id-77'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- void ()* rcu_flavor_struct::read_lock -->
-        <var-decl name='read_lock' type-id='type-id-79' visibility='default' filepath='../src/urcu-flavor.h' line='41' column='1'/>
+        <var-decl name='read_lock' type-id='type-id-78' visibility='default' filepath='../src/urcu-flavor.h' line='41' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void ()* rcu_flavor_struct::read_unlock -->
-        <var-decl name='read_unlock' type-id='type-id-79' visibility='default' filepath='../src/urcu-flavor.h' line='42' column='1'/>
+        <var-decl name='read_unlock' type-id='type-id-78' visibility='default' filepath='../src/urcu-flavor.h' line='42' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- int ()* rcu_flavor_struct::read_ongoing -->
-        <var-decl name='read_ongoing' type-id='type-id-80' visibility='default' filepath='../src/urcu-flavor.h' line='43' column='1'/>
+        <var-decl name='read_ongoing' type-id='type-id-79' visibility='default' filepath='../src/urcu-flavor.h' line='43' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- void ()* rcu_flavor_struct::read_quiescent_state -->
-        <var-decl name='read_quiescent_state' type-id='type-id-79' visibility='default' filepath='../src/urcu-flavor.h' line='44' column='1'/>
+        <var-decl name='read_quiescent_state' type-id='type-id-78' visibility='default' filepath='../src/urcu-flavor.h' line='44' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- void (rcu_head*, void (rcu_head*)*)* rcu_flavor_struct::update_call_rcu -->
-        <var-decl name='update_call_rcu' type-id='type-id-6' visibility='default' filepath='../src/urcu-flavor.h' line='45' column='1'/>
+        <var-decl name='update_call_rcu' type-id='type-id-5' visibility='default' filepath='../src/urcu-flavor.h' line='45' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
         <!-- void ()* rcu_flavor_struct::update_synchronize_rcu -->
-        <var-decl name='update_synchronize_rcu' type-id='type-id-79' visibility='default' filepath='../src/urcu-flavor.h' line='47' column='1'/>
+        <var-decl name='update_synchronize_rcu' type-id='type-id-78' visibility='default' filepath='../src/urcu-flavor.h' line='47' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='384'>
         <!-- void (void (void*)*, void*)* rcu_flavor_struct::update_defer_rcu -->
-        <var-decl name='update_defer_rcu' type-id='type-id-81' visibility='default' filepath='../src/urcu-flavor.h' line='48' column='1'/>
+        <var-decl name='update_defer_rcu' type-id='type-id-80' visibility='default' filepath='../src/urcu-flavor.h' line='48' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='448'>
         <!-- void ()* rcu_flavor_struct::thread_offline -->
-        <var-decl name='thread_offline' type-id='type-id-79' visibility='default' filepath='../src/urcu-flavor.h' line='50' column='1'/>
+        <var-decl name='thread_offline' type-id='type-id-78' visibility='default' filepath='../src/urcu-flavor.h' line='50' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='512'>
         <!-- void ()* rcu_flavor_struct::thread_online -->
-        <var-decl name='thread_online' type-id='type-id-79' visibility='default' filepath='../src/urcu-flavor.h' line='51' column='1'/>
+        <var-decl name='thread_online' type-id='type-id-78' visibility='default' filepath='../src/urcu-flavor.h' line='51' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='576'>
         <!-- void ()* rcu_flavor_struct::register_thread -->
-        <var-decl name='register_thread' type-id='type-id-79' visibility='default' filepath='../src/urcu-flavor.h' line='52' column='1'/>
+        <var-decl name='register_thread' type-id='type-id-78' visibility='default' filepath='../src/urcu-flavor.h' line='52' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='640'>
         <!-- void ()* rcu_flavor_struct::unregister_thread -->
-        <var-decl name='unregister_thread' type-id='type-id-79' visibility='default' filepath='../src/urcu-flavor.h' line='53' column='1'/>
+        <var-decl name='unregister_thread' type-id='type-id-78' visibility='default' filepath='../src/urcu-flavor.h' line='53' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='704'>
         <!-- void ()* rcu_flavor_struct::barrier -->
-        <var-decl name='barrier' type-id='type-id-79' visibility='default' filepath='../src/urcu-flavor.h' line='55' column='1'/>
+        <var-decl name='barrier' type-id='type-id-78' visibility='default' filepath='../src/urcu-flavor.h' line='55' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='768'>
         <!-- void (urcu_atfork*)* rcu_flavor_struct::register_rculfhash_atfork -->
-        <var-decl name='register_rculfhash_atfork' type-id='type-id-82' visibility='default' filepath='../src/urcu-flavor.h' line='57' column='1'/>
+        <var-decl name='register_rculfhash_atfork' type-id='type-id-81' visibility='default' filepath='../src/urcu-flavor.h' line='57' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='832'>
         <!-- void (urcu_atfork*)* rcu_flavor_struct::unregister_rculfhash_atfork -->
-        <var-decl name='unregister_rculfhash_atfork' type-id='type-id-82' visibility='default' filepath='../src/urcu-flavor.h' line='58' column='1'/>
+        <var-decl name='unregister_rculfhash_atfork' type-id='type-id-81' visibility='default' filepath='../src/urcu-flavor.h' line='58' column='1'/>
       </data-member>
     </class-decl>
+    <!-- void ()* -->
+    <pointer-type-def type-id='type-id-82' size-in-bits='64' id='type-id-78'/>
+    <!-- int ()* -->
+    <pointer-type-def type-id='type-id-83' size-in-bits='64' id='type-id-79'/>
+    <!-- void (void*)* -->
+    <pointer-type-def type-id='type-id-84' size-in-bits='64' id='type-id-85'/>
+    <!-- void (void (void*)*, void*)* -->
+    <pointer-type-def type-id='type-id-86' size-in-bits='64' id='type-id-80'/>
     <!-- struct urcu_atfork -->
-    <class-decl name='urcu_atfork' size-in-bits='256' is-struct='yes' visibility='default' filepath='../src/urcu-flavor.h' line='30' column='1' id='type-id-83'>
+    <class-decl name='urcu_atfork' size-in-bits='256' is-struct='yes' visibility='default' filepath='../src/urcu-flavor.h' line='30' column='1' id='type-id-87'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- void (void*)* urcu_atfork::before_fork -->
-        <var-decl name='before_fork' type-id='type-id-84' visibility='default' filepath='../src/urcu-flavor.h' line='31' column='1'/>
+        <var-decl name='before_fork' type-id='type-id-85' visibility='default' filepath='../src/urcu-flavor.h' line='31' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void (void*)* urcu_atfork::after_fork_parent -->
-        <var-decl name='after_fork_parent' type-id='type-id-84' visibility='default' filepath='../src/urcu-flavor.h' line='32' column='1'/>
+        <var-decl name='after_fork_parent' type-id='type-id-85' visibility='default' filepath='../src/urcu-flavor.h' line='32' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- void (void*)* urcu_atfork::after_fork_child -->
-        <var-decl name='after_fork_child' type-id='type-id-84' visibility='default' filepath='../src/urcu-flavor.h' line='33' column='1'/>
+        <var-decl name='after_fork_child' type-id='type-id-85' visibility='default' filepath='../src/urcu-flavor.h' line='33' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- void* urcu_atfork::priv -->
         <var-decl name='priv' type-id='type-id-48' visibility='default' filepath='../src/urcu-flavor.h' line='34' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef pthread_attr_t pthread_attr_t -->
-    <typedef-decl name='pthread_attr_t' type-id='type-id-85' filepath='/usr/include/bits/pthreadtypes.h' line='62' column='1' id='type-id-86'/>
+    <!-- urcu_atfork* -->
+    <pointer-type-def type-id='type-id-87' size-in-bits='64' id='type-id-88'/>
+    <!-- void (urcu_atfork*)* -->
+    <pointer-type-def type-id='type-id-89' size-in-bits='64' id='type-id-81'/>
+    <!-- const rcu_flavor_struct -->
+    <qualified-type-def type-id='type-id-77' const='yes' id='type-id-90'/>
+    <!-- const rcu_flavor_struct* -->
+    <pointer-type-def type-id='type-id-90' size-in-bits='64' id='type-id-62'/>
     <!-- union pthread_attr_t -->
-    <union-decl name='pthread_attr_t' size-in-bits='448' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='56' column='1' id='type-id-85'>
+    <union-decl name='pthread_attr_t' size-in-bits='448' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='56' column='1' id='type-id-91'>
       <data-member access='private'>
         <!-- char pthread_attr_t::__size[56] -->
-        <var-decl name='__size' type-id='type-id-65' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='58' column='1'/>
+        <var-decl name='__size' type-id='type-id-92' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='58' column='1'/>
       </data-member>
       <data-member access='private'>
         <!-- long int pthread_attr_t::__align -->
-        <var-decl name='__align' type-id='type-id-24' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='59' column='1'/>
+        <var-decl name='__align' type-id='type-id-32' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='59' column='1'/>
       </data-member>
     </union-decl>
+
+    <!-- char[56] -->
+    <array-type-def dimensions='1' type-id='type-id-38' size-in-bits='448' id='type-id-92'>
+      <!-- <anonymous range>[56] -->
+      <subrange length='56' type-id='type-id-39' id='type-id-93'/>
+
+    </array-type-def>
+    <!-- typedef pthread_attr_t pthread_attr_t -->
+    <typedef-decl name='pthread_attr_t' type-id='type-id-91' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='62' column='1' id='type-id-94'/>
+    <!-- pthread_attr_t* -->
+    <pointer-type-def type-id='type-id-94' size-in-bits='64' id='type-id-63'/>
     <!-- struct ht_items_count -->
-    <class-decl name='ht_items_count' size-in-bits='1024' is-struct='yes' visibility='default' filepath='src/rculfhash.c' line='337' column='1' id='type-id-87'>
+    <class-decl name='ht_items_count' size-in-bits='1024' is-struct='yes' visibility='default' filepath='src/rculfhash.c' line='337' column='1' id='type-id-95'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned long int ht_items_count::add -->
-        <var-decl name='add' type-id='type-id-22' visibility='default' filepath='src/rculfhash.c' line='338' column='1'/>
+        <var-decl name='add' type-id='type-id-39' visibility='default' filepath='src/rculfhash.c' line='338' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- unsigned long int ht_items_count::del -->
-        <var-decl name='del' type-id='type-id-22' visibility='default' filepath='src/rculfhash.c' line='338' column='1'/>
+        <var-decl name='del' type-id='type-id-39' visibility='default' filepath='src/rculfhash.c' line='338' column='1'/>
       </data-member>
     </class-decl>
-    <!-- union {cds_lfht_node* tbl_order[64]; cds_lfht_node* tbl_chunk[]; cds_lfht_node* tbl_mmap;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='4096' is-anonymous='yes' visibility='default' filepath='../src/rculfhash-internal.h' line='111' column='1' id='type-id-73'>
+    <!-- ht_items_count* -->
+    <pointer-type-def type-id='type-id-95' size-in-bits='64' id='type-id-64'/>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='4096' is-anonymous='yes' visibility='default' filepath='../src/rculfhash-internal.h' line='111' column='1' id='type-id-66'>
       <data-member access='private'>
-        <!-- cds_lfht_node* tbl_order[64] -->
-        <var-decl name='tbl_order' type-id='type-id-61' visibility='default' filepath='../src/rculfhash-internal.h' line='120' column='1'/>
+        <!-- cds_lfht_node* __anonymous_union__::tbl_order[64] -->
+        <var-decl name='tbl_order' type-id='type-id-96' visibility='default' filepath='../src/rculfhash-internal.h' line='120' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- cds_lfht_node* tbl_chunk[] -->
-        <var-decl name='tbl_chunk' type-id='type-id-63' visibility='default' filepath='../src/rculfhash-internal.h' line='132' column='1'/>
+        <!-- cds_lfht_node* __anonymous_union__::tbl_chunk[1] -->
+        <var-decl name='tbl_chunk' type-id='type-id-97' visibility='default' filepath='../src/rculfhash-internal.h' line='132' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- cds_lfht_node* tbl_mmap -->
-        <var-decl name='tbl_mmap' type-id='type-id-60' visibility='default' filepath='../src/rculfhash-internal.h' line='138' column='1'/>
+        <!-- cds_lfht_node* __anonymous_union__::tbl_mmap -->
+        <var-decl name='tbl_mmap' type-id='type-id-74' visibility='default' filepath='../src/rculfhash-internal.h' line='138' column='1'/>
       </data-member>
     </union-decl>
-    <!-- struct cds_lfht_iter -->
-    <class-decl name='cds_lfht_iter' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/rculfhash.h' line='66' column='1' id='type-id-88'>
-      <data-member access='public' layout-offset-in-bits='0'>
-        <!-- cds_lfht_node* cds_lfht_iter::node -->
-        <var-decl name='node' type-id='type-id-60' visibility='default' filepath='../include/urcu/rculfhash.h' line='67' column='1'/>
-      </data-member>
-      <data-member access='public' layout-offset-in-bits='64'>
-        <!-- cds_lfht_node* cds_lfht_iter::next -->
-        <var-decl name='next' type-id='type-id-60' visibility='default' filepath='../include/urcu/rculfhash.h' line='67' column='1'/>
-      </data-member>
-    </class-decl>
-    <!-- typedef int (cds_lfht_node*, void*)* cds_lfht_match_fct -->
-    <typedef-decl name='cds_lfht_match_fct' type-id='type-id-89' filepath='../include/urcu/rculfhash.h' line='83' column='1' id='type-id-90'/>
-    <!-- typedef __uint32_t uint32_t -->
-    <typedef-decl name='uint32_t' type-id='type-id-91' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-92'/>
-    <!-- typedef unsigned int __uint32_t -->
-    <typedef-decl name='__uint32_t' type-id='type-id-26' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-91'/>
-    <!-- cds_lfht* -->
-    <pointer-type-def type-id='type-id-67' size-in-bits='64' id='type-id-93'/>
-    <!-- cds_lfht* (unsigned long int, unsigned long int)* -->
-    <pointer-type-def type-id='type-id-94' size-in-bits='64' id='type-id-75'/>
-    <!-- cds_lfht_iter* -->
-    <pointer-type-def type-id='type-id-88' size-in-bits='64' id='type-id-95'/>
-    <!-- cds_lfht_node* -->
-    <pointer-type-def type-id='type-id-77' size-in-bits='64' id='type-id-60'/>
-    <!-- cds_lfht_node* (cds_lfht*, unsigned long int)* -->
-    <pointer-type-def type-id='type-id-96' size-in-bits='64' id='type-id-72'/>
-    <!-- const cds_lfht_mm_type -->
-    <qualified-type-def type-id='type-id-74' const='yes' id='type-id-97'/>
-    <!-- const cds_lfht_mm_type* -->
-    <pointer-type-def type-id='type-id-97' size-in-bits='64' id='type-id-68'/>
-    <!-- const rcu_flavor_struct -->
-    <qualified-type-def type-id='type-id-78' const='yes' id='type-id-98'/>
-    <!-- const rcu_flavor_struct* -->
-    <pointer-type-def type-id='type-id-98' size-in-bits='64' id='type-id-69'/>
-    <!-- ht_items_count* -->
-    <pointer-type-def type-id='type-id-87' size-in-bits='64' id='type-id-71'/>
-    <!-- int ()* -->
-    <pointer-type-def type-id='type-id-99' size-in-bits='64' id='type-id-80'/>
-    <!-- int (cds_lfht_node*, void*)* -->
-    <pointer-type-def type-id='type-id-100' size-in-bits='64' id='type-id-89'/>
-    <!-- long int* -->
-    <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-101'/>
-    <!-- pthread_attr_t* -->
-    <pointer-type-def type-id='type-id-86' size-in-bits='64' id='type-id-70'/>
-    <!-- pthread_attr_t** -->
-    <pointer-type-def type-id='type-id-70' size-in-bits='64' id='type-id-102'/>
-    <!-- unsigned long int* -->
-    <pointer-type-def type-id='type-id-22' size-in-bits='64' id='type-id-103'/>
-    <!-- urcu_atfork* -->
-    <pointer-type-def type-id='type-id-83' size-in-bits='64' id='type-id-104'/>
-    <!-- void ()* -->
-    <pointer-type-def type-id='type-id-105' size-in-bits='64' id='type-id-79'/>
-    <!-- void ()* -->
-    <pointer-type-def type-id='type-id-106' size-in-bits='64' id='type-id-76'/>
-    <!-- void (urcu_atfork*)* -->
-    <pointer-type-def type-id='type-id-107' size-in-bits='64' id='type-id-82'/>
-    <!-- void (void (void*)*, void*)* -->
-    <pointer-type-def type-id='type-id-108' size-in-bits='64' id='type-id-81'/>
-    <!-- void (void*)* -->
-    <pointer-type-def type-id='type-id-109' size-in-bits='64' id='type-id-84'/>
+
+    <!-- cds_lfht_node*[64] -->
+    <array-type-def dimensions='1' type-id='type-id-74' size-in-bits='4096' id='type-id-96'>
+      <!-- <anonymous range>[64] -->
+      <subrange length='64' type-id='type-id-39' id='type-id-98'/>
+
+    </array-type-def>
+
+    <!-- cds_lfht_node*[1] -->
+    <array-type-def dimensions='1' type-id='type-id-74' size-in-bits='64' id='type-id-97'>
+      <!-- <anonymous range>[1] -->
+      <subrange length='1' type-id='type-id-39' id='type-id-99'/>
+
+    </array-type-def>
     <!-- void cds_lfht_resize(cds_lfht*, unsigned long int) -->
     <function-decl name='cds_lfht_resize' mangled-name='cds_lfht_resize' filepath='src/rculfhash.c' line='1978' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_resize'>
       <!-- parameter of type 'cds_lfht*' -->
-      <parameter type-id='type-id-93' name='ht' filepath='src/rculfhash.c' line='1978' column='1'/>
+      <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='1978' column='1'/>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-22' name='new_size' filepath='src/rculfhash.c' line='1978' column='1'/>
+      <parameter type-id='type-id-39' name='new_size' filepath='src/rculfhash.c' line='1978' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
+    <!-- long int* -->
+    <pointer-type-def type-id='type-id-32' size-in-bits='64' id='type-id-100'/>
+    <!-- unsigned long int* -->
+    <pointer-type-def type-id='type-id-39' size-in-bits='64' id='type-id-101'/>
     <!-- void cds_lfht_count_nodes(cds_lfht*, long int*, unsigned long int*, long int*) -->
     <function-decl name='cds_lfht_count_nodes' mangled-name='cds_lfht_count_nodes' filepath='src/rculfhash.c' line='1856' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_count_nodes'>
       <!-- parameter of type 'cds_lfht*' -->
-      <parameter type-id='type-id-93' name='ht' filepath='src/rculfhash.c' line='1856' column='1'/>
+      <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='1856' column='1'/>
       <!-- parameter of type 'long int*' -->
-      <parameter type-id='type-id-101' name='approx_before' filepath='src/rculfhash.c' line='1857' column='1'/>
+      <parameter type-id='type-id-100' name='approx_before' filepath='src/rculfhash.c' line='1857' column='1'/>
       <!-- parameter of type 'unsigned long int*' -->
-      <parameter type-id='type-id-103' name='count' filepath='src/rculfhash.c' line='1858' column='1'/>
+      <parameter type-id='type-id-101' name='count' filepath='src/rculfhash.c' line='1858' column='1'/>
       <!-- parameter of type 'long int*' -->
-      <parameter type-id='type-id-101' name='approx_after' filepath='src/rculfhash.c' line='1859' column='1'/>
+      <parameter type-id='type-id-100' name='approx_after' filepath='src/rculfhash.c' line='1859' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
+    <!-- pthread_attr_t** -->
+    <pointer-type-def type-id='type-id-63' size-in-bits='64' id='type-id-102'/>
     <!-- int cds_lfht_destroy(cds_lfht*, pthread_attr_t**) -->
     <function-decl name='cds_lfht_destroy' mangled-name='cds_lfht_destroy' filepath='src/rculfhash.c' line='1831' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_destroy'>
       <!-- parameter of type 'cds_lfht*' -->
-      <parameter type-id='type-id-93' name='ht' filepath='src/rculfhash.c' line='1831' column='1'/>
+      <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='1831' column='1'/>
       <!-- parameter of type 'pthread_attr_t**' -->
       <parameter type-id='type-id-102' name='attr' filepath='src/rculfhash.c' line='1831' column='1'/>
       <!-- int -->
-      <return type-id='type-id-1'/>
+      <return type-id='type-id-3'/>
     </function-decl>
     <!-- int cds_lfht_is_node_deleted(cds_lfht_node*) -->
     <function-decl name='cds_lfht_is_node_deleted' mangled-name='cds_lfht_is_node_deleted' filepath='src/rculfhash.c' line='1788' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_is_node_deleted'>
       <!-- parameter of type 'cds_lfht_node*' -->
-      <parameter type-id='type-id-60' name='node' filepath='src/rculfhash.c' line='1788' column='1'/>
+      <parameter type-id='type-id-74' name='node' filepath='src/rculfhash.c' line='1788' column='1'/>
       <!-- int -->
-      <return type-id='type-id-1'/>
+      <return type-id='type-id-3'/>
     </function-decl>
     <!-- int cds_lfht_del(cds_lfht*, cds_lfht_node*) -->
     <function-decl name='cds_lfht_del' mangled-name='cds_lfht_del' filepath='src/rculfhash.c' line='1772' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_del'>
       <!-- parameter of type 'cds_lfht*' -->
-      <parameter type-id='type-id-93' name='ht' filepath='src/rculfhash.c' line='1772' column='1'/>
+      <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='1772' column='1'/>
       <!-- parameter of type 'cds_lfht_node*' -->
-      <parameter type-id='type-id-60' name='node' filepath='src/rculfhash.c' line='1772' column='1'/>
+      <parameter type-id='type-id-74' name='node' filepath='src/rculfhash.c' line='1772' column='1'/>
       <!-- int -->
-      <return type-id='type-id-1'/>
+      <return type-id='type-id-3'/>
     </function-decl>
+    <!-- struct cds_lfht_iter -->
+    <class-decl name='cds_lfht_iter' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/rculfhash.h' line='66' column='1' id='type-id-103'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_lfht_node* cds_lfht_iter::node -->
+        <var-decl name='node' type-id='type-id-74' visibility='default' filepath='../include/urcu/rculfhash.h' line='67' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- cds_lfht_node* cds_lfht_iter::next -->
+        <var-decl name='next' type-id='type-id-74' visibility='default' filepath='../include/urcu/rculfhash.h' line='67' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- cds_lfht_iter* -->
+    <pointer-type-def type-id='type-id-103' size-in-bits='64' id='type-id-104'/>
+    <!-- int (cds_lfht_node*, void*)* -->
+    <pointer-type-def type-id='type-id-105' size-in-bits='64' id='type-id-106'/>
+    <!-- typedef int (cds_lfht_node*, void*)* cds_lfht_match_fct -->
+    <typedef-decl name='cds_lfht_match_fct' type-id='type-id-106' filepath='../include/urcu/rculfhash.h' line='83' column='1' id='type-id-107'/>
     <!-- int cds_lfht_replace(cds_lfht*, cds_lfht_iter*, unsigned long int, cds_lfht_match_fct, void*, cds_lfht_node*) -->
     <function-decl name='cds_lfht_replace' mangled-name='cds_lfht_replace' filepath='src/rculfhash.c' line='1751' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_replace'>
       <!-- parameter of type 'cds_lfht*' -->
-      <parameter type-id='type-id-93' name='ht' filepath='src/rculfhash.c' line='1751' column='1'/>
+      <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='1751' column='1'/>
       <!-- parameter of type 'cds_lfht_iter*' -->
-      <parameter type-id='type-id-95' name='old_iter' filepath='src/rculfhash.c' line='1752' column='1'/>
+      <parameter type-id='type-id-104' name='old_iter' filepath='src/rculfhash.c' line='1752' column='1'/>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-22' name='hash' filepath='src/rculfhash.c' line='1753' column='1'/>
+      <parameter type-id='type-id-39' name='hash' filepath='src/rculfhash.c' line='1753' column='1'/>
       <!-- parameter of type 'typedef cds_lfht_match_fct' -->
-      <parameter type-id='type-id-90' name='match' filepath='src/rculfhash.c' line='1754' column='1'/>
+      <parameter type-id='type-id-107' name='match' filepath='src/rculfhash.c' line='1754' column='1'/>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-48' name='key' filepath='src/rculfhash.c' line='1755' column='1'/>
       <!-- parameter of type 'cds_lfht_node*' -->
-      <parameter type-id='type-id-60' name='new_node' filepath='src/rculfhash.c' line='1756' column='1'/>
+      <parameter type-id='type-id-74' name='new_node' filepath='src/rculfhash.c' line='1756' column='1'/>
       <!-- int -->
-      <return type-id='type-id-1'/>
+      <return type-id='type-id-3'/>
     </function-decl>
     <!-- cds_lfht_node* cds_lfht_add_replace(cds_lfht*, unsigned long int, cds_lfht_match_fct, void*, cds_lfht_node*) -->
     <function-decl name='cds_lfht_add_replace' mangled-name='cds_lfht_add_replace' filepath='src/rculfhash.c' line='1728' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_add_replace'>
       <!-- parameter of type 'cds_lfht*' -->
-      <parameter type-id='type-id-93' name='ht' filepath='src/rculfhash.c' line='1728' column='1'/>
+      <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='1728' column='1'/>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-22' name='hash' filepath='src/rculfhash.c' line='1729' column='1'/>
+      <parameter type-id='type-id-39' name='hash' filepath='src/rculfhash.c' line='1729' column='1'/>
       <!-- parameter of type 'typedef cds_lfht_match_fct' -->
-      <parameter type-id='type-id-90' name='match' filepath='src/rculfhash.c' line='1730' column='1'/>
+      <parameter type-id='type-id-107' name='match' filepath='src/rculfhash.c' line='1730' column='1'/>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-48' name='key' filepath='src/rculfhash.c' line='1731' column='1'/>
       <!-- parameter of type 'cds_lfht_node*' -->
-      <parameter type-id='type-id-60' name='node' filepath='src/rculfhash.c' line='1732' column='1'/>
+      <parameter type-id='type-id-74' name='node' filepath='src/rculfhash.c' line='1732' column='1'/>
       <!-- cds_lfht_node* -->
-      <return type-id='type-id-60'/>
+      <return type-id='type-id-74'/>
     </function-decl>
     <!-- cds_lfht_node* cds_lfht_add_unique(cds_lfht*, unsigned long int, cds_lfht_match_fct, void*, cds_lfht_node*) -->
     <function-decl name='cds_lfht_add_unique' mangled-name='cds_lfht_add_unique' filepath='src/rculfhash.c' line='1711' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_add_unique'>
       <!-- parameter of type 'cds_lfht*' -->
-      <parameter type-id='type-id-93' name='ht' filepath='src/rculfhash.c' line='1711' column='1'/>
+      <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='1728' column='1'/>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-22' name='hash' filepath='src/rculfhash.c' line='1712' column='1'/>
+      <parameter type-id='type-id-39' name='hash' filepath='src/rculfhash.c' line='1729' column='1'/>
       <!-- parameter of type 'typedef cds_lfht_match_fct' -->
-      <parameter type-id='type-id-90' name='match' filepath='src/rculfhash.c' line='1713' column='1'/>
+      <parameter type-id='type-id-107' name='match' filepath='src/rculfhash.c' line='1730' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-48' name='key' filepath='src/rculfhash.c' line='1714' column='1'/>
+      <parameter type-id='type-id-48' name='key' filepath='src/rculfhash.c' line='1731' column='1'/>
       <!-- parameter of type 'cds_lfht_node*' -->
-      <parameter type-id='type-id-60' name='node' filepath='src/rculfhash.c' line='1715' column='1'/>
+      <parameter type-id='type-id-74' name='node' filepath='src/rculfhash.c' line='1732' column='1'/>
       <!-- cds_lfht_node* -->
-      <return type-id='type-id-60'/>
+      <return type-id='type-id-74'/>
     </function-decl>
     <!-- void cds_lfht_add(cds_lfht*, unsigned long int, cds_lfht_node*) -->
     <function-decl name='cds_lfht_add' mangled-name='cds_lfht_add' filepath='src/rculfhash.c' line='1700' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_add'>
       <!-- parameter of type 'cds_lfht*' -->
-      <parameter type-id='type-id-93' name='ht' filepath='src/rculfhash.c' line='1700' column='1'/>
+      <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='1700' column='1'/>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-22' name='hash' filepath='src/rculfhash.c' line='1700' column='1'/>
+      <parameter type-id='type-id-39' name='hash' filepath='src/rculfhash.c' line='1700' column='1'/>
       <!-- parameter of type 'cds_lfht_node*' -->
-      <parameter type-id='type-id-60' name='node' filepath='src/rculfhash.c' line='1701' column='1'/>
+      <parameter type-id='type-id-74' name='node' filepath='src/rculfhash.c' line='1701' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- void cds_lfht_first(cds_lfht*, cds_lfht_iter*) -->
     <function-decl name='cds_lfht_first' mangled-name='cds_lfht_first' filepath='src/rculfhash.c' line='1690' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_first'>
       <!-- parameter of type 'cds_lfht*' -->
-      <parameter type-id='type-id-93' name='ht' filepath='src/rculfhash.c' line='1690' column='1'/>
+      <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='1690' column='1'/>
       <!-- parameter of type 'cds_lfht_iter*' -->
-      <parameter type-id='type-id-95' name='iter' filepath='src/rculfhash.c' line='1690' column='1'/>
+      <parameter type-id='type-id-104' name='iter' filepath='src/rculfhash.c' line='1690' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- void cds_lfht_next(cds_lfht*, cds_lfht_iter*) -->
     <function-decl name='cds_lfht_next' mangled-name='cds_lfht_next' filepath='src/rculfhash.c' line='1668' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_next'>
       <!-- parameter of type 'cds_lfht*' -->
-      <parameter type-id='type-id-93' name='ht' filepath='src/rculfhash.c' line='1668' column='1'/>
+      <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='1668' column='1'/>
       <!-- parameter of type 'cds_lfht_iter*' -->
-      <parameter type-id='type-id-95' name='iter' filepath='src/rculfhash.c' line='1668' column='1'/>
+      <parameter type-id='type-id-104' name='iter' filepath='src/rculfhash.c' line='1668' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- void cds_lfht_next_duplicate(cds_lfht*, cds_lfht_match_fct, void*, cds_lfht_iter*) -->
     <function-decl name='cds_lfht_next_duplicate' mangled-name='cds_lfht_next_duplicate' filepath='src/rculfhash.c' line='1635' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_next_duplicate'>
       <!-- parameter of type 'cds_lfht*' -->
-      <parameter type-id='type-id-93' name='ht' filepath='src/rculfhash.c' line='1635' column='1'/>
+      <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='1635' column='1'/>
       <!-- parameter of type 'typedef cds_lfht_match_fct' -->
-      <parameter type-id='type-id-90' name='match' filepath='src/rculfhash.c' line='1635' column='1'/>
+      <parameter type-id='type-id-107' name='match' filepath='src/rculfhash.c' line='1635' column='1'/>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-48' name='key' filepath='src/rculfhash.c' line='1636' column='1'/>
       <!-- parameter of type 'cds_lfht_iter*' -->
-      <parameter type-id='type-id-95' name='iter' filepath='src/rculfhash.c' line='1636' column='1'/>
+      <parameter type-id='type-id-104' name='iter' filepath='src/rculfhash.c' line='1636' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- void cds_lfht_lookup(cds_lfht*, unsigned long int, cds_lfht_match_fct, void*, cds_lfht_iter*) -->
     <function-decl name='cds_lfht_lookup' mangled-name='cds_lfht_lookup' filepath='src/rculfhash.c' line='1597' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_lookup'>
       <!-- parameter of type 'cds_lfht*' -->
-      <parameter type-id='type-id-93' name='ht' filepath='src/rculfhash.c' line='1597' column='1'/>
+      <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='1597' column='1'/>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-22' name='hash' filepath='src/rculfhash.c' line='1597' column='1'/>
+      <parameter type-id='type-id-39' name='hash' filepath='src/rculfhash.c' line='1597' column='1'/>
       <!-- parameter of type 'typedef cds_lfht_match_fct' -->
-      <parameter type-id='type-id-90' name='match' filepath='src/rculfhash.c' line='1598' column='1'/>
+      <parameter type-id='type-id-107' name='match' filepath='src/rculfhash.c' line='1598' column='1'/>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-48' name='key' filepath='src/rculfhash.c' line='1598' column='1'/>
       <!-- parameter of type 'cds_lfht_iter*' -->
-      <parameter type-id='type-id-95' name='iter' filepath='src/rculfhash.c' line='1599' column='1'/>
+      <parameter type-id='type-id-104' name='iter' filepath='src/rculfhash.c' line='1599' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- cds_lfht* _cds_lfht_new(unsigned long int, unsigned long int, unsigned long int, int, const cds_lfht_mm_type*, const rcu_flavor_struct*, pthread_attr_t*) -->
     <function-decl name='_cds_lfht_new' mangled-name='_cds_lfht_new' filepath='src/rculfhash.c' line='1520' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_cds_lfht_new'>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-22' name='init_size' filepath='src/rculfhash.c' line='1520' column='1'/>
+      <parameter type-id='type-id-39' name='init_size' filepath='src/rculfhash.c' line='1520' column='1'/>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-22' name='min_nr_alloc_buckets' filepath='src/rculfhash.c' line='1521' column='1'/>
+      <parameter type-id='type-id-39' name='min_nr_alloc_buckets' filepath='src/rculfhash.c' line='1521' column='1'/>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-22' name='max_nr_buckets' filepath='src/rculfhash.c' line='1522' column='1'/>
+      <parameter type-id='type-id-39' name='max_nr_buckets' filepath='src/rculfhash.c' line='1522' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-1' name='flags' filepath='src/rculfhash.c' line='1523' column='1'/>
+      <parameter type-id='type-id-3' name='flags' filepath='src/rculfhash.c' line='1523' column='1'/>
       <!-- parameter of type 'const cds_lfht_mm_type*' -->
-      <parameter type-id='type-id-68' name='mm' filepath='src/rculfhash.c' line='1524' column='1'/>
+      <parameter type-id='type-id-61' name='mm' filepath='src/rculfhash.c' line='1524' column='1'/>
       <!-- parameter of type 'const rcu_flavor_struct*' -->
-      <parameter type-id='type-id-69' name='flavor' filepath='src/rculfhash.c' line='1525' column='1'/>
+      <parameter type-id='type-id-62' name='flavor' filepath='src/rculfhash.c' line='1525' column='1'/>
       <!-- parameter of type 'pthread_attr_t*' -->
-      <parameter type-id='type-id-70' name='attr' filepath='src/rculfhash.c' line='1526' column='1'/>
+      <parameter type-id='type-id-63' name='attr' filepath='src/rculfhash.c' line='1526' column='1'/>
       <!-- cds_lfht* -->
-      <return type-id='type-id-93'/>
+      <return type-id='type-id-70'/>
     </function-decl>
     <!-- int cds_lfht_get_count_order_ulong(unsigned long int) -->
     <function-decl name='cds_lfht_get_count_order_ulong' mangled-name='cds_lfht_get_count_order_ulong' filepath='src/rculfhash.c' line='574' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_get_count_order_ulong'>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-22' name='x' filepath='src/rculfhash.c' line='574' column='1'/>
+      <parameter type-id='type-id-39' name='x' filepath='src/rculfhash.c' line='574' column='1'/>
       <!-- int -->
-      <return type-id='type-id-1'/>
+      <return type-id='type-id-3'/>
     </function-decl>
+    <!-- typedef unsigned int __uint32_t -->
+    <typedef-decl name='__uint32_t' type-id='type-id-33' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='41' column='1' id='type-id-108'/>
+    <!-- typedef __uint32_t uint32_t -->
+    <typedef-decl name='uint32_t' type-id='type-id-108' filepath='/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h' line='26' column='1' id='type-id-109'/>
     <!-- int cds_lfht_get_count_order_u32(uint32_t) -->
     <function-decl name='cds_lfht_get_count_order_u32' mangled-name='cds_lfht_get_count_order_u32' filepath='src/rculfhash.c' line='562' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_get_count_order_u32'>
       <!-- parameter of type 'typedef uint32_t' -->
-      <parameter type-id='type-id-92' name='x' filepath='src/rculfhash.c' line='562' column='1'/>
+      <parameter type-id='type-id-109' name='x' filepath='src/rculfhash.c' line='562' column='1'/>
       <!-- int -->
-      <return type-id='type-id-1'/>
+      <return type-id='type-id-3'/>
     </function-decl>
     <!-- unsigned int cds_lfht_fls_ulong(unsigned long int) -->
     <function-decl name='cds_lfht_fls_ulong' mangled-name='cds_lfht_fls_ulong' filepath='src/rculfhash.c' line='549' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_fls_ulong'>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-22' name='x' filepath='src/rculfhash.c' line='549' column='1'/>
+      <parameter type-id='type-id-39' name='x' filepath='src/rculfhash.c' line='549' column='1'/>
       <!-- unsigned int -->
-      <return type-id='type-id-26'/>
+      <return type-id='type-id-33'/>
     </function-decl>
     <!-- cds_lfht* (unsigned long int, unsigned long int) -->
-    <function-type size-in-bits='64' id='type-id-94'>
+    <function-type size-in-bits='64' id='type-id-71'>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-22'/>
+      <parameter type-id='type-id-39'/>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-22'/>
+      <parameter type-id='type-id-39'/>
       <!-- cds_lfht* -->
-      <return type-id='type-id-93'/>
+      <return type-id='type-id-70'/>
     </function-type>
     <!-- cds_lfht_node* (cds_lfht*, unsigned long int) -->
-    <function-type size-in-bits='64' id='type-id-96'>
+    <function-type size-in-bits='64' id='type-id-75'>
       <!-- parameter of type 'cds_lfht*' -->
-      <parameter type-id='type-id-93'/>
+      <parameter type-id='type-id-70'/>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-22'/>
+      <parameter type-id='type-id-39'/>
       <!-- cds_lfht_node* -->
-      <return type-id='type-id-60'/>
+      <return type-id='type-id-74'/>
     </function-type>
     <!-- int () -->
-    <function-type size-in-bits='64' id='type-id-99'>
+    <function-type size-in-bits='64' id='type-id-83'>
       <!-- int -->
-      <return type-id='type-id-1'/>
+      <return type-id='type-id-3'/>
     </function-type>
     <!-- int (cds_lfht_node*, void*) -->
-    <function-type size-in-bits='64' id='type-id-100'>
+    <function-type size-in-bits='64' id='type-id-105'>
       <!-- parameter of type 'cds_lfht_node*' -->
-      <parameter type-id='type-id-60'/>
+      <parameter type-id='type-id-74'/>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-48'/>
       <!-- int -->
-      <return type-id='type-id-1'/>
+      <return type-id='type-id-3'/>
     </function-type>
     <!-- void () -->
-    <function-type size-in-bits='64' id='type-id-105'>
+    <function-type size-in-bits='64' id='type-id-82'>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-type>
     <!-- void (cds_lfht*, unsigned long int) -->
-    <function-type size-in-bits='64' id='type-id-106'>
+    <function-type size-in-bits='64' id='type-id-72'>
       <!-- parameter of type 'cds_lfht*' -->
-      <parameter type-id='type-id-93' name='ht'/>
+      <parameter type-id='type-id-70'/>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-22' name='new_size'/>
+      <parameter type-id='type-id-39'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-type>
     <!-- void (urcu_atfork*) -->
-    <function-type size-in-bits='64' id='type-id-107'>
+    <function-type size-in-bits='64' id='type-id-89'>
       <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-104'/>
+      <parameter type-id='type-id-88'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-type>
     <!-- void (void (void*)*, void*) -->
-    <function-type size-in-bits='64' id='type-id-108'>
+    <function-type size-in-bits='64' id='type-id-86'>
       <!-- parameter of type 'void (void*)*' -->
-      <parameter type-id='type-id-84'/>
+      <parameter type-id='type-id-85'/>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-48'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-type>
     <!-- void (void*) -->
-    <function-type size-in-bits='64' id='type-id-109'>
+    <function-type size-in-bits='64' id='type-id-84'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-48'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-type>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='rculfhash-mm-order.c' comp-dir-path='src' language='LANG_C99'>
     <!-- const cds_lfht_mm_type cds_lfht_mm_order -->
-    <var-decl name='cds_lfht_mm_order' type-id='type-id-97' mangled-name='cds_lfht_mm_order' visibility='default' filepath='../include/urcu/rculfhash.h' line='114' column='1' elf-symbol-id='cds_lfht_mm_order'/>
+    <var-decl name='cds_lfht_mm_order' type-id='type-id-76' mangled-name='cds_lfht_mm_order' visibility='default' filepath='../include/urcu/rculfhash.h' line='114' column='1' elf-symbol-id='cds_lfht_mm_order'/>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='rculfhash-mm-chunk.c' comp-dir-path='src' language='LANG_C99'>
     <!-- const cds_lfht_mm_type cds_lfht_mm_chunk -->
-    <var-decl name='cds_lfht_mm_chunk' type-id='type-id-97' mangled-name='cds_lfht_mm_chunk' visibility='default' filepath='../include/urcu/rculfhash.h' line='115' column='1' elf-symbol-id='cds_lfht_mm_chunk'/>
+    <var-decl name='cds_lfht_mm_chunk' type-id='type-id-76' mangled-name='cds_lfht_mm_chunk' visibility='default' filepath='../include/urcu/rculfhash.h' line='115' column='1' elf-symbol-id='cds_lfht_mm_chunk'/>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='rculfhash-mm-mmap.c' comp-dir-path='src' language='LANG_C99'>
     <!-- const cds_lfht_mm_type cds_lfht_mm_mmap -->
-    <var-decl name='cds_lfht_mm_mmap' type-id='type-id-97' mangled-name='cds_lfht_mm_mmap' visibility='default' filepath='../include/urcu/rculfhash.h' line='116' column='1' elf-symbol-id='cds_lfht_mm_mmap'/>
+    <var-decl name='cds_lfht_mm_mmap' type-id='type-id-76' mangled-name='cds_lfht_mm_mmap' visibility='default' filepath='../include/urcu/rculfhash.h' line='116' column='1' elf-symbol-id='cds_lfht_mm_mmap'/>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='compat_futex.c' comp-dir-path='src' language='LANG_C99'>
-
-
-    <!-- char[48] -->
-    <array-type-def dimensions='1' type-id='type-id-20' size-in-bits='384' id='type-id-110'>
-      <!-- <anonymous range>[48] -->
-      <subrange length='48' type-id='type-id-22' id='type-id-111'/>
-
-    </array-type-def>
-    <!-- long long int -->
-    <type-decl name='long long int' size-in-bits='64' id='type-id-112'/>
-    <!-- long long unsigned int -->
-    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-113'/>
-    <!-- unsigned int[2] -->
-    <array-type-def dimensions='1' type-id='type-id-26' size-in-bits='64' id='type-id-114'>
-      <!-- <anonymous range>[2] -->
-      <subrange length='2' type-id='type-id-22' id='type-id-115'/>
-
-    </array-type-def>
-    <!-- typedef __anonymous_union__ pthread_cond_t -->
-    <typedef-decl name='pthread_cond_t' type-id='type-id-116' filepath='/usr/include/bits/pthreadtypes.h' line='80' column='1' id='type-id-117'/>
-    <!-- union {__pthread_cond_s __data; char __size[48]; long long int __align;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='75' column='1' id='type-id-116'>
+    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
+    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-28' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='75' column='1' id='type-id-110'>
       <data-member access='private'>
-        <!-- __pthread_cond_s __data -->
-        <var-decl name='__data' type-id='type-id-118' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='77' column='1'/>
+        <!-- __pthread_cond_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-111' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='77' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- char __size[48] -->
-        <var-decl name='__size' type-id='type-id-110' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='78' column='1'/>
+        <!-- char __anonymous_union__::__size[48] -->
+        <var-decl name='__size' type-id='type-id-112' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='78' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- long long int __align -->
-        <var-decl name='__align' type-id='type-id-112' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='79' column='1'/>
+        <!-- long long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-113' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='79' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __pthread_cond_s -->
-    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='92' column='1' id='type-id-118'>
+    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='171' column='1' id='type-id-111'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <!-- union {long long unsigned int __wseq; struct {unsigned int __low; unsigned int __high;} __wseq32;} -->
-        <var-decl name='' type-id='type-id-119' visibility='default'/>
+        <!-- __anonymous_union__  -->
+        <var-decl name='' type-id='type-id-114' visibility='default'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- unsigned int __pthread_cond_s::__g_refs[2] -->
-        <var-decl name='__g_refs' type-id='type-id-114' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='112' column='1'/>
+        <var-decl name='__g_refs' type-id='type-id-115' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='191' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- unsigned int __pthread_cond_s::__g_size[2] -->
-        <var-decl name='__g_size' type-id='type-id-114' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='113' column='1'/>
+        <var-decl name='__g_size' type-id='type-id-115' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='192' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- unsigned int __pthread_cond_s::__g1_orig_size -->
-        <var-decl name='__g1_orig_size' type-id='type-id-26' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='114' column='1'/>
+        <var-decl name='__g1_orig_size' type-id='type-id-33' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='193' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='288'>
         <!-- unsigned int __pthread_cond_s::__wrefs -->
-        <var-decl name='__wrefs' type-id='type-id-26' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='115' column='1'/>
+        <var-decl name='__wrefs' type-id='type-id-33' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='194' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
         <!-- unsigned int __pthread_cond_s::__g_signals[2] -->
-        <var-decl name='__g_signals' type-id='type-id-114' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='116' column='1'/>
+        <var-decl name='__g_signals' type-id='type-id-115' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='195' column='1'/>
       </data-member>
     </class-decl>
-    <!-- union {long long unsigned int __wseq; struct {unsigned int __low; unsigned int __high;} __wseq32;} -->
-    <union-decl name='__anonymous_union__1' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='94' column='1' id='type-id-119'>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='173' column='1' id='type-id-114'>
       <data-member access='private'>
-        <!-- long long unsigned int __wseq -->
-        <var-decl name='__wseq' type-id='type-id-113' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='96' column='1'/>
+        <!-- long long unsigned int __anonymous_union__::__wseq -->
+        <var-decl name='__wseq' type-id='type-id-116' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='175' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- struct {unsigned int __low; unsigned int __high;} __wseq32 -->
-        <var-decl name='__wseq32' type-id='type-id-120' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='101' column='1'/>
+        <!-- __anonymous_struct__ __anonymous_union__::__wseq32 -->
+        <var-decl name='__wseq32' type-id='type-id-117' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='180' column='1'/>
       </data-member>
     </union-decl>
-    <!-- struct {unsigned int __low; unsigned int __high;} -->
-    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='97' column='1' id='type-id-120'>
+    <!-- long long unsigned int -->
+    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-116'/>
+    <!-- struct __anonymous_struct__ -->
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='176' column='1' id='type-id-117'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <!-- unsigned int __low -->
-        <var-decl name='__low' type-id='type-id-26' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='99' column='1'/>
+        <!-- unsigned int __anonymous_struct__::__low -->
+        <var-decl name='__low' type-id='type-id-33' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='178' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='32'>
-        <!-- unsigned int __high -->
-        <var-decl name='__high' type-id='type-id-26' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='100' column='1'/>
+        <!-- unsigned int __anonymous_struct__::__high -->
+        <var-decl name='__high' type-id='type-id-33' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='179' column='1'/>
       </data-member>
     </class-decl>
+
+    <!-- unsigned int[2] -->
+    <array-type-def dimensions='1' type-id='type-id-33' size-in-bits='64' id='type-id-115'>
+      <!-- <anonymous range>[2] -->
+      <subrange length='2' type-id='type-id-39' id='type-id-118'/>
+
+    </array-type-def>
+
+    <!-- char[48] -->
+    <array-type-def dimensions='1' type-id='type-id-38' size-in-bits='384' id='type-id-112'>
+      <!-- <anonymous range>[48] -->
+      <subrange length='48' type-id='type-id-39' id='type-id-119'/>
+
+    </array-type-def>
+    <!-- long long int -->
+    <type-decl name='long long int' size-in-bits='64' id='type-id-113'/>
+    <!-- typedef __anonymous_union__ pthread_cond_t -->
+    <typedef-decl name='pthread_cond_t' type-id='type-id-110' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='80' column='1' id='type-id-120'/>
+    <!-- pthread_cond_t __urcu_compat_futex_cond -->
+    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-120' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
+    <!-- int32_t* -->
+    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-121'/>
     <!-- struct timespec -->
-    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='10' column='1' id='type-id-121'>
+    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='9' column='1' id='type-id-122'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- __time_t timespec::tv_sec -->
-        <var-decl name='tv_sec' type-id='type-id-122' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='12' column='1'/>
+        <var-decl name='tv_sec' type-id='type-id-123' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='11' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- __syscall_slong_t timespec::tv_nsec -->
-        <var-decl name='tv_nsec' type-id='type-id-123' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='16' column='1'/>
+        <var-decl name='tv_nsec' type-id='type-id-124' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='12' column='1'/>
       </data-member>
     </class-decl>
     <!-- typedef long int __time_t -->
-    <typedef-decl name='__time_t' type-id='type-id-24' filepath='/usr/include/bits/types.h' line='160' column='1' id='type-id-122'/>
+    <typedef-decl name='__time_t' type-id='type-id-32' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='148' column='1' id='type-id-123'/>
     <!-- typedef long int __syscall_slong_t -->
-    <typedef-decl name='__syscall_slong_t' type-id='type-id-24' filepath='/usr/include/bits/types.h' line='197' column='1' id='type-id-123'/>
+    <typedef-decl name='__syscall_slong_t' type-id='type-id-32' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='184' column='1' id='type-id-124'/>
     <!-- const timespec -->
-    <qualified-type-def type-id='type-id-121' const='yes' id='type-id-124'/>
+    <qualified-type-def type-id='type-id-122' const='yes' id='type-id-125'/>
     <!-- const timespec* -->
-    <pointer-type-def type-id='type-id-124' size-in-bits='64' id='type-id-125'/>
-    <!-- int32_t* -->
-    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-126'/>
-    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
-    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-37' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
-    <!-- pthread_cond_t __urcu_compat_futex_cond -->
-    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-117' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
+    <pointer-type-def type-id='type-id-125' size-in-bits='64' id='type-id-126'/>
     <!-- int compat_futex_async(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
     <function-decl name='compat_futex_async' mangled-name='compat_futex_async' filepath='src/compat_futex.c' line='118' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_async'>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-126' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-121' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-1' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-3' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
       <parameter type-id='type-id-46' name='val' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'const timespec*' -->
-      <parameter type-id='type-id-125' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-126' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-126' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-121' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
       <parameter type-id='type-id-46' name='val3' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- int -->
-      <return type-id='type-id-1'/>
+      <return type-id='type-id-3'/>
     </function-decl>
     <!-- int compat_futex_noasync(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
     <function-decl name='compat_futex_noasync' mangled-name='compat_futex_noasync' filepath='src/compat_futex.c' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_noasync'>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-126' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-121' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-1' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-3' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
       <parameter type-id='type-id-46' name='val' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'const timespec*' -->
-      <parameter type-id='type-id-125' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-126' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-126' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-121' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
       <parameter type-id='type-id-46' name='val3' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- int -->
-      <return type-id='type-id-1'/>
+      <return type-id='type-id-3'/>
     </function-decl>
   </abi-instr>
 </abi-corpus>
index 07daf21a5d9ae9cd44ae287f28250c2097022be3..4773d91eed60643f7bc58746b876233896805426 100644 (file)
     <elf-symbol name='__cds_wfs_pop_with_state_blocking' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- __cds_wfs_pop_with_state_nonblocking -->
     <elf-symbol name='__cds_wfs_pop_with_state_nonblocking' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- _fini -->
+    <elf-symbol name='_fini' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- _init -->
+    <elf-symbol name='_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- cds_wfcq_dequeue_blocking -->
     <elf-symbol name='cds_wfcq_dequeue_blocking' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- cds_wfcq_dequeue_lock -->
     <elf-symbol name='__urcu_compat_futex_lock' size='40' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
   </elf-variable-symbols>
   <abi-instr version='1.0' address-size='64' path='wfqueue.c' comp-dir-path='src' language='LANG_C99'>
-
-    <!-- char -->
-    <type-decl name='char' size-in-bits='8' id='type-id-1'/>
-    <!-- char[40] -->
-    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='320' id='type-id-2'>
-      <!-- <anonymous range>[40] -->
-      <subrange length='40' type-id='type-id-3' id='type-id-4'/>
-
-    </array-type-def>
-    <!-- int -->
-    <type-decl name='int' size-in-bits='32' id='type-id-5'/>
-    <!-- long int -->
-    <type-decl name='long int' size-in-bits='64' id='type-id-6'/>
-    <!-- short int -->
-    <type-decl name='short int' size-in-bits='16' id='type-id-7'/>
-    <!-- unsigned int -->
-    <type-decl name='unsigned int' size-in-bits='32' id='type-id-8'/>
-    <!-- unsigned long int -->
-    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-3'/>
-    <!-- void -->
-    <type-decl name='void' id='type-id-9'/>
     <!-- struct cds_wfq_node -->
-    <class-decl name='cds_wfq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfqueue.h' line='48' column='1' id='type-id-10'>
+    <class-decl name='cds_wfq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfqueue.h' line='48' column='1' id='type-id-1'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfq_node* cds_wfq_node::next -->
-        <var-decl name='next' type-id='type-id-11' visibility='default' filepath='../include/urcu/wfqueue.h' line='49' column='1'/>
+        <var-decl name='next' type-id='type-id-2' visibility='default' filepath='../include/urcu/wfqueue.h' line='49' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_wfq_node* -->
+    <pointer-type-def type-id='type-id-1' size-in-bits='64' id='type-id-2'/>
     <!-- struct cds_wfq_queue -->
-    <class-decl name='cds_wfq_queue' size-in-bits='512' is-struct='yes' visibility='default' filepath='../include/urcu/wfqueue.h' line='52' column='1' id='type-id-12'>
+    <class-decl name='cds_wfq_queue' size-in-bits='512' is-struct='yes' visibility='default' filepath='../include/urcu/wfqueue.h' line='52' column='1' id='type-id-3'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfq_node* cds_wfq_queue::head -->
-        <var-decl name='head' type-id='type-id-11' visibility='default' filepath='../include/urcu/wfqueue.h' line='53' column='1'/>
+        <var-decl name='head' type-id='type-id-2' visibility='default' filepath='../include/urcu/wfqueue.h' line='53' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- cds_wfq_node** cds_wfq_queue::tail -->
-        <var-decl name='tail' type-id='type-id-13' visibility='default' filepath='../include/urcu/wfqueue.h' line='53' column='1'/>
+        <var-decl name='tail' type-id='type-id-4' visibility='default' filepath='../include/urcu/wfqueue.h' line='53' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- cds_wfq_node cds_wfq_queue::dummy -->
-        <var-decl name='dummy' type-id='type-id-10' visibility='default' filepath='../include/urcu/wfqueue.h' line='54' column='1'/>
+        <var-decl name='dummy' type-id='type-id-1' visibility='default' filepath='../include/urcu/wfqueue.h' line='54' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- pthread_mutex_t cds_wfq_queue::lock -->
-        <var-decl name='lock' type-id='type-id-14' visibility='default' filepath='../include/urcu/wfqueue.h' line='55' column='1'/>
+        <var-decl name='lock' type-id='type-id-5' visibility='default' filepath='../include/urcu/wfqueue.h' line='55' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __anonymous_union__ pthread_mutex_t -->
-    <typedef-decl name='pthread_mutex_t' type-id='type-id-15' filepath='/usr/include/bits/pthreadtypes.h' line='72' column='1' id='type-id-14'/>
-    <!-- union {__pthread_mutex_s __data; char __size[40]; long int __align;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='67' column='1' id='type-id-15'>
+    <!-- cds_wfq_node** -->
+    <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-4'/>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='67' column='1' id='type-id-6'>
       <data-member access='private'>
-        <!-- __pthread_mutex_s __data -->
-        <var-decl name='__data' type-id='type-id-16' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='69' column='1'/>
+        <!-- __pthread_mutex_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-7' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='69' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- char __size[40] -->
-        <var-decl name='__size' type-id='type-id-2' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='70' column='1'/>
+        <!-- char __anonymous_union__::__size[40] -->
+        <var-decl name='__size' type-id='type-id-8' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='70' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- long int __align -->
-        <var-decl name='__align' type-id='type-id-6' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='71' column='1'/>
+        <!-- long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-9' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='71' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __pthread_mutex_s -->
-    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='22' column='1' id='type-id-16'>
+    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='118' column='1' id='type-id-7'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- int __pthread_mutex_s::__lock -->
-        <var-decl name='__lock' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='24' column='1'/>
+        <var-decl name='__lock' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='120' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='32'>
         <!-- unsigned int __pthread_mutex_s::__count -->
-        <var-decl name='__count' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='25' column='1'/>
+        <var-decl name='__count' type-id='type-id-11' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='121' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- int __pthread_mutex_s::__owner -->
-        <var-decl name='__owner' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='26' column='1'/>
+        <var-decl name='__owner' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='122' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='96'>
         <!-- unsigned int __pthread_mutex_s::__nusers -->
-        <var-decl name='__nusers' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='28' column='1'/>
+        <var-decl name='__nusers' type-id='type-id-11' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='124' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- int __pthread_mutex_s::__kind -->
-        <var-decl name='__kind' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='32' column='1'/>
+        <var-decl name='__kind' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='148' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='160'>
         <!-- short int __pthread_mutex_s::__spins -->
-        <var-decl name='__spins' type-id='type-id-7' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='34' column='1'/>
+        <var-decl name='__spins' type-id='type-id-12' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='176'>
         <!-- short int __pthread_mutex_s::__elision -->
-        <var-decl name='__elision' type-id='type-id-7' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='35' column='1'/>
+        <var-decl name='__elision' type-id='type-id-12' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- __pthread_list_t __pthread_mutex_s::__list -->
-        <var-decl name='__list' type-id='type-id-17' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='36' column='1'/>
+        <var-decl name='__list' type-id='type-id-13' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='155' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __pthread_internal_list __pthread_list_t -->
-    <typedef-decl name='__pthread_list_t' type-id='type-id-18' filepath='/usr/include/bits/thread-shared-types.h' line='53' column='1' id='type-id-17'/>
+    <!-- int -->
+    <type-decl name='int' size-in-bits='32' id='type-id-10'/>
+    <!-- unsigned int -->
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-11'/>
+    <!-- short int -->
+    <type-decl name='short int' size-in-bits='16' id='type-id-12'/>
     <!-- struct __pthread_internal_list -->
-    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='49' column='1' id='type-id-18'>
+    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='82' column='1' id='type-id-14'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- __pthread_internal_list* __pthread_internal_list::__prev -->
-        <var-decl name='__prev' type-id='type-id-19' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='51' column='1'/>
+        <var-decl name='__prev' type-id='type-id-15' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='84' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- __pthread_internal_list* __pthread_internal_list::__next -->
-        <var-decl name='__next' type-id='type-id-19' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='52' column='1'/>
+        <var-decl name='__next' type-id='type-id-15' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='85' column='1'/>
       </data-member>
     </class-decl>
     <!-- __pthread_internal_list* -->
-    <pointer-type-def type-id='type-id-18' size-in-bits='64' id='type-id-19'/>
-    <!-- cds_wfq_node* -->
-    <pointer-type-def type-id='type-id-10' size-in-bits='64' id='type-id-11'/>
-    <!-- cds_wfq_node** -->
-    <pointer-type-def type-id='type-id-11' size-in-bits='64' id='type-id-13'/>
+    <pointer-type-def type-id='type-id-14' size-in-bits='64' id='type-id-15'/>
+    <!-- typedef __pthread_internal_list __pthread_list_t -->
+    <typedef-decl name='__pthread_list_t' type-id='type-id-14' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='86' column='1' id='type-id-13'/>
+    <!-- char -->
+    <type-decl name='char' size-in-bits='8' id='type-id-16'/>
+    <!-- unsigned long int -->
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-17'/>
+
+    <!-- char[40] -->
+    <array-type-def dimensions='1' type-id='type-id-16' size-in-bits='320' id='type-id-8'>
+      <!-- <anonymous range>[40] -->
+      <subrange length='40' type-id='type-id-17' id='type-id-18'/>
+
+    </array-type-def>
+    <!-- long int -->
+    <type-decl name='long int' size-in-bits='64' id='type-id-9'/>
+    <!-- typedef __anonymous_union__ pthread_mutex_t -->
+    <typedef-decl name='pthread_mutex_t' type-id='type-id-6' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='72' column='1' id='type-id-5'/>
     <!-- cds_wfq_queue* -->
-    <pointer-type-def type-id='type-id-12' size-in-bits='64' id='type-id-20'/>
+    <pointer-type-def type-id='type-id-3' size-in-bits='64' id='type-id-19'/>
     <!-- cds_wfq_node* cds_wfq_dequeue_blocking(cds_wfq_queue*) -->
     <function-decl name='cds_wfq_dequeue_blocking' mangled-name='cds_wfq_dequeue_blocking' filepath='src/wfqueue.c' line='59' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfq_dequeue_blocking'>
       <!-- parameter of type 'cds_wfq_queue*' -->
-      <parameter type-id='type-id-20' name='q' filepath='src/wfqueue.c' line='59' column='1'/>
+      <parameter type-id='type-id-19' name='q' filepath='src/wfqueue.c' line='59' column='1'/>
       <!-- cds_wfq_node* -->
-      <return type-id='type-id-11'/>
+      <return type-id='type-id-2'/>
     </function-decl>
     <!-- cds_wfq_node* __cds_wfq_dequeue_blocking(cds_wfq_queue*) -->
     <function-decl name='__cds_wfq_dequeue_blocking' mangled-name='__cds_wfq_dequeue_blocking' filepath='src/wfqueue.c' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfq_dequeue_blocking'>
       <!-- parameter of type 'cds_wfq_queue*' -->
-      <parameter type-id='type-id-20' name='q' filepath='src/wfqueue.c' line='54' column='1'/>
+      <parameter type-id='type-id-19' name='q' filepath='src/wfqueue.c' line='59' column='1'/>
       <!-- cds_wfq_node* -->
-      <return type-id='type-id-11'/>
+      <return type-id='type-id-2'/>
     </function-decl>
+    <!-- void -->
+    <type-decl name='void' id='type-id-20'/>
     <!-- void cds_wfq_enqueue(cds_wfq_queue*, cds_wfq_node*) -->
     <function-decl name='cds_wfq_enqueue' mangled-name='cds_wfq_enqueue' filepath='src/wfqueue.c' line='49' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfq_enqueue'>
       <!-- parameter of type 'cds_wfq_queue*' -->
-      <parameter type-id='type-id-20' name='q' filepath='src/wfqueue.c' line='49' column='1'/>
+      <parameter type-id='type-id-19' name='q' filepath='src/wfqueue.c' line='49' column='1'/>
       <!-- parameter of type 'cds_wfq_node*' -->
-      <parameter type-id='type-id-11' name='node' filepath='src/wfqueue.c' line='49' column='1'/>
+      <parameter type-id='type-id-2' name='node' filepath='src/wfqueue.c' line='49' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-20'/>
     </function-decl>
     <!-- void cds_wfq_destroy(cds_wfq_queue*) -->
     <function-decl name='cds_wfq_destroy' mangled-name='cds_wfq_destroy' filepath='src/wfqueue.c' line='44' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfq_destroy'>
       <!-- parameter of type 'cds_wfq_queue*' -->
-      <parameter type-id='type-id-20' name='q' filepath='src/wfqueue.c' line='44' column='1'/>
+      <parameter type-id='type-id-19' name='q' filepath='src/wfqueue.c' line='44' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-20'/>
     </function-decl>
     <!-- void cds_wfq_init(cds_wfq_queue*) -->
     <function-decl name='cds_wfq_init' mangled-name='cds_wfq_init' filepath='src/wfqueue.c' line='39' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfq_init'>
       <!-- parameter of type 'cds_wfq_queue*' -->
-      <parameter type-id='type-id-20' name='q' filepath='src/wfqueue.c' line='39' column='1'/>
+      <parameter type-id='type-id-19' name='q' filepath='src/wfqueue.c' line='44' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-20'/>
     </function-decl>
     <!-- void cds_wfq_node_init(cds_wfq_node*) -->
     <function-decl name='cds_wfq_node_init' mangled-name='cds_wfq_node_init' filepath='src/wfqueue.c' line='34' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfq_node_init'>
       <!-- parameter of type 'cds_wfq_node*' -->
-      <parameter type-id='type-id-11' name='node' filepath='src/wfqueue.c' line='34' column='1'/>
+      <parameter type-id='type-id-2' name='node' filepath='src/wfqueue.c' line='34' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-20'/>
     </function-decl>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='wfcqueue.c' comp-dir-path='src' language='LANG_C99'>
-    <!-- bool -->
-    <type-decl name='bool' size-in-bits='8' id='type-id-21'/>
-    <!-- unnamed&#45;enum&#45;underlying&#45;type -->
-    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-22'/>
     <!-- struct cds_wfcq_node -->
-    <class-decl name='cds_wfcq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='59' column='1' id='type-id-23'>
+    <class-decl name='cds_wfcq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='59' column='1' id='type-id-21'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node* cds_wfcq_node::next -->
-        <var-decl name='next' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='60' column='1'/>
+        <var-decl name='next' type-id='type-id-22' visibility='default' filepath='../include/urcu/wfcqueue.h' line='60' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __anonymous_union__ cds_wfcq_head_ptr_t -->
-    <typedef-decl name='cds_wfcq_head_ptr_t' type-id='type-id-25' filepath='../include/urcu/wfcqueue.h' line='86' column='1' id='type-id-26'/>
-    <!-- union {__cds_wfcq_head* _h; cds_wfcq_head* h;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='83' column='1' id='type-id-25'>
+    <!-- cds_wfcq_node* -->
+    <pointer-type-def type-id='type-id-21' size-in-bits='64' id='type-id-22'/>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='83' column='1' id='type-id-23'>
       <data-member access='private'>
-        <!-- __cds_wfcq_head* _h -->
-        <var-decl name='_h' type-id='type-id-27' visibility='default' filepath='../include/urcu/wfcqueue.h' line='84' column='1'/>
+        <!-- __cds_wfcq_head* __anonymous_union__::_h -->
+        <var-decl name='_h' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='84' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- cds_wfcq_head* h -->
-        <var-decl name='h' type-id='type-id-28' visibility='default' filepath='../include/urcu/wfcqueue.h' line='85' column='1'/>
+        <!-- cds_wfcq_head* __anonymous_union__::h -->
+        <var-decl name='h' type-id='type-id-25' visibility='default' filepath='../include/urcu/wfcqueue.h' line='85' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __cds_wfcq_head -->
-    <class-decl name='__cds_wfcq_head' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='68' column='1' id='type-id-29'>
+    <class-decl name='__cds_wfcq_head' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='68' column='1' id='type-id-26'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node __cds_wfcq_head::node -->
-        <var-decl name='node' type-id='type-id-23' visibility='default' filepath='../include/urcu/wfcqueue.h' line='69' column='1'/>
+        <var-decl name='node' type-id='type-id-21' visibility='default' filepath='../include/urcu/wfcqueue.h' line='69' column='1'/>
       </data-member>
     </class-decl>
+    <!-- __cds_wfcq_head* -->
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-24'/>
     <!-- struct cds_wfcq_head -->
-    <class-decl name='cds_wfcq_head' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='72' column='1' id='type-id-30'>
+    <class-decl name='cds_wfcq_head' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='72' column='1' id='type-id-27'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node cds_wfcq_head::node -->
-        <var-decl name='node' type-id='type-id-23' visibility='default' filepath='../include/urcu/wfcqueue.h' line='73' column='1'/>
+        <var-decl name='node' type-id='type-id-21' visibility='default' filepath='../include/urcu/wfcqueue.h' line='73' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- pthread_mutex_t cds_wfcq_head::lock -->
-        <var-decl name='lock' type-id='type-id-14' visibility='default' filepath='../include/urcu/wfcqueue.h' line='74' column='1'/>
+        <var-decl name='lock' type-id='type-id-5' visibility='default' filepath='../include/urcu/wfcqueue.h' line='74' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_wfcq_head* -->
+    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-25'/>
+    <!-- typedef __anonymous_union__ cds_wfcq_head_ptr_t -->
+    <typedef-decl name='cds_wfcq_head_ptr_t' type-id='type-id-23' filepath='../include/urcu/wfcqueue.h' line='86' column='1' id='type-id-28'/>
     <!-- struct cds_wfcq_tail -->
-    <class-decl name='cds_wfcq_tail' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='127' column='1' id='type-id-31'>
+    <class-decl name='cds_wfcq_tail' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='127' column='1' id='type-id-29'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node* cds_wfcq_tail::p -->
-        <var-decl name='p' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='128' column='1'/>
+        <var-decl name='p' type-id='type-id-22' visibility='default' filepath='../include/urcu/wfcqueue.h' line='128' column='1'/>
       </data-member>
     </class-decl>
-    <!-- enum cds_wfcq_ret -->
-    <enum-decl name='cds_wfcq_ret' filepath='../include/urcu/wfcqueue.h' line='48' column='1' id='type-id-32'>
-      <underlying-type type-id='type-id-22'/>
-      <enumerator name='CDS_WFCQ_RET_WOULDBLOCK' value='-1'/>
-      <enumerator name='CDS_WFCQ_RET_DEST_EMPTY' value='0'/>
-      <enumerator name='CDS_WFCQ_RET_DEST_NON_EMPTY' value='1'/>
-      <enumerator name='CDS_WFCQ_RET_SRC_EMPTY' value='2'/>
-    </enum-decl>
-    <!-- __cds_wfcq_head* -->
-    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-27'/>
-    <!-- cds_wfcq_head* -->
-    <pointer-type-def type-id='type-id-30' size-in-bits='64' id='type-id-28'/>
-    <!-- cds_wfcq_node* -->
-    <pointer-type-def type-id='type-id-23' size-in-bits='64' id='type-id-24'/>
     <!-- cds_wfcq_tail* -->
-    <pointer-type-def type-id='type-id-31' size-in-bits='64' id='type-id-33'/>
-    <!-- int* -->
-    <pointer-type-def type-id='type-id-5' size-in-bits='64' id='type-id-34'/>
+    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-30'/>
     <!-- cds_wfcq_node* __cds_wfcq_next_nonblocking(cds_wfcq_head_ptr_t, cds_wfcq_tail*, cds_wfcq_node*) -->
     <function-decl name='__cds_wfcq_next_nonblocking' mangled-name='__cds_wfcq_next_nonblocking' filepath='src/wfcqueue.c' line='178' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfcq_next_nonblocking'>
       <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
-      <parameter type-id='type-id-26' name='head' filepath='src/wfcqueue.c' line='179' column='1'/>
+      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='179' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='tail' filepath='src/wfcqueue.c' line='180' column='1'/>
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='180' column='1'/>
       <!-- parameter of type 'cds_wfcq_node*' -->
-      <parameter type-id='type-id-24' name='node' filepath='src/wfcqueue.c' line='181' column='1'/>
+      <parameter type-id='type-id-22' name='node' filepath='src/wfcqueue.c' line='181' column='1'/>
       <!-- cds_wfcq_node* -->
-      <return type-id='type-id-24'/>
+      <return type-id='type-id-22'/>
     </function-decl>
     <!-- cds_wfcq_node* __cds_wfcq_next_blocking(cds_wfcq_head_ptr_t, cds_wfcq_tail*, cds_wfcq_node*) -->
     <function-decl name='__cds_wfcq_next_blocking' mangled-name='__cds_wfcq_next_blocking' filepath='src/wfcqueue.c' line='170' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfcq_next_blocking'>
       <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
-      <parameter type-id='type-id-26' name='head' filepath='src/wfcqueue.c' line='171' column='1'/>
+      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='179' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='tail' filepath='src/wfcqueue.c' line='172' column='1'/>
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='180' column='1'/>
       <!-- parameter of type 'cds_wfcq_node*' -->
-      <parameter type-id='type-id-24' name='node' filepath='src/wfcqueue.c' line='173' column='1'/>
+      <parameter type-id='type-id-22' name='node' filepath='src/wfcqueue.c' line='181' column='1'/>
       <!-- cds_wfcq_node* -->
-      <return type-id='type-id-24'/>
+      <return type-id='type-id-22'/>
     </function-decl>
     <!-- cds_wfcq_node* __cds_wfcq_first_nonblocking(cds_wfcq_head_ptr_t, cds_wfcq_tail*) -->
     <function-decl name='__cds_wfcq_first_nonblocking' mangled-name='__cds_wfcq_first_nonblocking' filepath='src/wfcqueue.c' line='163' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfcq_first_nonblocking'>
       <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
-      <parameter type-id='type-id-26' name='head' filepath='src/wfcqueue.c' line='164' column='1'/>
+      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='164' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='tail' filepath='src/wfcqueue.c' line='165' column='1'/>
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='165' column='1'/>
       <!-- cds_wfcq_node* -->
-      <return type-id='type-id-24'/>
+      <return type-id='type-id-22'/>
     </function-decl>
     <!-- cds_wfcq_node* __cds_wfcq_first_blocking(cds_wfcq_head_ptr_t, cds_wfcq_tail*) -->
     <function-decl name='__cds_wfcq_first_blocking' mangled-name='__cds_wfcq_first_blocking' filepath='src/wfcqueue.c' line='156' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfcq_first_blocking'>
       <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
-      <parameter type-id='type-id-26' name='head' filepath='src/wfcqueue.c' line='157' column='1'/>
+      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='164' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='tail' filepath='src/wfcqueue.c' line='158' column='1'/>
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='165' column='1'/>
       <!-- cds_wfcq_node* -->
-      <return type-id='type-id-24'/>
+      <return type-id='type-id-22'/>
     </function-decl>
+    <!-- unnamed&#45;enum&#45;underlying&#45;type -->
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-31'/>
+    <!-- enum cds_wfcq_ret -->
+    <enum-decl name='cds_wfcq_ret' filepath='../include/urcu/wfcqueue.h' line='48' column='1' id='type-id-32'>
+      <underlying-type type-id='type-id-31'/>
+      <enumerator name='CDS_WFCQ_RET_WOULDBLOCK' value='-1'/>
+      <enumerator name='CDS_WFCQ_RET_DEST_EMPTY' value='0'/>
+      <enumerator name='CDS_WFCQ_RET_DEST_NON_EMPTY' value='1'/>
+      <enumerator name='CDS_WFCQ_RET_SRC_EMPTY' value='2'/>
+    </enum-decl>
     <!-- cds_wfcq_ret __cds_wfcq_splice_nonblocking(cds_wfcq_head_ptr_t, cds_wfcq_tail*, cds_wfcq_head_ptr_t, cds_wfcq_tail*) -->
     <function-decl name='__cds_wfcq_splice_nonblocking' mangled-name='__cds_wfcq_splice_nonblocking' filepath='src/wfcqueue.c' line='146' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfcq_splice_nonblocking'>
       <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
-      <parameter type-id='type-id-26' name='dest_q_head' filepath='src/wfcqueue.c' line='147' column='1'/>
+      <parameter type-id='type-id-28' name='dest_q_head' filepath='src/wfcqueue.c' line='147' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='dest_q_tail' filepath='src/wfcqueue.c' line='148' column='1'/>
+      <parameter type-id='type-id-30' name='dest_q_tail' filepath='src/wfcqueue.c' line='148' column='1'/>
       <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
-      <parameter type-id='type-id-26' name='src_q_head' filepath='src/wfcqueue.c' line='149' column='1'/>
+      <parameter type-id='type-id-28' name='src_q_head' filepath='src/wfcqueue.c' line='149' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='src_q_tail' filepath='src/wfcqueue.c' line='150' column='1'/>
+      <parameter type-id='type-id-30' name='src_q_tail' filepath='src/wfcqueue.c' line='150' column='1'/>
       <!-- enum cds_wfcq_ret -->
       <return type-id='type-id-32'/>
     </function-decl>
     <!-- cds_wfcq_ret __cds_wfcq_splice_blocking(cds_wfcq_head_ptr_t, cds_wfcq_tail*, cds_wfcq_head_ptr_t, cds_wfcq_tail*) -->
     <function-decl name='__cds_wfcq_splice_blocking' mangled-name='__cds_wfcq_splice_blocking' filepath='src/wfcqueue.c' line='136' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfcq_splice_blocking'>
       <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
-      <parameter type-id='type-id-26' name='dest_q_head' filepath='src/wfcqueue.c' line='137' column='1'/>
+      <parameter type-id='type-id-28' name='dest_q_head' filepath='src/wfcqueue.c' line='147' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='dest_q_tail' filepath='src/wfcqueue.c' line='138' column='1'/>
+      <parameter type-id='type-id-30' name='dest_q_tail' filepath='src/wfcqueue.c' line='148' column='1'/>
       <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
-      <parameter type-id='type-id-26' name='src_q_head' filepath='src/wfcqueue.c' line='139' column='1'/>
+      <parameter type-id='type-id-28' name='src_q_head' filepath='src/wfcqueue.c' line='149' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='src_q_tail' filepath='src/wfcqueue.c' line='140' column='1'/>
+      <parameter type-id='type-id-30' name='src_q_tail' filepath='src/wfcqueue.c' line='150' column='1'/>
       <!-- enum cds_wfcq_ret -->
       <return type-id='type-id-32'/>
     </function-decl>
+    <!-- int* -->
+    <pointer-type-def type-id='type-id-10' size-in-bits='64' id='type-id-33'/>
     <!-- cds_wfcq_node* __cds_wfcq_dequeue_with_state_nonblocking(cds_wfcq_head_ptr_t, cds_wfcq_tail*, int*) -->
     <function-decl name='__cds_wfcq_dequeue_with_state_nonblocking' mangled-name='__cds_wfcq_dequeue_with_state_nonblocking' filepath='src/wfcqueue.c' line='128' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfcq_dequeue_with_state_nonblocking'>
       <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
-      <parameter type-id='type-id-26' name='head' filepath='src/wfcqueue.c' line='129' column='1'/>
+      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='129' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='tail' filepath='src/wfcqueue.c' line='130' column='1'/>
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='130' column='1'/>
       <!-- parameter of type 'int*' -->
-      <parameter type-id='type-id-34' name='state' filepath='src/wfcqueue.c' line='131' column='1'/>
+      <parameter type-id='type-id-33' name='state' filepath='src/wfcqueue.c' line='131' column='1'/>
       <!-- cds_wfcq_node* -->
-      <return type-id='type-id-24'/>
+      <return type-id='type-id-22'/>
     </function-decl>
     <!-- cds_wfcq_node* __cds_wfcq_dequeue_nonblocking(cds_wfcq_head_ptr_t, cds_wfcq_tail*) -->
     <function-decl name='__cds_wfcq_dequeue_nonblocking' mangled-name='__cds_wfcq_dequeue_nonblocking' filepath='src/wfcqueue.c' line='121' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfcq_dequeue_nonblocking'>
       <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
-      <parameter type-id='type-id-26' name='head' filepath='src/wfcqueue.c' line='122' column='1'/>
+      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='164' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='tail' filepath='src/wfcqueue.c' line='123' column='1'/>
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='165' column='1'/>
       <!-- cds_wfcq_node* -->
-      <return type-id='type-id-24'/>
+      <return type-id='type-id-22'/>
     </function-decl>
     <!-- cds_wfcq_node* __cds_wfcq_dequeue_with_state_blocking(cds_wfcq_head_ptr_t, cds_wfcq_tail*, int*) -->
     <function-decl name='__cds_wfcq_dequeue_with_state_blocking' mangled-name='__cds_wfcq_dequeue_with_state_blocking' filepath='src/wfcqueue.c' line='113' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfcq_dequeue_with_state_blocking'>
       <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
-      <parameter type-id='type-id-26' name='head' filepath='src/wfcqueue.c' line='114' column='1'/>
+      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='129' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='tail' filepath='src/wfcqueue.c' line='115' column='1'/>
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='130' column='1'/>
       <!-- parameter of type 'int*' -->
-      <parameter type-id='type-id-34' name='state' filepath='src/wfcqueue.c' line='116' column='1'/>
+      <parameter type-id='type-id-33' name='state' filepath='src/wfcqueue.c' line='131' column='1'/>
       <!-- cds_wfcq_node* -->
-      <return type-id='type-id-24'/>
+      <return type-id='type-id-22'/>
     </function-decl>
     <!-- cds_wfcq_node* __cds_wfcq_dequeue_blocking(cds_wfcq_head_ptr_t, cds_wfcq_tail*) -->
     <function-decl name='__cds_wfcq_dequeue_blocking' mangled-name='__cds_wfcq_dequeue_blocking' filepath='src/wfcqueue.c' line='106' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfcq_dequeue_blocking'>
       <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
-      <parameter type-id='type-id-26' name='head' filepath='src/wfcqueue.c' line='107' column='1'/>
+      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='164' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='tail' filepath='src/wfcqueue.c' line='108' column='1'/>
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='165' column='1'/>
       <!-- cds_wfcq_node* -->
-      <return type-id='type-id-24'/>
+      <return type-id='type-id-22'/>
     </function-decl>
     <!-- cds_wfcq_ret cds_wfcq_splice_blocking(cds_wfcq_head*, cds_wfcq_tail*, cds_wfcq_head*, cds_wfcq_tail*) -->
     <function-decl name='cds_wfcq_splice_blocking' mangled-name='cds_wfcq_splice_blocking' filepath='src/wfcqueue.c' line='96' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfcq_splice_blocking'>
       <!-- parameter of type 'cds_wfcq_head*' -->
-      <parameter type-id='type-id-28' name='dest_q_head' filepath='src/wfcqueue.c' line='97' column='1'/>
+      <parameter type-id='type-id-25' name='dest_q_head' filepath='src/wfcqueue.c' line='97' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='dest_q_tail' filepath='src/wfcqueue.c' line='98' column='1'/>
+      <parameter type-id='type-id-30' name='dest_q_tail' filepath='src/wfcqueue.c' line='98' column='1'/>
       <!-- parameter of type 'cds_wfcq_head*' -->
-      <parameter type-id='type-id-28' name='src_q_head' filepath='src/wfcqueue.c' line='99' column='1'/>
+      <parameter type-id='type-id-25' name='src_q_head' filepath='src/wfcqueue.c' line='99' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='src_q_tail' filepath='src/wfcqueue.c' line='100' column='1'/>
+      <parameter type-id='type-id-30' name='src_q_tail' filepath='src/wfcqueue.c' line='100' column='1'/>
       <!-- enum cds_wfcq_ret -->
       <return type-id='type-id-32'/>
     </function-decl>
     <!-- cds_wfcq_node* cds_wfcq_dequeue_with_state_blocking(cds_wfcq_head*, cds_wfcq_tail*, int*) -->
     <function-decl name='cds_wfcq_dequeue_with_state_blocking' mangled-name='cds_wfcq_dequeue_with_state_blocking' filepath='src/wfcqueue.c' line='88' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfcq_dequeue_with_state_blocking'>
       <!-- parameter of type 'cds_wfcq_head*' -->
-      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='89' column='1'/>
+      <parameter type-id='type-id-25' name='head' filepath='src/wfcqueue.c' line='89' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='tail' filepath='src/wfcqueue.c' line='90' column='1'/>
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='90' column='1'/>
       <!-- parameter of type 'int*' -->
-      <parameter type-id='type-id-34' name='state' filepath='src/wfcqueue.c' line='91' column='1'/>
+      <parameter type-id='type-id-33' name='state' filepath='src/wfcqueue.c' line='91' column='1'/>
       <!-- cds_wfcq_node* -->
-      <return type-id='type-id-24'/>
+      <return type-id='type-id-22'/>
     </function-decl>
     <!-- cds_wfcq_node* cds_wfcq_dequeue_blocking(cds_wfcq_head*, cds_wfcq_tail*) -->
     <function-decl name='cds_wfcq_dequeue_blocking' mangled-name='cds_wfcq_dequeue_blocking' filepath='src/wfcqueue.c' line='81' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfcq_dequeue_blocking'>
       <!-- parameter of type 'cds_wfcq_head*' -->
-      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='82' column='1'/>
+      <parameter type-id='type-id-25' name='head' filepath='src/wfcqueue.c' line='82' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='tail' filepath='src/wfcqueue.c' line='83' column='1'/>
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='83' column='1'/>
       <!-- cds_wfcq_node* -->
-      <return type-id='type-id-24'/>
+      <return type-id='type-id-22'/>
     </function-decl>
     <!-- void cds_wfcq_dequeue_unlock(cds_wfcq_head*, cds_wfcq_tail*) -->
     <function-decl name='cds_wfcq_dequeue_unlock' mangled-name='cds_wfcq_dequeue_unlock' filepath='src/wfcqueue.c' line='75' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfcq_dequeue_unlock'>
       <!-- parameter of type 'cds_wfcq_head*' -->
-      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='75' column='1'/>
+      <parameter type-id='type-id-25' name='head' filepath='src/wfcqueue.c' line='75' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='tail' filepath='src/wfcqueue.c' line='76' column='1'/>
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='76' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-20'/>
     </function-decl>
     <!-- void cds_wfcq_dequeue_lock(cds_wfcq_head*, cds_wfcq_tail*) -->
     <function-decl name='cds_wfcq_dequeue_lock' mangled-name='cds_wfcq_dequeue_lock' filepath='src/wfcqueue.c' line='69' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfcq_dequeue_lock'>
       <!-- parameter of type 'cds_wfcq_head*' -->
-      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='69' column='1'/>
+      <parameter type-id='type-id-25' name='head' filepath='src/wfcqueue.c' line='75' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='tail' filepath='src/wfcqueue.c' line='70' column='1'/>
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='76' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-20'/>
     </function-decl>
+    <!-- bool -->
+    <type-decl name='bool' size-in-bits='8' id='type-id-34'/>
     <!-- bool cds_wfcq_enqueue(cds_wfcq_head_ptr_t, cds_wfcq_tail*, cds_wfcq_node*) -->
     <function-decl name='cds_wfcq_enqueue' mangled-name='cds_wfcq_enqueue' filepath='src/wfcqueue.c' line='62' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfcq_enqueue'>
       <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
-      <parameter type-id='type-id-26' name='head' filepath='src/wfcqueue.c' line='62' column='1'/>
+      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='62' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='tail' filepath='src/wfcqueue.c' line='63' column='1'/>
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='63' column='1'/>
       <!-- parameter of type 'cds_wfcq_node*' -->
-      <parameter type-id='type-id-24' name='node' filepath='src/wfcqueue.c' line='64' column='1'/>
+      <parameter type-id='type-id-22' name='node' filepath='src/wfcqueue.c' line='64' column='1'/>
       <!-- bool -->
-      <return type-id='type-id-21'/>
+      <return type-id='type-id-34'/>
     </function-decl>
     <!-- bool cds_wfcq_empty(cds_wfcq_head_ptr_t, cds_wfcq_tail*) -->
     <function-decl name='cds_wfcq_empty' mangled-name='cds_wfcq_empty' filepath='src/wfcqueue.c' line='55' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfcq_empty'>
       <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
-      <parameter type-id='type-id-26' name='head' filepath='src/wfcqueue.c' line='55' column='1'/>
+      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='55' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='tail' filepath='src/wfcqueue.c' line='56' column='1'/>
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='56' column='1'/>
       <!-- bool -->
-      <return type-id='type-id-21'/>
+      <return type-id='type-id-34'/>
     </function-decl>
     <!-- void __cds_wfcq_init(__cds_wfcq_head*, cds_wfcq_tail*) -->
     <function-decl name='__cds_wfcq_init' mangled-name='__cds_wfcq_init' filepath='src/wfcqueue.c' line='49' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfcq_init'>
       <!-- parameter of type '__cds_wfcq_head*' -->
-      <parameter type-id='type-id-27' name='head' filepath='src/wfcqueue.c' line='49' column='1'/>
+      <parameter type-id='type-id-24' name='head' filepath='src/wfcqueue.c' line='49' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='tail' filepath='src/wfcqueue.c' line='50' column='1'/>
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='50' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-20'/>
     </function-decl>
     <!-- void cds_wfcq_destroy(cds_wfcq_head*, cds_wfcq_tail*) -->
     <function-decl name='cds_wfcq_destroy' mangled-name='cds_wfcq_destroy' filepath='src/wfcqueue.c' line='43' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfcq_destroy'>
       <!-- parameter of type 'cds_wfcq_head*' -->
-      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='43' column='1'/>
+      <parameter type-id='type-id-25' name='head' filepath='src/wfcqueue.c' line='75' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='tail' filepath='src/wfcqueue.c' line='44' column='1'/>
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='76' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-20'/>
     </function-decl>
     <!-- void cds_wfcq_init(cds_wfcq_head*, cds_wfcq_tail*) -->
     <function-decl name='cds_wfcq_init' mangled-name='cds_wfcq_init' filepath='src/wfcqueue.c' line='37' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfcq_init'>
       <!-- parameter of type 'cds_wfcq_head*' -->
-      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='37' column='1'/>
+      <parameter type-id='type-id-25' name='head' filepath='src/wfcqueue.c' line='75' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='tail' filepath='src/wfcqueue.c' line='38' column='1'/>
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='76' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-20'/>
     </function-decl>
     <!-- void cds_wfcq_node_init(cds_wfcq_node*) -->
     <function-decl name='cds_wfcq_node_init' mangled-name='cds_wfcq_node_init' filepath='src/wfcqueue.c' line='32' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfcq_node_init'>
       <!-- parameter of type 'cds_wfcq_node*' -->
-      <parameter type-id='type-id-24' name='node' filepath='src/wfcqueue.c' line='32' column='1'/>
+      <parameter type-id='type-id-22' name='node' filepath='src/wfcqueue.c' line='32' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-20'/>
     </function-decl>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='wfstack.c' comp-dir-path='src' language='LANG_C99'>
         <var-decl name='next' type-id='type-id-37' visibility='default' filepath='../include/urcu/wfstack.h' line='73' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __anonymous_union__ cds_wfs_stack_ptr_t -->
-    <typedef-decl name='cds_wfs_stack_ptr_t' type-id='type-id-38' filepath='../include/urcu/wfstack.h' line='103' column='1' id='type-id-39'/>
-    <!-- union {__cds_wfs_stack* _s; cds_wfs_stack* s;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../include/urcu/wfstack.h' line='100' column='1' id='type-id-38'>
+    <!-- cds_wfs_node* -->
+    <pointer-type-def type-id='type-id-36' size-in-bits='64' id='type-id-37'/>
+    <!-- cds_wfs_head* -->
+    <pointer-type-def type-id='type-id-35' size-in-bits='64' id='type-id-38'/>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../include/urcu/wfstack.h' line='100' column='1' id='type-id-39'>
       <data-member access='private'>
-        <!-- __cds_wfs_stack* _s -->
+        <!-- __cds_wfs_stack* __anonymous_union__::_s -->
         <var-decl name='_s' type-id='type-id-40' visibility='default' filepath='../include/urcu/wfstack.h' line='101' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- cds_wfs_stack* s -->
+        <!-- cds_wfs_stack* __anonymous_union__::s -->
         <var-decl name='s' type-id='type-id-41' visibility='default' filepath='../include/urcu/wfstack.h' line='102' column='1'/>
       </data-member>
     </union-decl>
     <class-decl name='__cds_wfs_stack' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfstack.h' line='86' column='1' id='type-id-42'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfs_head* __cds_wfs_stack::head -->
-        <var-decl name='head' type-id='type-id-43' visibility='default' filepath='../include/urcu/wfstack.h' line='87' column='1'/>
+        <var-decl name='head' type-id='type-id-38' visibility='default' filepath='../include/urcu/wfstack.h' line='87' column='1'/>
       </data-member>
     </class-decl>
+    <!-- __cds_wfs_stack* -->
+    <pointer-type-def type-id='type-id-42' size-in-bits='64' id='type-id-40'/>
     <!-- struct cds_wfs_stack -->
-    <class-decl name='cds_wfs_stack' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfstack.h' line='90' column='1' id='type-id-44'>
+    <class-decl name='cds_wfs_stack' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfstack.h' line='90' column='1' id='type-id-43'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfs_head* cds_wfs_stack::head -->
-        <var-decl name='head' type-id='type-id-43' visibility='default' filepath='../include/urcu/wfstack.h' line='91' column='1'/>
+        <var-decl name='head' type-id='type-id-38' visibility='default' filepath='../include/urcu/wfstack.h' line='91' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- pthread_mutex_t cds_wfs_stack::lock -->
-        <var-decl name='lock' type-id='type-id-14' visibility='default' filepath='../include/urcu/wfstack.h' line='92' column='1'/>
+        <var-decl name='lock' type-id='type-id-5' visibility='default' filepath='../include/urcu/wfstack.h' line='92' column='1'/>
       </data-member>
     </class-decl>
-    <!-- __cds_wfs_stack* -->
-    <pointer-type-def type-id='type-id-42' size-in-bits='64' id='type-id-40'/>
-    <!-- cds_wfs_head* -->
-    <pointer-type-def type-id='type-id-35' size-in-bits='64' id='type-id-43'/>
-    <!-- cds_wfs_node* -->
-    <pointer-type-def type-id='type-id-36' size-in-bits='64' id='type-id-37'/>
     <!-- cds_wfs_stack* -->
-    <pointer-type-def type-id='type-id-44' size-in-bits='64' id='type-id-41'/>
+    <pointer-type-def type-id='type-id-43' size-in-bits='64' id='type-id-41'/>
+    <!-- typedef __anonymous_union__ cds_wfs_stack_ptr_t -->
+    <typedef-decl name='cds_wfs_stack_ptr_t' type-id='type-id-39' filepath='../include/urcu/wfstack.h' line='103' column='1' id='type-id-44'/>
     <!-- cds_wfs_head* __cds_wfs_pop_all(cds_wfs_stack_ptr_t) -->
     <function-decl name='__cds_wfs_pop_all' mangled-name='__cds_wfs_pop_all' filepath='src/wfstack.c' line='126' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfs_pop_all'>
       <!-- parameter of type 'typedef cds_wfs_stack_ptr_t' -->
-      <parameter type-id='type-id-39' name='u_stack' filepath='src/wfstack.c' line='126' column='1'/>
+      <parameter type-id='type-id-44' name='u_stack' filepath='src/wfstack.c' line='126' column='1'/>
       <!-- cds_wfs_head* -->
-      <return type-id='type-id-43'/>
+      <return type-id='type-id-38'/>
     </function-decl>
     <!-- cds_wfs_node* __cds_wfs_pop_with_state_nonblocking(cds_wfs_stack_ptr_t, int*) -->
     <function-decl name='__cds_wfs_pop_with_state_nonblocking' mangled-name='__cds_wfs_pop_with_state_nonblocking' filepath='src/wfstack.c' line='120' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfs_pop_with_state_nonblocking'>
       <!-- parameter of type 'typedef cds_wfs_stack_ptr_t' -->
-      <parameter type-id='type-id-39' name='u_stack' filepath='src/wfstack.c' line='120' column='1'/>
+      <parameter type-id='type-id-44' name='u_stack' filepath='src/wfstack.c' line='120' column='1'/>
       <!-- parameter of type 'int*' -->
-      <parameter type-id='type-id-34' name='state' filepath='src/wfstack.c' line='121' column='1'/>
+      <parameter type-id='type-id-33' name='state' filepath='src/wfstack.c' line='121' column='1'/>
       <!-- cds_wfs_node* -->
       <return type-id='type-id-37'/>
     </function-decl>
     <!-- cds_wfs_node* __cds_wfs_pop_nonblocking(cds_wfs_stack_ptr_t) -->
     <function-decl name='__cds_wfs_pop_nonblocking' mangled-name='__cds_wfs_pop_nonblocking' filepath='src/wfstack.c' line='114' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfs_pop_nonblocking'>
       <!-- parameter of type 'typedef cds_wfs_stack_ptr_t' -->
-      <parameter type-id='type-id-39' name='u_stack' filepath='src/wfstack.c' line='114' column='1'/>
+      <parameter type-id='type-id-44' name='u_stack' filepath='src/wfstack.c' line='114' column='1'/>
       <!-- cds_wfs_node* -->
       <return type-id='type-id-37'/>
     </function-decl>
     <!-- cds_wfs_node* __cds_wfs_pop_with_state_blocking(cds_wfs_stack_ptr_t, int*) -->
     <function-decl name='__cds_wfs_pop_with_state_blocking' mangled-name='__cds_wfs_pop_with_state_blocking' filepath='src/wfstack.c' line='108' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfs_pop_with_state_blocking'>
       <!-- parameter of type 'typedef cds_wfs_stack_ptr_t' -->
-      <parameter type-id='type-id-39' name='u_stack' filepath='src/wfstack.c' line='108' column='1'/>
+      <parameter type-id='type-id-44' name='u_stack' filepath='src/wfstack.c' line='120' column='1'/>
       <!-- parameter of type 'int*' -->
-      <parameter type-id='type-id-34' name='state' filepath='src/wfstack.c' line='109' column='1'/>
+      <parameter type-id='type-id-33' name='state' filepath='src/wfstack.c' line='121' column='1'/>
       <!-- cds_wfs_node* -->
       <return type-id='type-id-37'/>
     </function-decl>
     <!-- cds_wfs_node* __cds_wfs_pop_blocking(cds_wfs_stack_ptr_t) -->
     <function-decl name='__cds_wfs_pop_blocking' mangled-name='__cds_wfs_pop_blocking' filepath='src/wfstack.c' line='102' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfs_pop_blocking'>
       <!-- parameter of type 'typedef cds_wfs_stack_ptr_t' -->
-      <parameter type-id='type-id-39' name='u_stack' filepath='src/wfstack.c' line='102' column='1'/>
+      <parameter type-id='type-id-44' name='u_stack' filepath='src/wfstack.c' line='114' column='1'/>
       <!-- cds_wfs_node* -->
       <return type-id='type-id-37'/>
     </function-decl>
       <!-- parameter of type 'cds_wfs_stack*' -->
       <parameter type-id='type-id-41' name='s' filepath='src/wfstack.c' line='97' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-20'/>
     </function-decl>
     <!-- void cds_wfs_pop_lock(cds_wfs_stack*) -->
     <function-decl name='cds_wfs_pop_lock' mangled-name='cds_wfs_pop_lock' filepath='src/wfstack.c' line='92' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfs_pop_lock'>
       <!-- parameter of type 'cds_wfs_stack*' -->
-      <parameter type-id='type-id-41' name='s' filepath='src/wfstack.c' line='92' column='1'/>
+      <parameter type-id='type-id-41' name='s' filepath='src/wfstack.c' line='97' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-20'/>
     </function-decl>
     <!-- cds_wfs_node* cds_wfs_next_nonblocking(cds_wfs_node*) -->
     <function-decl name='cds_wfs_next_nonblocking' mangled-name='cds_wfs_next_nonblocking' filepath='src/wfstack.c' line='87' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfs_next_nonblocking'>
     <!-- cds_wfs_node* cds_wfs_next_blocking(cds_wfs_node*) -->
     <function-decl name='cds_wfs_next_blocking' mangled-name='cds_wfs_next_blocking' filepath='src/wfstack.c' line='82' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfs_next_blocking'>
       <!-- parameter of type 'cds_wfs_node*' -->
-      <parameter type-id='type-id-37' name='node' filepath='src/wfstack.c' line='82' column='1'/>
+      <parameter type-id='type-id-37' name='node' filepath='src/wfstack.c' line='87' column='1'/>
       <!-- cds_wfs_node* -->
       <return type-id='type-id-37'/>
     </function-decl>
     <!-- cds_wfs_node* cds_wfs_first(cds_wfs_head*) -->
     <function-decl name='cds_wfs_first' mangled-name='cds_wfs_first' filepath='src/wfstack.c' line='77' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfs_first'>
       <!-- parameter of type 'cds_wfs_head*' -->
-      <parameter type-id='type-id-43' name='head' filepath='src/wfstack.c' line='77' column='1'/>
+      <parameter type-id='type-id-38' name='head' filepath='src/wfstack.c' line='77' column='1'/>
       <!-- cds_wfs_node* -->
       <return type-id='type-id-37'/>
     </function-decl>
       <!-- parameter of type 'cds_wfs_stack*' -->
       <parameter type-id='type-id-41' name='s' filepath='src/wfstack.c' line='72' column='1'/>
       <!-- cds_wfs_head* -->
-      <return type-id='type-id-43'/>
+      <return type-id='type-id-38'/>
     </function-decl>
     <!-- cds_wfs_node* cds_wfs_pop_with_state_blocking(cds_wfs_stack*, int*) -->
     <function-decl name='cds_wfs_pop_with_state_blocking' mangled-name='cds_wfs_pop_with_state_blocking' filepath='src/wfstack.c' line='67' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfs_pop_with_state_blocking'>
       <!-- parameter of type 'cds_wfs_stack*' -->
       <parameter type-id='type-id-41' name='s' filepath='src/wfstack.c' line='67' column='1'/>
       <!-- parameter of type 'int*' -->
-      <parameter type-id='type-id-34' name='state' filepath='src/wfstack.c' line='67' column='1'/>
+      <parameter type-id='type-id-33' name='state' filepath='src/wfstack.c' line='67' column='1'/>
       <!-- cds_wfs_node* -->
       <return type-id='type-id-37'/>
     </function-decl>
     <!-- int cds_wfs_push(cds_wfs_stack_ptr_t, cds_wfs_node*) -->
     <function-decl name='cds_wfs_push' mangled-name='cds_wfs_push' filepath='src/wfstack.c' line='56' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfs_push'>
       <!-- parameter of type 'typedef cds_wfs_stack_ptr_t' -->
-      <parameter type-id='type-id-39' name='u_stack' filepath='src/wfstack.c' line='56' column='1'/>
+      <parameter type-id='type-id-44' name='u_stack' filepath='src/wfstack.c' line='56' column='1'/>
       <!-- parameter of type 'cds_wfs_node*' -->
       <parameter type-id='type-id-37' name='node' filepath='src/wfstack.c' line='56' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-10'/>
     </function-decl>
     <!-- bool cds_wfs_empty(cds_wfs_stack_ptr_t) -->
     <function-decl name='cds_wfs_empty' mangled-name='cds_wfs_empty' filepath='src/wfstack.c' line='51' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfs_empty'>
       <!-- parameter of type 'typedef cds_wfs_stack_ptr_t' -->
-      <parameter type-id='type-id-39' name='u_stack' filepath='src/wfstack.c' line='51' column='1'/>
+      <parameter type-id='type-id-44' name='u_stack' filepath='src/wfstack.c' line='51' column='1'/>
       <!-- bool -->
-      <return type-id='type-id-21'/>
+      <return type-id='type-id-34'/>
     </function-decl>
     <!-- void __cds_wfs_init(__cds_wfs_stack*) -->
     <function-decl name='__cds_wfs_init' mangled-name='__cds_wfs_init' filepath='src/wfstack.c' line='46' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfs_init'>
       <!-- parameter of type '__cds_wfs_stack*' -->
       <parameter type-id='type-id-40' name='s' filepath='src/wfstack.c' line='46' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-20'/>
     </function-decl>
     <!-- void cds_wfs_destroy(cds_wfs_stack*) -->
     <function-decl name='cds_wfs_destroy' mangled-name='cds_wfs_destroy' filepath='src/wfstack.c' line='41' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfs_destroy'>
       <!-- parameter of type 'cds_wfs_stack*' -->
-      <parameter type-id='type-id-41' name='s' filepath='src/wfstack.c' line='41' column='1'/>
+      <parameter type-id='type-id-41' name='s' filepath='src/wfstack.c' line='97' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-20'/>
     </function-decl>
     <!-- void cds_wfs_init(cds_wfs_stack*) -->
     <function-decl name='cds_wfs_init' mangled-name='cds_wfs_init' filepath='src/wfstack.c' line='36' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfs_init'>
       <!-- parameter of type 'cds_wfs_stack*' -->
-      <parameter type-id='type-id-41' name='s' filepath='src/wfstack.c' line='36' column='1'/>
+      <parameter type-id='type-id-41' name='s' filepath='src/wfstack.c' line='97' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-20'/>
     </function-decl>
     <!-- void cds_wfs_node_init(cds_wfs_node*) -->
     <function-decl name='cds_wfs_node_init' mangled-name='cds_wfs_node_init' filepath='src/wfstack.c' line='31' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfs_node_init'>
       <!-- parameter of type 'cds_wfs_node*' -->
       <parameter type-id='type-id-37' name='node' filepath='src/wfstack.c' line='31' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-20'/>
     </function-decl>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='compat_futex.c' comp-dir-path='src' language='LANG_C99'>
-
-
-    <!-- char[48] -->
-    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='384' id='type-id-45'>
-      <!-- <anonymous range>[48] -->
-      <subrange length='48' type-id='type-id-3' id='type-id-46'/>
-
-    </array-type-def>
-    <!-- long long int -->
-    <type-decl name='long long int' size-in-bits='64' id='type-id-47'/>
-    <!-- long long unsigned int -->
-    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-48'/>
-    <!-- unsigned int[2] -->
-    <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='64' id='type-id-49'>
-      <!-- <anonymous range>[2] -->
-      <subrange length='2' type-id='type-id-3' id='type-id-50'/>
-
-    </array-type-def>
-    <!-- typedef __anonymous_union__ pthread_cond_t -->
-    <typedef-decl name='pthread_cond_t' type-id='type-id-51' filepath='/usr/include/bits/pthreadtypes.h' line='80' column='1' id='type-id-52'/>
-    <!-- union {__pthread_cond_s __data; char __size[48]; long long int __align;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='75' column='1' id='type-id-51'>
+    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
+    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-5' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='75' column='1' id='type-id-45'>
       <data-member access='private'>
-        <!-- __pthread_cond_s __data -->
-        <var-decl name='__data' type-id='type-id-53' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='77' column='1'/>
+        <!-- __pthread_cond_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-46' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='77' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- char __size[48] -->
-        <var-decl name='__size' type-id='type-id-45' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='78' column='1'/>
+        <!-- char __anonymous_union__::__size[48] -->
+        <var-decl name='__size' type-id='type-id-47' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='78' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- long long int __align -->
-        <var-decl name='__align' type-id='type-id-47' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='79' column='1'/>
+        <!-- long long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-48' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='79' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __pthread_cond_s -->
-    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='92' column='1' id='type-id-53'>
+    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='171' column='1' id='type-id-46'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <!-- union {long long unsigned int __wseq; struct {unsigned int __low; unsigned int __high;} __wseq32;} -->
-        <var-decl name='' type-id='type-id-54' visibility='default'/>
+        <!-- __anonymous_union__  -->
+        <var-decl name='' type-id='type-id-49' visibility='default'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- unsigned int __pthread_cond_s::__g_refs[2] -->
-        <var-decl name='__g_refs' type-id='type-id-49' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='112' column='1'/>
+        <var-decl name='__g_refs' type-id='type-id-50' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='191' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- unsigned int __pthread_cond_s::__g_size[2] -->
-        <var-decl name='__g_size' type-id='type-id-49' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='113' column='1'/>
+        <var-decl name='__g_size' type-id='type-id-50' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='192' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- unsigned int __pthread_cond_s::__g1_orig_size -->
-        <var-decl name='__g1_orig_size' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='114' column='1'/>
+        <var-decl name='__g1_orig_size' type-id='type-id-11' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='193' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='288'>
         <!-- unsigned int __pthread_cond_s::__wrefs -->
-        <var-decl name='__wrefs' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='115' column='1'/>
+        <var-decl name='__wrefs' type-id='type-id-11' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='194' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
         <!-- unsigned int __pthread_cond_s::__g_signals[2] -->
-        <var-decl name='__g_signals' type-id='type-id-49' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='116' column='1'/>
+        <var-decl name='__g_signals' type-id='type-id-50' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='195' column='1'/>
       </data-member>
     </class-decl>
-    <!-- union {long long unsigned int __wseq; struct {unsigned int __low; unsigned int __high;} __wseq32;} -->
-    <union-decl name='__anonymous_union__1' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='94' column='1' id='type-id-54'>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='173' column='1' id='type-id-49'>
       <data-member access='private'>
-        <!-- long long unsigned int __wseq -->
-        <var-decl name='__wseq' type-id='type-id-48' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='96' column='1'/>
+        <!-- long long unsigned int __anonymous_union__::__wseq -->
+        <var-decl name='__wseq' type-id='type-id-51' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='175' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- struct {unsigned int __low; unsigned int __high;} __wseq32 -->
-        <var-decl name='__wseq32' type-id='type-id-55' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='101' column='1'/>
+        <!-- __anonymous_struct__ __anonymous_union__::__wseq32 -->
+        <var-decl name='__wseq32' type-id='type-id-52' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='180' column='1'/>
       </data-member>
     </union-decl>
-    <!-- struct {unsigned int __low; unsigned int __high;} -->
-    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='97' column='1' id='type-id-55'>
+    <!-- long long unsigned int -->
+    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-51'/>
+    <!-- struct __anonymous_struct__ -->
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='176' column='1' id='type-id-52'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <!-- unsigned int __low -->
-        <var-decl name='__low' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='99' column='1'/>
+        <!-- unsigned int __anonymous_struct__::__low -->
+        <var-decl name='__low' type-id='type-id-11' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='178' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='32'>
-        <!-- unsigned int __high -->
-        <var-decl name='__high' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='100' column='1'/>
+        <!-- unsigned int __anonymous_struct__::__high -->
+        <var-decl name='__high' type-id='type-id-11' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='179' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __int32_t int32_t -->
-    <typedef-decl name='int32_t' type-id='type-id-56' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-57'/>
+
+    <!-- unsigned int[2] -->
+    <array-type-def dimensions='1' type-id='type-id-11' size-in-bits='64' id='type-id-50'>
+      <!-- <anonymous range>[2] -->
+      <subrange length='2' type-id='type-id-17' id='type-id-53'/>
+
+    </array-type-def>
+
+    <!-- char[48] -->
+    <array-type-def dimensions='1' type-id='type-id-16' size-in-bits='384' id='type-id-47'>
+      <!-- <anonymous range>[48] -->
+      <subrange length='48' type-id='type-id-17' id='type-id-54'/>
+
+    </array-type-def>
+    <!-- long long int -->
+    <type-decl name='long long int' size-in-bits='64' id='type-id-48'/>
+    <!-- typedef __anonymous_union__ pthread_cond_t -->
+    <typedef-decl name='pthread_cond_t' type-id='type-id-45' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='80' column='1' id='type-id-55'/>
+    <!-- pthread_cond_t __urcu_compat_futex_cond -->
+    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-55' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
     <!-- typedef int __int32_t -->
-    <typedef-decl name='__int32_t' type-id='type-id-5' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-56'/>
+    <typedef-decl name='__int32_t' type-id='type-id-10' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='40' column='1' id='type-id-56'/>
+    <!-- typedef __int32_t int32_t -->
+    <typedef-decl name='int32_t' type-id='type-id-56' filepath='/usr/include/x86_64-linux-gnu/bits/stdint-intn.h' line='26' column='1' id='type-id-57'/>
+    <!-- int32_t* -->
+    <pointer-type-def type-id='type-id-57' size-in-bits='64' id='type-id-58'/>
     <!-- struct timespec -->
-    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='10' column='1' id='type-id-58'>
+    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='9' column='1' id='type-id-59'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- __time_t timespec::tv_sec -->
-        <var-decl name='tv_sec' type-id='type-id-59' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='12' column='1'/>
+        <var-decl name='tv_sec' type-id='type-id-60' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='11' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- __syscall_slong_t timespec::tv_nsec -->
-        <var-decl name='tv_nsec' type-id='type-id-60' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='16' column='1'/>
+        <var-decl name='tv_nsec' type-id='type-id-61' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='12' column='1'/>
       </data-member>
     </class-decl>
     <!-- typedef long int __time_t -->
-    <typedef-decl name='__time_t' type-id='type-id-6' filepath='/usr/include/bits/types.h' line='160' column='1' id='type-id-59'/>
+    <typedef-decl name='__time_t' type-id='type-id-9' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='148' column='1' id='type-id-60'/>
     <!-- typedef long int __syscall_slong_t -->
-    <typedef-decl name='__syscall_slong_t' type-id='type-id-6' filepath='/usr/include/bits/types.h' line='197' column='1' id='type-id-60'/>
+    <typedef-decl name='__syscall_slong_t' type-id='type-id-9' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='184' column='1' id='type-id-61'/>
     <!-- const timespec -->
-    <qualified-type-def type-id='type-id-58' const='yes' id='type-id-61'/>
+    <qualified-type-def type-id='type-id-59' const='yes' id='type-id-62'/>
     <!-- const timespec* -->
-    <pointer-type-def type-id='type-id-61' size-in-bits='64' id='type-id-62'/>
-    <!-- int32_t* -->
-    <pointer-type-def type-id='type-id-57' size-in-bits='64' id='type-id-63'/>
-    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
-    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-14' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
-    <!-- pthread_cond_t __urcu_compat_futex_cond -->
-    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-52' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
+    <pointer-type-def type-id='type-id-62' size-in-bits='64' id='type-id-63'/>
     <!-- int compat_futex_async(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
     <function-decl name='compat_futex_async' mangled-name='compat_futex_async' filepath='src/compat_futex.c' line='118' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_async'>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-63' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-58' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-10' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
       <parameter type-id='type-id-57' name='val' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'const timespec*' -->
-      <parameter type-id='type-id-62' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-63' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-63' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-58' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
       <parameter type-id='type-id-57' name='val3' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-10'/>
     </function-decl>
     <!-- int compat_futex_noasync(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
     <function-decl name='compat_futex_noasync' mangled-name='compat_futex_noasync' filepath='src/compat_futex.c' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_noasync'>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-63' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-58' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-10' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
       <parameter type-id='type-id-57' name='val' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'const timespec*' -->
-      <parameter type-id='type-id-62' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-63' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-63' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-58' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
       <parameter type-id='type-id-57' name='val3' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-10'/>
     </function-decl>
   </abi-instr>
 </abi-corpus>
index f28b67ccf5e972875a7d43ac11b9db94655d2cba..6971fb89910ac4aae541f9fa13bdb10c34d26ef6 100644 (file)
@@ -1,11 +1,14 @@
 <abi-corpus architecture='elf-amd-x86_64' soname='liburcu-mb.so.6'>
   <elf-needed>
-    <dependency name='liburcu-common.so.6'/>
     <dependency name='libpthread.so.0'/>
     <dependency name='libc.so.6'/>
     <dependency name='ld-linux-x86-64.so.2'/>
   </elf-needed>
   <elf-function-symbols>
+    <!-- _fini -->
+    <elf-symbol name='_fini' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- _init -->
+    <elf-symbol name='_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- call_rcu_after_fork_child_mb -->
     <elf-symbol name='call_rcu_after_fork_child_mb' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- call_rcu_after_fork_parent_mb -->
     <elf-symbol name='rcu_reader_mb' size='256' type='tls-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
   </elf-variable-symbols>
   <abi-instr version='1.0' address-size='64' path='urcu.c' comp-dir-path='src' language='LANG_C99'>
-
-    <!-- char -->
-    <type-decl name='char' size-in-bits='8' id='type-id-1'/>
-    <!-- char[40] -->
-    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='320' id='type-id-2'>
-      <!-- <anonymous range>[40] -->
-      <subrange length='40' type-id='type-id-3' id='type-id-4'/>
-
-    </array-type-def>
-    <!-- int -->
-    <type-decl name='int' size-in-bits='32' id='type-id-5'/>
-    <!-- long int -->
-    <type-decl name='long int' size-in-bits='64' id='type-id-6'/>
-    <!-- short int -->
-    <type-decl name='short int' size-in-bits='16' id='type-id-7'/>
-    <!-- unsigned int -->
-    <type-decl name='unsigned int' size-in-bits='32' id='type-id-8'/>
-    <!-- unsigned long int -->
-    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-3'/>
-    <!-- void -->
-    <type-decl name='void' id='type-id-9'/>
     <!-- struct rcu_gp_mb -->
-    <class-decl name='rcu_gp_mb' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu.h' line='119' column='1' id='type-id-10'>
+    <class-decl name='rcu_gp_mb' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu.h' line='119' column='1' id='type-id-1'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned long int rcu_gp_mb::ctr -->
-        <var-decl name='ctr' type-id='type-id-3' visibility='default' filepath='../include/urcu/static/urcu.h' line='127' column='1'/>
+        <var-decl name='ctr' type-id='type-id-2' visibility='default' filepath='../include/urcu/static/urcu.h' line='127' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- int32_t rcu_gp_mb::futex -->
-        <var-decl name='futex' type-id='type-id-11' visibility='default' filepath='../include/urcu/static/urcu.h' line='129' column='1'/>
+        <var-decl name='futex' type-id='type-id-3' visibility='default' filepath='../include/urcu/static/urcu.h' line='129' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __int32_t int32_t -->
-    <typedef-decl name='int32_t' type-id='type-id-12' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-11'/>
+    <!-- unsigned long int -->
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-2'/>
+    <!-- int -->
+    <type-decl name='int' size-in-bits='32' id='type-id-4'/>
     <!-- typedef int __int32_t -->
-    <typedef-decl name='__int32_t' type-id='type-id-5' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-12'/>
+    <typedef-decl name='__int32_t' type-id='type-id-4' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='40' column='1' id='type-id-5'/>
+    <!-- typedef __int32_t int32_t -->
+    <typedef-decl name='int32_t' type-id='type-id-5' filepath='/usr/include/x86_64-linux-gnu/bits/stdint-intn.h' line='26' column='1' id='type-id-3'/>
+    <!-- rcu_gp_mb rcu_gp_mb -->
+    <var-decl name='rcu_gp_mb' type-id='type-id-1' mangled-name='rcu_gp_mb' visibility='default' filepath='../include/urcu/static/urcu.h' line='132' column='1' elf-symbol-id='rcu_gp_mb'/>
     <!-- struct rcu_reader_mb -->
-    <class-decl name='rcu_reader_mb' size-in-bits='2048' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu.h' line='134' column='1' id='type-id-13'>
+    <class-decl name='rcu_reader_mb' size-in-bits='2048' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu.h' line='134' column='1' id='type-id-6'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned long int rcu_reader_mb::ctr -->
-        <var-decl name='ctr' type-id='type-id-3' visibility='default' filepath='../include/urcu/static/urcu.h' line='136' column='1'/>
+        <var-decl name='ctr' type-id='type-id-2' visibility='default' filepath='../include/urcu/static/urcu.h' line='136' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- char rcu_reader_mb::need_mb -->
-        <var-decl name='need_mb' type-id='type-id-1' visibility='default' filepath='../include/urcu/static/urcu.h' line='137' column='1'/>
+        <var-decl name='need_mb' type-id='type-id-7' visibility='default' filepath='../include/urcu/static/urcu.h' line='137' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1024'>
         <!-- cds_list_head rcu_reader_mb::node -->
-        <var-decl name='node' type-id='type-id-14' visibility='default' filepath='../include/urcu/static/urcu.h' line='139' column='1'/>
+        <var-decl name='node' type-id='type-id-8' visibility='default' filepath='../include/urcu/static/urcu.h' line='139' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1152'>
         <!-- pthread_t rcu_reader_mb::tid -->
-        <var-decl name='tid' type-id='type-id-15' visibility='default' filepath='../include/urcu/static/urcu.h' line='140' column='1'/>
+        <var-decl name='tid' type-id='type-id-9' visibility='default' filepath='../include/urcu/static/urcu.h' line='140' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='31'>
         <!-- unsigned int rcu_reader_mb::registered -->
-        <var-decl name='registered' type-id='type-id-8' visibility='default' filepath='../include/urcu/static/urcu.h' line='142' column='1'/>
+        <var-decl name='registered' type-id='type-id-10' visibility='default' filepath='../include/urcu/static/urcu.h' line='142' column='1'/>
       </data-member>
     </class-decl>
+    <!-- char -->
+    <type-decl name='char' size-in-bits='8' id='type-id-7'/>
     <!-- struct cds_list_head -->
-    <class-decl name='cds_list_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/list.h' line='35' column='1' id='type-id-14'>
+    <class-decl name='cds_list_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/list.h' line='35' column='1' id='type-id-8'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_list_head* cds_list_head::next -->
-        <var-decl name='next' type-id='type-id-16' visibility='default' filepath='../include/urcu/list.h' line='36' column='1'/>
+        <var-decl name='next' type-id='type-id-11' visibility='default' filepath='../include/urcu/list.h' line='36' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- cds_list_head* cds_list_head::prev -->
-        <var-decl name='prev' type-id='type-id-16' visibility='default' filepath='../include/urcu/list.h' line='36' column='1'/>
+        <var-decl name='prev' type-id='type-id-11' visibility='default' filepath='../include/urcu/list.h' line='36' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_list_head* -->
+    <pointer-type-def type-id='type-id-8' size-in-bits='64' id='type-id-11'/>
     <!-- typedef unsigned long int pthread_t -->
-    <typedef-decl name='pthread_t' type-id='type-id-3' filepath='/usr/include/bits/pthreadtypes.h' line='27' column='1' id='type-id-15'/>
+    <typedef-decl name='pthread_t' type-id='type-id-2' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='27' column='1' id='type-id-9'/>
+    <!-- unsigned int -->
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-10'/>
+    <!-- rcu_reader_mb rcu_reader_mb -->
+    <var-decl name='rcu_reader_mb' type-id='type-id-6' mangled-name='rcu_reader_mb' visibility='default' filepath='../include/urcu/static/urcu.h' line='145' column='1' elf-symbol-id='rcu_reader_mb'/>
     <!-- struct rcu_flavor_struct -->
-    <class-decl name='rcu_flavor_struct' size-in-bits='896' is-struct='yes' visibility='default' filepath='../src/urcu-flavor.h' line='40' column='1' id='type-id-17'>
+    <class-decl name='rcu_flavor_struct' size-in-bits='896' is-struct='yes' visibility='default' filepath='../src/urcu-flavor.h' line='40' column='1' id='type-id-12'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- void ()* rcu_flavor_struct::read_lock -->
-        <var-decl name='read_lock' type-id='type-id-18' visibility='default' filepath='../src/urcu-flavor.h' line='41' column='1'/>
+        <var-decl name='read_lock' type-id='type-id-13' visibility='default' filepath='../src/urcu-flavor.h' line='41' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void ()* rcu_flavor_struct::read_unlock -->
-        <var-decl name='read_unlock' type-id='type-id-18' visibility='default' filepath='../src/urcu-flavor.h' line='42' column='1'/>
+        <var-decl name='read_unlock' type-id='type-id-13' visibility='default' filepath='../src/urcu-flavor.h' line='42' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- int ()* rcu_flavor_struct::read_ongoing -->
-        <var-decl name='read_ongoing' type-id='type-id-19' visibility='default' filepath='../src/urcu-flavor.h' line='43' column='1'/>
+        <var-decl name='read_ongoing' type-id='type-id-14' visibility='default' filepath='../src/urcu-flavor.h' line='43' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- void ()* rcu_flavor_struct::read_quiescent_state -->
-        <var-decl name='read_quiescent_state' type-id='type-id-18' visibility='default' filepath='../src/urcu-flavor.h' line='44' column='1'/>
+        <var-decl name='read_quiescent_state' type-id='type-id-13' visibility='default' filepath='../src/urcu-flavor.h' line='44' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- void (rcu_head*, void (rcu_head*)*)* rcu_flavor_struct::update_call_rcu -->
-        <var-decl name='update_call_rcu' type-id='type-id-20' visibility='default' filepath='../src/urcu-flavor.h' line='45' column='1'/>
+        <var-decl name='update_call_rcu' type-id='type-id-15' visibility='default' filepath='../src/urcu-flavor.h' line='45' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
         <!-- void ()* rcu_flavor_struct::update_synchronize_rcu -->
-        <var-decl name='update_synchronize_rcu' type-id='type-id-18' visibility='default' filepath='../src/urcu-flavor.h' line='47' column='1'/>
+        <var-decl name='update_synchronize_rcu' type-id='type-id-13' visibility='default' filepath='../src/urcu-flavor.h' line='47' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='384'>
         <!-- void (void (void*)*, void*)* rcu_flavor_struct::update_defer_rcu -->
-        <var-decl name='update_defer_rcu' type-id='type-id-21' visibility='default' filepath='../src/urcu-flavor.h' line='48' column='1'/>
+        <var-decl name='update_defer_rcu' type-id='type-id-16' visibility='default' filepath='../src/urcu-flavor.h' line='48' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='448'>
         <!-- void ()* rcu_flavor_struct::thread_offline -->
-        <var-decl name='thread_offline' type-id='type-id-18' visibility='default' filepath='../src/urcu-flavor.h' line='50' column='1'/>
+        <var-decl name='thread_offline' type-id='type-id-13' visibility='default' filepath='../src/urcu-flavor.h' line='50' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='512'>
         <!-- void ()* rcu_flavor_struct::thread_online -->
-        <var-decl name='thread_online' type-id='type-id-18' visibility='default' filepath='../src/urcu-flavor.h' line='51' column='1'/>
+        <var-decl name='thread_online' type-id='type-id-13' visibility='default' filepath='../src/urcu-flavor.h' line='51' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='576'>
         <!-- void ()* rcu_flavor_struct::register_thread -->
-        <var-decl name='register_thread' type-id='type-id-18' visibility='default' filepath='../src/urcu-flavor.h' line='52' column='1'/>
+        <var-decl name='register_thread' type-id='type-id-13' visibility='default' filepath='../src/urcu-flavor.h' line='52' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='640'>
         <!-- void ()* rcu_flavor_struct::unregister_thread -->
-        <var-decl name='unregister_thread' type-id='type-id-18' visibility='default' filepath='../src/urcu-flavor.h' line='53' column='1'/>
+        <var-decl name='unregister_thread' type-id='type-id-13' visibility='default' filepath='../src/urcu-flavor.h' line='53' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='704'>
         <!-- void ()* rcu_flavor_struct::barrier -->
-        <var-decl name='barrier' type-id='type-id-18' visibility='default' filepath='../src/urcu-flavor.h' line='55' column='1'/>
+        <var-decl name='barrier' type-id='type-id-13' visibility='default' filepath='../src/urcu-flavor.h' line='55' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='768'>
         <!-- void (urcu_atfork*)* rcu_flavor_struct::register_rculfhash_atfork -->
-        <var-decl name='register_rculfhash_atfork' type-id='type-id-22' visibility='default' filepath='../src/urcu-flavor.h' line='57' column='1'/>
+        <var-decl name='register_rculfhash_atfork' type-id='type-id-17' visibility='default' filepath='../src/urcu-flavor.h' line='57' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='832'>
         <!-- void (urcu_atfork*)* rcu_flavor_struct::unregister_rculfhash_atfork -->
-        <var-decl name='unregister_rculfhash_atfork' type-id='type-id-22' visibility='default' filepath='../src/urcu-flavor.h' line='58' column='1'/>
+        <var-decl name='unregister_rculfhash_atfork' type-id='type-id-17' visibility='default' filepath='../src/urcu-flavor.h' line='58' column='1'/>
       </data-member>
     </class-decl>
+    <!-- void -->
+    <type-decl name='void' id='type-id-18'/>
+    <!-- void ()* -->
+    <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-13'/>
+    <!-- int ()* -->
+    <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-14'/>
     <!-- struct rcu_head -->
-    <class-decl name='rcu_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../src/urcu-call-rcu.h' line='59' column='1' id='type-id-23'>
+    <class-decl name='rcu_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../src/urcu-call-rcu.h' line='59' column='1' id='type-id-21'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node rcu_head::next -->
-        <var-decl name='next' type-id='type-id-24' visibility='default' filepath='../src/urcu-call-rcu.h' line='60' column='1'/>
+        <var-decl name='next' type-id='type-id-22' visibility='default' filepath='../src/urcu-call-rcu.h' line='60' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void (rcu_head*)* rcu_head::func -->
-        <var-decl name='func' type-id='type-id-25' visibility='default' filepath='../src/urcu-call-rcu.h' line='61' column='1'/>
+        <var-decl name='func' type-id='type-id-23' visibility='default' filepath='../src/urcu-call-rcu.h' line='61' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_node -->
-    <class-decl name='cds_wfcq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='59' column='1' id='type-id-24'>
+    <class-decl name='cds_wfcq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='59' column='1' id='type-id-22'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node* cds_wfcq_node::next -->
-        <var-decl name='next' type-id='type-id-26' visibility='default' filepath='../include/urcu/wfcqueue.h' line='60' column='1'/>
+        <var-decl name='next' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='60' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_wfcq_node* -->
+    <pointer-type-def type-id='type-id-22' size-in-bits='64' id='type-id-24'/>
+    <!-- rcu_head* -->
+    <pointer-type-def type-id='type-id-21' size-in-bits='64' id='type-id-25'/>
+    <!-- void (rcu_head*)* -->
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-23'/>
+    <!-- void (rcu_head*, void (rcu_head*)*)* -->
+    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-15'/>
+    <!-- void* -->
+    <pointer-type-def type-id='type-id-18' size-in-bits='64' id='type-id-28'/>
+    <!-- void (void*)* -->
+    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-30'/>
+    <!-- void (void (void*)*, void*)* -->
+    <pointer-type-def type-id='type-id-31' size-in-bits='64' id='type-id-16'/>
     <!-- struct urcu_atfork -->
-    <class-decl name='urcu_atfork' size-in-bits='256' is-struct='yes' visibility='default' filepath='../src/urcu-flavor.h' line='30' column='1' id='type-id-27'>
+    <class-decl name='urcu_atfork' size-in-bits='256' is-struct='yes' visibility='default' filepath='../src/urcu-flavor.h' line='30' column='1' id='type-id-32'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- void (void*)* urcu_atfork::before_fork -->
-        <var-decl name='before_fork' type-id='type-id-28' visibility='default' filepath='../src/urcu-flavor.h' line='31' column='1'/>
+        <var-decl name='before_fork' type-id='type-id-30' visibility='default' filepath='../src/urcu-flavor.h' line='31' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void (void*)* urcu_atfork::after_fork_parent -->
-        <var-decl name='after_fork_parent' type-id='type-id-28' visibility='default' filepath='../src/urcu-flavor.h' line='32' column='1'/>
+        <var-decl name='after_fork_parent' type-id='type-id-30' visibility='default' filepath='../src/urcu-flavor.h' line='32' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- void (void*)* urcu_atfork::after_fork_child -->
-        <var-decl name='after_fork_child' type-id='type-id-28' visibility='default' filepath='../src/urcu-flavor.h' line='33' column='1'/>
+        <var-decl name='after_fork_child' type-id='type-id-30' visibility='default' filepath='../src/urcu-flavor.h' line='33' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- void* urcu_atfork::priv -->
-        <var-decl name='priv' type-id='type-id-29' visibility='default' filepath='../src/urcu-flavor.h' line='34' column='1'/>
+        <var-decl name='priv' type-id='type-id-28' visibility='default' filepath='../src/urcu-flavor.h' line='34' column='1'/>
       </data-member>
     </class-decl>
+    <!-- urcu_atfork* -->
+    <pointer-type-def type-id='type-id-32' size-in-bits='64' id='type-id-33'/>
+    <!-- void (urcu_atfork*)* -->
+    <pointer-type-def type-id='type-id-34' size-in-bits='64' id='type-id-17'/>
+    <!-- const rcu_flavor_struct -->
+    <qualified-type-def type-id='type-id-12' const='yes' id='type-id-35'/>
+    <!-- const rcu_flavor_struct rcu_flavor_mb -->
+    <var-decl name='rcu_flavor_mb' type-id='type-id-35' mangled-name='rcu_flavor_mb' visibility='default' filepath='../src/urcu-flavor.h' line='79' column='1' elf-symbol-id='rcu_flavor_mb'/>
+    <!-- void rcu_defer_exit_mb() -->
+    <function-decl name='rcu_defer_exit_mb' mangled-name='rcu_defer_exit_mb' filepath='src/urcu-defer-impl.h' line='466' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_exit_mb'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void rcu_defer_unregister_thread_mb() -->
+    <function-decl name='rcu_defer_unregister_thread_mb' mangled-name='rcu_defer_unregister_thread_mb' filepath='src/urcu-defer-impl.h' line='448' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_unregister_thread_mb'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- int rcu_defer_register_thread_mb() -->
+    <function-decl name='rcu_defer_register_thread_mb' mangled-name='rcu_defer_register_thread_mb' filepath='src/urcu-defer-impl.h' line='426' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_register_thread_mb'>
+      <!-- int -->
+      <return type-id='type-id-4'/>
+    </function-decl>
+    <!-- void defer_rcu_mb(void (void*)*, void*) -->
+    <function-decl name='defer_rcu_mb' mangled-name='defer_rcu_mb' filepath='src/urcu-defer-impl.h' line='395' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='defer_rcu_mb'>
+      <!-- parameter of type 'void (void*)*' -->
+      <parameter type-id='type-id-30' name='fct' filepath='src/urcu-defer-impl.h' line='395' column='1'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-28' name='p' filepath='src/urcu-defer-impl.h' line='395' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void rcu_defer_barrier_mb() -->
+    <function-decl name='rcu_defer_barrier_mb' mangled-name='rcu_defer_barrier_mb' filepath='src/urcu-defer-impl.h' line='281' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_barrier_mb'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void rcu_defer_barrier_thread_mb() -->
+    <function-decl name='rcu_defer_barrier_thread_mb' mangled-name='rcu_defer_barrier_thread_mb' filepath='src/urcu-defer-impl.h' line='261' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_barrier_thread_mb'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_unregister_rculfhash_atfork_mb(urcu_atfork*) -->
+    <function-decl name='urcu_unregister_rculfhash_atfork_mb' mangled-name='urcu_unregister_rculfhash_atfork_mb' filepath='src/urcu-call-rcu-impl.h' line='1011' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_unregister_rculfhash_atfork_mb'>
+      <!-- parameter of type 'urcu_atfork*' -->
+      <parameter type-id='type-id-33' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1011' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_register_rculfhash_atfork_mb(urcu_atfork*) -->
+    <function-decl name='urcu_register_rculfhash_atfork_mb' mangled-name='urcu_register_rculfhash_atfork_mb' filepath='src/urcu-call-rcu-impl.h' line='1001' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_register_rculfhash_atfork_mb'>
+      <!-- parameter of type 'urcu_atfork*' -->
+      <parameter type-id='type-id-33' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1011' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void call_rcu_after_fork_child_mb() -->
+    <function-decl name='call_rcu_after_fork_child_mb' mangled-name='call_rcu_after_fork_child_mb' filepath='src/urcu-call-rcu-impl.h' line='959' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_after_fork_child_mb'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void call_rcu_after_fork_parent_mb() -->
+    <function-decl name='call_rcu_after_fork_parent_mb' mangled-name='call_rcu_after_fork_parent_mb' filepath='src/urcu-call-rcu-impl.h' line='937' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_after_fork_parent_mb'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void call_rcu_before_fork_mb() -->
+    <function-decl name='call_rcu_before_fork_mb' mangled-name='call_rcu_before_fork_mb' filepath='src/urcu-call-rcu-impl.h' line='910' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_before_fork_mb'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void rcu_barrier_mb() -->
+    <function-decl name='rcu_barrier_mb' mangled-name='rcu_barrier_mb' filepath='src/urcu-call-rcu-impl.h' line='839' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_barrier_mb'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void free_all_cpu_call_rcu_data_mb() -->
+    <function-decl name='free_all_cpu_call_rcu_data_mb' mangled-name='free_all_cpu_call_rcu_data_mb' filepath='src/urcu-call-rcu-impl.h' line='776' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='free_all_cpu_call_rcu_data_mb'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
     <!-- struct call_rcu_data -->
-    <class-decl name='call_rcu_data' size-in-bits='1024' is-struct='yes' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='52' column='1' id='type-id-30'>
+    <class-decl name='call_rcu_data' size-in-bits='1024' is-struct='yes' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='52' column='1' id='type-id-36'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_tail call_rcu_data::cbs_tail -->
-        <var-decl name='cbs_tail' type-id='type-id-31' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='60' column='1'/>
+        <var-decl name='cbs_tail' type-id='type-id-37' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='60' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- cds_wfcq_head call_rcu_data::cbs_head -->
-        <var-decl name='cbs_head' type-id='type-id-32' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='61' column='1'/>
+        <var-decl name='cbs_head' type-id='type-id-38' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='61' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='448'>
         <!-- unsigned long int call_rcu_data::flags -->
-        <var-decl name='flags' type-id='type-id-3' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='62' column='1'/>
+        <var-decl name='flags' type-id='type-id-2' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='62' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='512'>
         <!-- int32_t call_rcu_data::futex -->
-        <var-decl name='futex' type-id='type-id-11' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='63' column='1'/>
+        <var-decl name='futex' type-id='type-id-3' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='63' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='576'>
         <!-- unsigned long int call_rcu_data::qlen -->
-        <var-decl name='qlen' type-id='type-id-3' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='64' column='1'/>
+        <var-decl name='qlen' type-id='type-id-2' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='64' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='640'>
         <!-- pthread_t call_rcu_data::tid -->
-        <var-decl name='tid' type-id='type-id-15' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='65' column='1'/>
+        <var-decl name='tid' type-id='type-id-9' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='65' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='704'>
         <!-- int call_rcu_data::cpu_affinity -->
-        <var-decl name='cpu_affinity' type-id='type-id-5' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='66' column='1'/>
+        <var-decl name='cpu_affinity' type-id='type-id-4' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='66' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='768'>
         <!-- unsigned long int call_rcu_data::gp_count -->
-        <var-decl name='gp_count' type-id='type-id-3' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='67' column='1'/>
+        <var-decl name='gp_count' type-id='type-id-2' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='67' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='832'>
         <!-- cds_list_head call_rcu_data::list -->
-        <var-decl name='list' type-id='type-id-14' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='68' column='1'/>
+        <var-decl name='list' type-id='type-id-8' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='68' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_tail -->
-    <class-decl name='cds_wfcq_tail' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='127' column='1' id='type-id-31'>
+    <class-decl name='cds_wfcq_tail' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='127' column='1' id='type-id-37'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node* cds_wfcq_tail::p -->
-        <var-decl name='p' type-id='type-id-26' visibility='default' filepath='../include/urcu/wfcqueue.h' line='128' column='1'/>
+        <var-decl name='p' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='128' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_head -->
-    <class-decl name='cds_wfcq_head' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='72' column='1' id='type-id-32'>
+    <class-decl name='cds_wfcq_head' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='72' column='1' id='type-id-38'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node cds_wfcq_head::node -->
-        <var-decl name='node' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='73' column='1'/>
+        <var-decl name='node' type-id='type-id-22' visibility='default' filepath='../include/urcu/wfcqueue.h' line='73' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- pthread_mutex_t cds_wfcq_head::lock -->
-        <var-decl name='lock' type-id='type-id-33' visibility='default' filepath='../include/urcu/wfcqueue.h' line='74' column='1'/>
+        <var-decl name='lock' type-id='type-id-39' visibility='default' filepath='../include/urcu/wfcqueue.h' line='74' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __anonymous_union__ pthread_mutex_t -->
-    <typedef-decl name='pthread_mutex_t' type-id='type-id-34' filepath='/usr/include/bits/pthreadtypes.h' line='72' column='1' id='type-id-33'/>
-    <!-- union {__pthread_mutex_s __data; char __size[40]; long int __align;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='67' column='1' id='type-id-34'>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='67' column='1' id='type-id-40'>
       <data-member access='private'>
-        <!-- __pthread_mutex_s __data -->
-        <var-decl name='__data' type-id='type-id-35' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='69' column='1'/>
+        <!-- __pthread_mutex_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-41' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='69' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- char __size[40] -->
-        <var-decl name='__size' type-id='type-id-2' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='70' column='1'/>
+        <!-- char __anonymous_union__::__size[40] -->
+        <var-decl name='__size' type-id='type-id-42' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='70' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- long int __align -->
-        <var-decl name='__align' type-id='type-id-6' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='71' column='1'/>
+        <!-- long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-43' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='71' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __pthread_mutex_s -->
-    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='22' column='1' id='type-id-35'>
+    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='118' column='1' id='type-id-41'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- int __pthread_mutex_s::__lock -->
-        <var-decl name='__lock' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='24' column='1'/>
+        <var-decl name='__lock' type-id='type-id-4' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='120' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='32'>
         <!-- unsigned int __pthread_mutex_s::__count -->
-        <var-decl name='__count' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='25' column='1'/>
+        <var-decl name='__count' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='121' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- int __pthread_mutex_s::__owner -->
-        <var-decl name='__owner' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='26' column='1'/>
+        <var-decl name='__owner' type-id='type-id-4' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='122' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='96'>
         <!-- unsigned int __pthread_mutex_s::__nusers -->
-        <var-decl name='__nusers' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='28' column='1'/>
+        <var-decl name='__nusers' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='124' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- int __pthread_mutex_s::__kind -->
-        <var-decl name='__kind' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='32' column='1'/>
+        <var-decl name='__kind' type-id='type-id-4' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='148' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='160'>
         <!-- short int __pthread_mutex_s::__spins -->
-        <var-decl name='__spins' type-id='type-id-7' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='34' column='1'/>
+        <var-decl name='__spins' type-id='type-id-44' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='176'>
         <!-- short int __pthread_mutex_s::__elision -->
-        <var-decl name='__elision' type-id='type-id-7' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='35' column='1'/>
+        <var-decl name='__elision' type-id='type-id-44' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- __pthread_list_t __pthread_mutex_s::__list -->
-        <var-decl name='__list' type-id='type-id-36' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='36' column='1'/>
+        <var-decl name='__list' type-id='type-id-45' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='155' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __pthread_internal_list __pthread_list_t -->
-    <typedef-decl name='__pthread_list_t' type-id='type-id-37' filepath='/usr/include/bits/thread-shared-types.h' line='53' column='1' id='type-id-36'/>
+    <!-- short int -->
+    <type-decl name='short int' size-in-bits='16' id='type-id-44'/>
     <!-- struct __pthread_internal_list -->
-    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='49' column='1' id='type-id-37'>
+    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='82' column='1' id='type-id-46'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- __pthread_internal_list* __pthread_internal_list::__prev -->
-        <var-decl name='__prev' type-id='type-id-38' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='51' column='1'/>
+        <var-decl name='__prev' type-id='type-id-47' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='84' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- __pthread_internal_list* __pthread_internal_list::__next -->
-        <var-decl name='__next' type-id='type-id-38' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='52' column='1'/>
+        <var-decl name='__next' type-id='type-id-47' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='85' column='1'/>
       </data-member>
     </class-decl>
     <!-- __pthread_internal_list* -->
-    <pointer-type-def type-id='type-id-37' size-in-bits='64' id='type-id-38'/>
+    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-47'/>
+    <!-- typedef __pthread_internal_list __pthread_list_t -->
+    <typedef-decl name='__pthread_list_t' type-id='type-id-46' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='86' column='1' id='type-id-45'/>
+
+    <!-- char[40] -->
+    <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='320' id='type-id-42'>
+      <!-- <anonymous range>[40] -->
+      <subrange length='40' type-id='type-id-2' id='type-id-48'/>
+
+    </array-type-def>
+    <!-- long int -->
+    <type-decl name='long int' size-in-bits='64' id='type-id-43'/>
+    <!-- typedef __anonymous_union__ pthread_mutex_t -->
+    <typedef-decl name='pthread_mutex_t' type-id='type-id-40' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='72' column='1' id='type-id-39'/>
     <!-- call_rcu_data* -->
-    <pointer-type-def type-id='type-id-30' size-in-bits='64' id='type-id-39'/>
-    <!-- cds_list_head* -->
-    <pointer-type-def type-id='type-id-14' size-in-bits='64' id='type-id-16'/>
-    <!-- cds_wfcq_node* -->
-    <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-26'/>
-    <!-- const rcu_flavor_struct -->
-    <qualified-type-def type-id='type-id-17' const='yes' id='type-id-40'/>
-    <!-- int ()* -->
-    <pointer-type-def type-id='type-id-41' size-in-bits='64' id='type-id-19'/>
-    <!-- rcu_head* -->
-    <pointer-type-def type-id='type-id-23' size-in-bits='64' id='type-id-42'/>
-    <!-- urcu_atfork* -->
-    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-43'/>
-    <!-- void ()* -->
-    <pointer-type-def type-id='type-id-44' size-in-bits='64' id='type-id-18'/>
-    <!-- void (rcu_head*)* -->
-    <pointer-type-def type-id='type-id-45' size-in-bits='64' id='type-id-25'/>
-    <!-- void (rcu_head*, void (rcu_head*)*)* -->
-    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-20'/>
-    <!-- void (urcu_atfork*)* -->
-    <pointer-type-def type-id='type-id-47' size-in-bits='64' id='type-id-22'/>
-    <!-- void (void (void*)*, void*)* -->
-    <pointer-type-def type-id='type-id-48' size-in-bits='64' id='type-id-21'/>
-    <!-- void (void*)* -->
-    <pointer-type-def type-id='type-id-49' size-in-bits='64' id='type-id-28'/>
-    <!-- void* -->
-    <pointer-type-def type-id='type-id-9' size-in-bits='64' id='type-id-29'/>
-    <!-- rcu_gp_mb rcu_gp_mb -->
-    <var-decl name='rcu_gp_mb' type-id='type-id-10' mangled-name='rcu_gp_mb' visibility='default' filepath='../include/urcu/static/urcu.h' line='132' column='1' elf-symbol-id='rcu_gp_mb'/>
-    <!-- rcu_reader_mb rcu_reader_mb -->
-    <var-decl name='rcu_reader_mb' type-id='type-id-13' mangled-name='rcu_reader_mb' visibility='default' filepath='../include/urcu/static/urcu.h' line='145' column='1' elf-symbol-id='rcu_reader_mb'/>
-    <!-- const rcu_flavor_struct rcu_flavor_mb -->
-    <var-decl name='rcu_flavor_mb' type-id='type-id-40' mangled-name='rcu_flavor_mb' visibility='default' filepath='../src/urcu-flavor.h' line='79' column='1' elf-symbol-id='rcu_flavor_mb'/>
-    <!-- void rcu_defer_exit_mb() -->
-    <function-decl name='rcu_defer_exit_mb' mangled-name='rcu_defer_exit_mb' filepath='src/urcu-defer-impl.h' line='466' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_exit_mb'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void rcu_defer_unregister_thread_mb() -->
-    <function-decl name='rcu_defer_unregister_thread_mb' mangled-name='rcu_defer_unregister_thread_mb' filepath='src/urcu-defer-impl.h' line='448' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_unregister_thread_mb'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- int rcu_defer_register_thread_mb() -->
-    <function-decl name='rcu_defer_register_thread_mb' mangled-name='rcu_defer_register_thread_mb' filepath='src/urcu-defer-impl.h' line='426' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_register_thread_mb'>
-      <!-- int -->
-      <return type-id='type-id-5'/>
-    </function-decl>
-    <!-- void defer_rcu_mb(void (void*)*, void*) -->
-    <function-decl name='defer_rcu_mb' mangled-name='defer_rcu_mb' filepath='src/urcu-defer-impl.h' line='395' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='defer_rcu_mb'>
-      <!-- parameter of type 'void (void*)*' -->
-      <parameter type-id='type-id-28' name='fct' filepath='src/urcu-defer-impl.h' line='395' column='1'/>
-      <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='p' filepath='src/urcu-defer-impl.h' line='395' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void rcu_defer_barrier_mb() -->
-    <function-decl name='rcu_defer_barrier_mb' mangled-name='rcu_defer_barrier_mb' filepath='src/urcu-defer-impl.h' line='281' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_barrier_mb'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void rcu_defer_barrier_thread_mb() -->
-    <function-decl name='rcu_defer_barrier_thread_mb' mangled-name='rcu_defer_barrier_thread_mb' filepath='src/urcu-defer-impl.h' line='261' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_barrier_thread_mb'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_unregister_rculfhash_atfork_mb(urcu_atfork*) -->
-    <function-decl name='urcu_unregister_rculfhash_atfork_mb' mangled-name='urcu_unregister_rculfhash_atfork_mb' filepath='src/urcu-call-rcu-impl.h' line='1011' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_unregister_rculfhash_atfork_mb'>
-      <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-43' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1011' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_register_rculfhash_atfork_mb(urcu_atfork*) -->
-    <function-decl name='urcu_register_rculfhash_atfork_mb' mangled-name='urcu_register_rculfhash_atfork_mb' filepath='src/urcu-call-rcu-impl.h' line='1001' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_register_rculfhash_atfork_mb'>
-      <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-43' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1001' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void call_rcu_after_fork_child_mb() -->
-    <function-decl name='call_rcu_after_fork_child_mb' mangled-name='call_rcu_after_fork_child_mb' filepath='src/urcu-call-rcu-impl.h' line='959' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_after_fork_child_mb'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void call_rcu_after_fork_parent_mb() -->
-    <function-decl name='call_rcu_after_fork_parent_mb' mangled-name='call_rcu_after_fork_parent_mb' filepath='src/urcu-call-rcu-impl.h' line='937' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_after_fork_parent_mb'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void call_rcu_before_fork_mb() -->
-    <function-decl name='call_rcu_before_fork_mb' mangled-name='call_rcu_before_fork_mb' filepath='src/urcu-call-rcu-impl.h' line='910' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_before_fork_mb'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void rcu_barrier_mb() -->
-    <function-decl name='rcu_barrier_mb' mangled-name='rcu_barrier_mb' filepath='src/urcu-call-rcu-impl.h' line='839' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_barrier_mb'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void free_all_cpu_call_rcu_data_mb() -->
-    <function-decl name='free_all_cpu_call_rcu_data_mb' mangled-name='free_all_cpu_call_rcu_data_mb' filepath='src/urcu-call-rcu-impl.h' line='776' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='free_all_cpu_call_rcu_data_mb'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
+    <pointer-type-def type-id='type-id-36' size-in-bits='64' id='type-id-49'/>
     <!-- void call_rcu_data_free_mb(call_rcu_data*) -->
     <function-decl name='call_rcu_data_free_mb' mangled-name='call_rcu_data_free_mb' filepath='src/urcu-call-rcu-impl.h' line='744' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_data_free_mb'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='744' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='744' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void call_rcu_mb(rcu_head*, void (rcu_head*)*) -->
     <function-decl name='call_rcu_mb' mangled-name='call_rcu_mb' filepath='src/urcu-call-rcu-impl.h' line='706' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_mb'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42' name='head' filepath='src/urcu-call-rcu-impl.h' line='706' column='1'/>
+      <parameter type-id='type-id-25' name='head' filepath='src/urcu-call-rcu-impl.h' line='706' column='1'/>
       <!-- parameter of type 'void (rcu_head*)*' -->
-      <parameter type-id='type-id-25' name='func' filepath='src/urcu-call-rcu-impl.h' line='707' column='1'/>
+      <parameter type-id='type-id-23' name='func' filepath='src/urcu-call-rcu-impl.h' line='707' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- int create_all_cpu_call_rcu_data_mb(unsigned long int) -->
     <function-decl name='create_all_cpu_call_rcu_data_mb' mangled-name='create_all_cpu_call_rcu_data_mb' filepath='src/urcu-call-rcu-impl.h' line='628' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='create_all_cpu_call_rcu_data_mb'>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-3' name='flags' filepath='src/urcu-call-rcu-impl.h' line='628' column='1'/>
+      <parameter type-id='type-id-2' name='flags' filepath='src/urcu-call-rcu-impl.h' line='628' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-decl>
     <!-- void set_thread_call_rcu_data_mb(call_rcu_data*) -->
     <function-decl name='set_thread_call_rcu_data_mb' mangled-name='set_thread_call_rcu_data_mb' filepath='src/urcu-call-rcu-impl.h' line='615' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='set_thread_call_rcu_data_mb'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='615' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='615' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- call_rcu_data* get_thread_call_rcu_data_mb() -->
     <function-decl name='get_thread_call_rcu_data_mb' mangled-name='get_thread_call_rcu_data_mb' filepath='src/urcu-call-rcu-impl.h' line='599' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_thread_call_rcu_data_mb'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- call_rcu_data* get_call_rcu_data_mb() -->
     <function-decl name='get_call_rcu_data_mb' mangled-name='get_call_rcu_data_mb' filepath='src/urcu-call-rcu-impl.h' line='579' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_call_rcu_data_mb'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- call_rcu_data* get_default_call_rcu_data_mb() -->
     <function-decl name='get_default_call_rcu_data_mb' mangled-name='get_default_call_rcu_data_mb' filepath='src/urcu-call-rcu-impl.h' line='554' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_default_call_rcu_data_mb'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- int set_cpu_call_rcu_data_mb(int, call_rcu_data*) -->
     <function-decl name='set_cpu_call_rcu_data_mb' mangled-name='set_cpu_call_rcu_data_mb' filepath='src/urcu-call-rcu-impl.h' line='515' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='set_cpu_call_rcu_data_mb'>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='515' column='1'/>
+      <parameter type-id='type-id-4' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='515' column='1'/>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='515' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='515' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-decl>
     <!-- call_rcu_data* create_call_rcu_data_mb(unsigned long int, int) -->
     <function-decl name='create_call_rcu_data_mb' mangled-name='create_call_rcu_data_mb' filepath='src/urcu-call-rcu-impl.h' line='491' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='create_call_rcu_data_mb'>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-3' name='flags' filepath='src/urcu-call-rcu-impl.h' line='491' column='1'/>
+      <parameter type-id='type-id-2' name='flags' filepath='src/urcu-call-rcu-impl.h' line='491' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu_affinity' filepath='src/urcu-call-rcu-impl.h' line='492' column='1'/>
+      <parameter type-id='type-id-4' name='cpu_affinity' filepath='src/urcu-call-rcu-impl.h' line='492' column='1'/>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- pthread_t get_call_rcu_thread_mb(call_rcu_data*) -->
     <function-decl name='get_call_rcu_thread_mb' mangled-name='get_call_rcu_thread_mb' filepath='src/urcu-call-rcu-impl.h' line='473' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_call_rcu_thread_mb'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='473' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='473' column='1'/>
       <!-- typedef pthread_t -->
-      <return type-id='type-id-15'/>
+      <return type-id='type-id-9'/>
     </function-decl>
     <!-- call_rcu_data* get_cpu_call_rcu_data_mb(int) -->
     <function-decl name='get_cpu_call_rcu_data_mb' mangled-name='get_cpu_call_rcu_data_mb' filepath='src/urcu-call-rcu-impl.h' line='451' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_cpu_call_rcu_data_mb'>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='451' column='1'/>
+      <parameter type-id='type-id-4' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='451' column='1'/>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- void rcu_unregister_thread_mb() -->
     <function-decl name='rcu_unregister_thread_mb' mangled-name='rcu_unregister_thread_mb' filepath='src/urcu.c' line='527' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_unregister_thread_mb'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void rcu_register_thread_mb() -->
     <function-decl name='rcu_register_thread_mb' mangled-name='rcu_register_thread_mb' filepath='src/urcu.c' line='513' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_register_thread_mb'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- int rcu_read_ongoing_mb() -->
     <function-decl name='rcu_read_ongoing_mb' mangled-name='rcu_read_ongoing_mb' filepath='src/urcu.c' line='508' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_read_ongoing_mb'>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-decl>
     <!-- void rcu_read_unlock_mb() -->
     <function-decl name='rcu_read_unlock_mb' mangled-name='rcu_read_unlock_mb' filepath='src/urcu.c' line='503' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_read_unlock_mb'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void rcu_read_lock_mb() -->
     <function-decl name='rcu_read_lock_mb' mangled-name='rcu_read_lock_mb' filepath='src/urcu.c' line='498' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_read_lock_mb'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void synchronize_rcu_mb() -->
     <function-decl name='synchronize_rcu_mb' mangled-name='synchronize_rcu_mb' filepath='src/urcu.c' line='377' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='synchronize_rcu_mb'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void rcu_init_mb() -->
     <function-decl name='rcu_init_mb' mangled-name='rcu_init_mb' filepath='src/urcu.c' line='88' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_init_mb'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- int () -->
-    <function-type size-in-bits='64' id='type-id-41'>
+    <function-type size-in-bits='64' id='type-id-20'>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-type>
     <!-- void () -->
-    <function-type size-in-bits='64' id='type-id-44'>
+    <function-type size-in-bits='64' id='type-id-19'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (rcu_head*) -->
-    <function-type size-in-bits='64' id='type-id-45'>
+    <function-type size-in-bits='64' id='type-id-26'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42'/>
+      <parameter type-id='type-id-25'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (rcu_head*, void (rcu_head*)*) -->
-    <function-type size-in-bits='64' id='type-id-46'>
+    <function-type size-in-bits='64' id='type-id-27'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42'/>
-      <!-- parameter of type 'void (rcu_head*)*' -->
       <parameter type-id='type-id-25'/>
+      <!-- parameter of type 'void (rcu_head*)*' -->
+      <parameter type-id='type-id-23'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (urcu_atfork*) -->
-    <function-type size-in-bits='64' id='type-id-47'>
+    <function-type size-in-bits='64' id='type-id-34'>
       <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-43'/>
+      <parameter type-id='type-id-33'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (void (void*)*, void*) -->
-    <function-type size-in-bits='64' id='type-id-48'>
+    <function-type size-in-bits='64' id='type-id-31'>
       <!-- parameter of type 'void (void*)*' -->
-      <parameter type-id='type-id-28'/>
+      <parameter type-id='type-id-30'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29'/>
+      <parameter type-id='type-id-28'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (void*) -->
-    <function-type size-in-bits='64' id='type-id-49'>
+    <function-type size-in-bits='64' id='type-id-29'>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29'/>
+      <parameter type-id='type-id-28'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='urcu-pointer.c' comp-dir-path='src' language='LANG_C99'>
     <!-- void** -->
-    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-50'/>
+    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-50'/>
     <!-- void* rcu_cmpxchg_pointer_sym(void**, void*, void*) -->
     <function-decl name='rcu_cmpxchg_pointer_sym' mangled-name='rcu_cmpxchg_pointer_sym' filepath='src/urcu-pointer.c' line='53' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_cmpxchg_pointer_sym'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='53' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='old' filepath='src/urcu-pointer.c' line='53' column='1'/>
+      <parameter type-id='type-id-28' name='old' filepath='src/urcu-pointer.c' line='53' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='_new' filepath='src/urcu-pointer.c' line='53' column='1'/>
+      <parameter type-id='type-id-28' name='_new' filepath='src/urcu-pointer.c' line='53' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-28'/>
     </function-decl>
     <!-- void* rcu_xchg_pointer_sym(void**, void*) -->
     <function-decl name='rcu_xchg_pointer_sym' mangled-name='rcu_xchg_pointer_sym' filepath='src/urcu-pointer.c' line='47' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_xchg_pointer_sym'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='47' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='v' filepath='src/urcu-pointer.c' line='47' column='1'/>
+      <parameter type-id='type-id-28' name='v' filepath='src/urcu-pointer.c' line='47' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-28'/>
     </function-decl>
     <!-- void* rcu_set_pointer_sym(void**, void*) -->
     <function-decl name='rcu_set_pointer_sym' mangled-name='rcu_set_pointer_sym' filepath='src/urcu-pointer.c' line='40' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_set_pointer_sym'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='40' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='v' filepath='src/urcu-pointer.c' line='40' column='1'/>
+      <parameter type-id='type-id-28' name='v' filepath='src/urcu-pointer.c' line='40' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-28'/>
     </function-decl>
     <!-- void* rcu_dereference_sym(void*) -->
     <function-decl name='rcu_dereference_sym' mangled-name='rcu_dereference_sym' filepath='src/urcu-pointer.c' line='35' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_dereference_sym'>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='p' filepath='src/urcu-pointer.c' line='35' column='1'/>
+      <parameter type-id='type-id-28' name='p' filepath='src/urcu-pointer.c' line='35' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-28'/>
     </function-decl>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='compat_futex.c' comp-dir-path='src' language='LANG_C99'>
-
-
-    <!-- char[48] -->
-    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='384' id='type-id-51'>
-      <!-- <anonymous range>[48] -->
-      <subrange length='48' type-id='type-id-3' id='type-id-52'/>
-
-    </array-type-def>
-    <!-- long long int -->
-    <type-decl name='long long int' size-in-bits='64' id='type-id-53'/>
-    <!-- long long unsigned int -->
-    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-54'/>
-    <!-- unsigned int[2] -->
-    <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='64' id='type-id-55'>
-      <!-- <anonymous range>[2] -->
-      <subrange length='2' type-id='type-id-3' id='type-id-56'/>
-
-    </array-type-def>
-    <!-- typedef __anonymous_union__ pthread_cond_t -->
-    <typedef-decl name='pthread_cond_t' type-id='type-id-57' filepath='/usr/include/bits/pthreadtypes.h' line='80' column='1' id='type-id-58'/>
-    <!-- union {__pthread_cond_s __data; char __size[48]; long long int __align;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='75' column='1' id='type-id-57'>
+    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
+    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-39' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='75' column='1' id='type-id-51'>
       <data-member access='private'>
-        <!-- __pthread_cond_s __data -->
-        <var-decl name='__data' type-id='type-id-59' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='77' column='1'/>
+        <!-- __pthread_cond_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-52' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='77' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- char __size[48] -->
-        <var-decl name='__size' type-id='type-id-51' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='78' column='1'/>
+        <!-- char __anonymous_union__::__size[48] -->
+        <var-decl name='__size' type-id='type-id-53' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='78' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- long long int __align -->
-        <var-decl name='__align' type-id='type-id-53' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='79' column='1'/>
+        <!-- long long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-54' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='79' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __pthread_cond_s -->
-    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='92' column='1' id='type-id-59'>
+    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='171' column='1' id='type-id-52'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <!-- union {long long unsigned int __wseq; struct {unsigned int __low; unsigned int __high;} __wseq32;} -->
-        <var-decl name='' type-id='type-id-60' visibility='default'/>
+        <!-- __anonymous_union__  -->
+        <var-decl name='' type-id='type-id-55' visibility='default'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- unsigned int __pthread_cond_s::__g_refs[2] -->
-        <var-decl name='__g_refs' type-id='type-id-55' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='112' column='1'/>
+        <var-decl name='__g_refs' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='191' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- unsigned int __pthread_cond_s::__g_size[2] -->
-        <var-decl name='__g_size' type-id='type-id-55' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='113' column='1'/>
+        <var-decl name='__g_size' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='192' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- unsigned int __pthread_cond_s::__g1_orig_size -->
-        <var-decl name='__g1_orig_size' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='114' column='1'/>
+        <var-decl name='__g1_orig_size' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='193' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='288'>
         <!-- unsigned int __pthread_cond_s::__wrefs -->
-        <var-decl name='__wrefs' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='115' column='1'/>
+        <var-decl name='__wrefs' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='194' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
         <!-- unsigned int __pthread_cond_s::__g_signals[2] -->
-        <var-decl name='__g_signals' type-id='type-id-55' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='116' column='1'/>
+        <var-decl name='__g_signals' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='195' column='1'/>
       </data-member>
     </class-decl>
-    <!-- union {long long unsigned int __wseq; struct {unsigned int __low; unsigned int __high;} __wseq32;} -->
-    <union-decl name='__anonymous_union__1' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='94' column='1' id='type-id-60'>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='173' column='1' id='type-id-55'>
       <data-member access='private'>
-        <!-- long long unsigned int __wseq -->
-        <var-decl name='__wseq' type-id='type-id-54' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='96' column='1'/>
+        <!-- long long unsigned int __anonymous_union__::__wseq -->
+        <var-decl name='__wseq' type-id='type-id-57' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='175' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- struct {unsigned int __low; unsigned int __high;} __wseq32 -->
-        <var-decl name='__wseq32' type-id='type-id-61' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='101' column='1'/>
+        <!-- __anonymous_struct__ __anonymous_union__::__wseq32 -->
+        <var-decl name='__wseq32' type-id='type-id-58' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='180' column='1'/>
       </data-member>
     </union-decl>
-    <!-- struct {unsigned int __low; unsigned int __high;} -->
-    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='97' column='1' id='type-id-61'>
+    <!-- long long unsigned int -->
+    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-57'/>
+    <!-- struct __anonymous_struct__ -->
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='176' column='1' id='type-id-58'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <!-- unsigned int __low -->
-        <var-decl name='__low' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='99' column='1'/>
+        <!-- unsigned int __anonymous_struct__::__low -->
+        <var-decl name='__low' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='178' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='32'>
-        <!-- unsigned int __high -->
-        <var-decl name='__high' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='100' column='1'/>
+        <!-- unsigned int __anonymous_struct__::__high -->
+        <var-decl name='__high' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='179' column='1'/>
       </data-member>
     </class-decl>
+
+    <!-- unsigned int[2] -->
+    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='64' id='type-id-56'>
+      <!-- <anonymous range>[2] -->
+      <subrange length='2' type-id='type-id-2' id='type-id-59'/>
+
+    </array-type-def>
+
+    <!-- char[48] -->
+    <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='384' id='type-id-53'>
+      <!-- <anonymous range>[48] -->
+      <subrange length='48' type-id='type-id-2' id='type-id-60'/>
+
+    </array-type-def>
+    <!-- long long int -->
+    <type-decl name='long long int' size-in-bits='64' id='type-id-54'/>
+    <!-- typedef __anonymous_union__ pthread_cond_t -->
+    <typedef-decl name='pthread_cond_t' type-id='type-id-51' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='80' column='1' id='type-id-61'/>
+    <!-- pthread_cond_t __urcu_compat_futex_cond -->
+    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-61' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
+    <!-- int32_t* -->
+    <pointer-type-def type-id='type-id-3' size-in-bits='64' id='type-id-62'/>
     <!-- struct timespec -->
-    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='10' column='1' id='type-id-62'>
+    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='9' column='1' id='type-id-63'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- __time_t timespec::tv_sec -->
-        <var-decl name='tv_sec' type-id='type-id-63' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='12' column='1'/>
+        <var-decl name='tv_sec' type-id='type-id-64' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='11' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- __syscall_slong_t timespec::tv_nsec -->
-        <var-decl name='tv_nsec' type-id='type-id-64' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='16' column='1'/>
+        <var-decl name='tv_nsec' type-id='type-id-65' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='12' column='1'/>
       </data-member>
     </class-decl>
     <!-- typedef long int __time_t -->
-    <typedef-decl name='__time_t' type-id='type-id-6' filepath='/usr/include/bits/types.h' line='160' column='1' id='type-id-63'/>
+    <typedef-decl name='__time_t' type-id='type-id-43' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='148' column='1' id='type-id-64'/>
     <!-- typedef long int __syscall_slong_t -->
-    <typedef-decl name='__syscall_slong_t' type-id='type-id-6' filepath='/usr/include/bits/types.h' line='197' column='1' id='type-id-64'/>
+    <typedef-decl name='__syscall_slong_t' type-id='type-id-43' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='184' column='1' id='type-id-65'/>
     <!-- const timespec -->
-    <qualified-type-def type-id='type-id-62' const='yes' id='type-id-65'/>
+    <qualified-type-def type-id='type-id-63' const='yes' id='type-id-66'/>
     <!-- const timespec* -->
-    <pointer-type-def type-id='type-id-65' size-in-bits='64' id='type-id-66'/>
-    <!-- int32_t* -->
-    <pointer-type-def type-id='type-id-11' size-in-bits='64' id='type-id-67'/>
-    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
-    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-33' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
-    <!-- pthread_cond_t __urcu_compat_futex_cond -->
-    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-58' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
+    <pointer-type-def type-id='type-id-66' size-in-bits='64' id='type-id-67'/>
     <!-- int compat_futex_async(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
     <function-decl name='compat_futex_async' mangled-name='compat_futex_async' filepath='src/compat_futex.c' line='118' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_async'>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-4' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-3' name='val' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'const timespec*' -->
-      <parameter type-id='type-id-66' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-67' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val3' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-3' name='val3' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-decl>
     <!-- int compat_futex_noasync(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
     <function-decl name='compat_futex_noasync' mangled-name='compat_futex_noasync' filepath='src/compat_futex.c' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_noasync'>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-4' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-3' name='val' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'const timespec*' -->
-      <parameter type-id='type-id-66' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-67' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val3' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-3' name='val3' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-decl>
   </abi-instr>
 </abi-corpus>
index f57eae25d6a2e6a5cb0a2a47783246d368460c88..ebd5c9d38ca80cb9043d400b4e1279281be09977 100644 (file)
@@ -1,11 +1,14 @@
 <abi-corpus architecture='elf-amd-x86_64' soname='liburcu-qsbr.so.6'>
   <elf-needed>
-    <dependency name='liburcu-common.so.6'/>
     <dependency name='libpthread.so.0'/>
     <dependency name='libc.so.6'/>
     <dependency name='ld-linux-x86-64.so.2'/>
   </elf-needed>
   <elf-function-symbols>
+    <!-- _fini -->
+    <elf-symbol name='_fini' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- _init -->
+    <elf-symbol name='_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- call_rcu_after_fork_child_qsbr -->
     <elf-symbol name='call_rcu_after_fork_child_qsbr' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- call_rcu_after_fork_parent_qsbr -->
     <elf-symbol name='rcu_reader_qsbr' size='256' type='tls-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
   </elf-variable-symbols>
   <abi-instr version='1.0' address-size='64' path='urcu-qsbr.c' comp-dir-path='src' language='LANG_C99'>
-
-    <!-- char -->
-    <type-decl name='char' size-in-bits='8' id='type-id-1'/>
-    <!-- char[40] -->
-    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='320' id='type-id-2'>
-      <!-- <anonymous range>[40] -->
-      <subrange length='40' type-id='type-id-3' id='type-id-4'/>
-
-    </array-type-def>
-    <!-- int -->
-    <type-decl name='int' size-in-bits='32' id='type-id-5'/>
-    <!-- long int -->
-    <type-decl name='long int' size-in-bits='64' id='type-id-6'/>
-    <!-- short int -->
-    <type-decl name='short int' size-in-bits='16' id='type-id-7'/>
-    <!-- unsigned int -->
-    <type-decl name='unsigned int' size-in-bits='32' id='type-id-8'/>
-    <!-- unsigned long int -->
-    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-3'/>
-    <!-- void -->
-    <type-decl name='void' id='type-id-9'/>
     <!-- struct rcu_gp_qsbr -->
-    <class-decl name='rcu_gp_qsbr' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='68' column='1' id='type-id-10'>
+    <class-decl name='rcu_gp_qsbr' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='68' column='1' id='type-id-1'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned long int rcu_gp_qsbr::ctr -->
-        <var-decl name='ctr' type-id='type-id-3' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='74' column='1'/>
+        <var-decl name='ctr' type-id='type-id-2' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='74' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- int32_t rcu_gp_qsbr::futex -->
-        <var-decl name='futex' type-id='type-id-11' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='76' column='1'/>
+        <var-decl name='futex' type-id='type-id-3' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='76' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __int32_t int32_t -->
-    <typedef-decl name='int32_t' type-id='type-id-12' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-11'/>
+    <!-- unsigned long int -->
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-2'/>
+    <!-- int -->
+    <type-decl name='int' size-in-bits='32' id='type-id-4'/>
     <!-- typedef int __int32_t -->
-    <typedef-decl name='__int32_t' type-id='type-id-5' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-12'/>
+    <typedef-decl name='__int32_t' type-id='type-id-4' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='40' column='1' id='type-id-5'/>
+    <!-- typedef __int32_t int32_t -->
+    <typedef-decl name='int32_t' type-id='type-id-5' filepath='/usr/include/x86_64-linux-gnu/bits/stdint-intn.h' line='26' column='1' id='type-id-3'/>
+    <!-- rcu_gp_qsbr rcu_gp_qsbr -->
+    <var-decl name='rcu_gp_qsbr' type-id='type-id-1' mangled-name='rcu_gp_qsbr' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='79' column='1' elf-symbol-id='rcu_gp_qsbr'/>
     <!-- struct rcu_reader_qsbr -->
-    <class-decl name='rcu_reader_qsbr' size-in-bits='2048' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='81' column='1' id='type-id-13'>
+    <class-decl name='rcu_reader_qsbr' size-in-bits='2048' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='81' column='1' id='type-id-6'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned long int rcu_reader_qsbr::ctr -->
-        <var-decl name='ctr' type-id='type-id-3' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='83' column='1'/>
+        <var-decl name='ctr' type-id='type-id-2' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='83' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1024'>
         <!-- cds_list_head rcu_reader_qsbr::node -->
-        <var-decl name='node' type-id='type-id-14' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='85' column='1'/>
+        <var-decl name='node' type-id='type-id-7' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='85' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1152'>
         <!-- int rcu_reader_qsbr::waiting -->
-        <var-decl name='waiting' type-id='type-id-5' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='86' column='1'/>
+        <var-decl name='waiting' type-id='type-id-4' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='86' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1216'>
         <!-- pthread_t rcu_reader_qsbr::tid -->
-        <var-decl name='tid' type-id='type-id-15' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='87' column='1'/>
+        <var-decl name='tid' type-id='type-id-8' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='87' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='31'>
         <!-- unsigned int rcu_reader_qsbr::registered -->
-        <var-decl name='registered' type-id='type-id-8' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='89' column='1'/>
+        <var-decl name='registered' type-id='type-id-9' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='89' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_list_head -->
-    <class-decl name='cds_list_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/list.h' line='35' column='1' id='type-id-14'>
+    <class-decl name='cds_list_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/list.h' line='35' column='1' id='type-id-7'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_list_head* cds_list_head::next -->
-        <var-decl name='next' type-id='type-id-16' visibility='default' filepath='../include/urcu/list.h' line='36' column='1'/>
+        <var-decl name='next' type-id='type-id-10' visibility='default' filepath='../include/urcu/list.h' line='36' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- cds_list_head* cds_list_head::prev -->
-        <var-decl name='prev' type-id='type-id-16' visibility='default' filepath='../include/urcu/list.h' line='36' column='1'/>
+        <var-decl name='prev' type-id='type-id-10' visibility='default' filepath='../include/urcu/list.h' line='36' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_list_head* -->
+    <pointer-type-def type-id='type-id-7' size-in-bits='64' id='type-id-10'/>
     <!-- typedef unsigned long int pthread_t -->
-    <typedef-decl name='pthread_t' type-id='type-id-3' filepath='/usr/include/bits/pthreadtypes.h' line='27' column='1' id='type-id-15'/>
+    <typedef-decl name='pthread_t' type-id='type-id-2' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='27' column='1' id='type-id-8'/>
+    <!-- unsigned int -->
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-9'/>
+    <!-- rcu_reader_qsbr rcu_reader_qsbr -->
+    <var-decl name='rcu_reader_qsbr' type-id='type-id-6' mangled-name='rcu_reader_qsbr' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='92' column='1' elf-symbol-id='rcu_reader_qsbr'/>
     <!-- struct rcu_flavor_struct -->
-    <class-decl name='rcu_flavor_struct' size-in-bits='896' is-struct='yes' visibility='default' filepath='../src/urcu-flavor.h' line='40' column='1' id='type-id-17'>
+    <class-decl name='rcu_flavor_struct' size-in-bits='896' is-struct='yes' visibility='default' filepath='../src/urcu-flavor.h' line='40' column='1' id='type-id-11'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- void ()* rcu_flavor_struct::read_lock -->
-        <var-decl name='read_lock' type-id='type-id-18' visibility='default' filepath='../src/urcu-flavor.h' line='41' column='1'/>
+        <var-decl name='read_lock' type-id='type-id-12' visibility='default' filepath='../src/urcu-flavor.h' line='41' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void ()* rcu_flavor_struct::read_unlock -->
-        <var-decl name='read_unlock' type-id='type-id-18' visibility='default' filepath='../src/urcu-flavor.h' line='42' column='1'/>
+        <var-decl name='read_unlock' type-id='type-id-12' visibility='default' filepath='../src/urcu-flavor.h' line='42' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- int ()* rcu_flavor_struct::read_ongoing -->
-        <var-decl name='read_ongoing' type-id='type-id-19' visibility='default' filepath='../src/urcu-flavor.h' line='43' column='1'/>
+        <var-decl name='read_ongoing' type-id='type-id-13' visibility='default' filepath='../src/urcu-flavor.h' line='43' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- void ()* rcu_flavor_struct::read_quiescent_state -->
-        <var-decl name='read_quiescent_state' type-id='type-id-18' visibility='default' filepath='../src/urcu-flavor.h' line='44' column='1'/>
+        <var-decl name='read_quiescent_state' type-id='type-id-12' visibility='default' filepath='../src/urcu-flavor.h' line='44' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- void (rcu_head*, void (rcu_head*)*)* rcu_flavor_struct::update_call_rcu -->
-        <var-decl name='update_call_rcu' type-id='type-id-20' visibility='default' filepath='../src/urcu-flavor.h' line='45' column='1'/>
+        <var-decl name='update_call_rcu' type-id='type-id-14' visibility='default' filepath='../src/urcu-flavor.h' line='45' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
         <!-- void ()* rcu_flavor_struct::update_synchronize_rcu -->
-        <var-decl name='update_synchronize_rcu' type-id='type-id-18' visibility='default' filepath='../src/urcu-flavor.h' line='47' column='1'/>
+        <var-decl name='update_synchronize_rcu' type-id='type-id-12' visibility='default' filepath='../src/urcu-flavor.h' line='47' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='384'>
         <!-- void (void (void*)*, void*)* rcu_flavor_struct::update_defer_rcu -->
-        <var-decl name='update_defer_rcu' type-id='type-id-21' visibility='default' filepath='../src/urcu-flavor.h' line='48' column='1'/>
+        <var-decl name='update_defer_rcu' type-id='type-id-15' visibility='default' filepath='../src/urcu-flavor.h' line='48' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='448'>
         <!-- void ()* rcu_flavor_struct::thread_offline -->
-        <var-decl name='thread_offline' type-id='type-id-18' visibility='default' filepath='../src/urcu-flavor.h' line='50' column='1'/>
+        <var-decl name='thread_offline' type-id='type-id-12' visibility='default' filepath='../src/urcu-flavor.h' line='50' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='512'>
         <!-- void ()* rcu_flavor_struct::thread_online -->
-        <var-decl name='thread_online' type-id='type-id-18' visibility='default' filepath='../src/urcu-flavor.h' line='51' column='1'/>
+        <var-decl name='thread_online' type-id='type-id-12' visibility='default' filepath='../src/urcu-flavor.h' line='51' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='576'>
         <!-- void ()* rcu_flavor_struct::register_thread -->
-        <var-decl name='register_thread' type-id='type-id-18' visibility='default' filepath='../src/urcu-flavor.h' line='52' column='1'/>
+        <var-decl name='register_thread' type-id='type-id-12' visibility='default' filepath='../src/urcu-flavor.h' line='52' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='640'>
         <!-- void ()* rcu_flavor_struct::unregister_thread -->
-        <var-decl name='unregister_thread' type-id='type-id-18' visibility='default' filepath='../src/urcu-flavor.h' line='53' column='1'/>
+        <var-decl name='unregister_thread' type-id='type-id-12' visibility='default' filepath='../src/urcu-flavor.h' line='53' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='704'>
         <!-- void ()* rcu_flavor_struct::barrier -->
-        <var-decl name='barrier' type-id='type-id-18' visibility='default' filepath='../src/urcu-flavor.h' line='55' column='1'/>
+        <var-decl name='barrier' type-id='type-id-12' visibility='default' filepath='../src/urcu-flavor.h' line='55' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='768'>
         <!-- void (urcu_atfork*)* rcu_flavor_struct::register_rculfhash_atfork -->
-        <var-decl name='register_rculfhash_atfork' type-id='type-id-22' visibility='default' filepath='../src/urcu-flavor.h' line='57' column='1'/>
+        <var-decl name='register_rculfhash_atfork' type-id='type-id-16' visibility='default' filepath='../src/urcu-flavor.h' line='57' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='832'>
         <!-- void (urcu_atfork*)* rcu_flavor_struct::unregister_rculfhash_atfork -->
-        <var-decl name='unregister_rculfhash_atfork' type-id='type-id-22' visibility='default' filepath='../src/urcu-flavor.h' line='58' column='1'/>
+        <var-decl name='unregister_rculfhash_atfork' type-id='type-id-16' visibility='default' filepath='../src/urcu-flavor.h' line='58' column='1'/>
       </data-member>
     </class-decl>
+    <!-- void -->
+    <type-decl name='void' id='type-id-17'/>
+    <!-- void ()* -->
+    <pointer-type-def type-id='type-id-18' size-in-bits='64' id='type-id-12'/>
+    <!-- int ()* -->
+    <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-13'/>
     <!-- struct rcu_head -->
-    <class-decl name='rcu_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../src/urcu-call-rcu.h' line='59' column='1' id='type-id-23'>
+    <class-decl name='rcu_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../src/urcu-call-rcu.h' line='59' column='1' id='type-id-20'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node rcu_head::next -->
-        <var-decl name='next' type-id='type-id-24' visibility='default' filepath='../src/urcu-call-rcu.h' line='60' column='1'/>
+        <var-decl name='next' type-id='type-id-21' visibility='default' filepath='../src/urcu-call-rcu.h' line='60' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void (rcu_head*)* rcu_head::func -->
-        <var-decl name='func' type-id='type-id-25' visibility='default' filepath='../src/urcu-call-rcu.h' line='61' column='1'/>
+        <var-decl name='func' type-id='type-id-22' visibility='default' filepath='../src/urcu-call-rcu.h' line='61' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_node -->
-    <class-decl name='cds_wfcq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='59' column='1' id='type-id-24'>
+    <class-decl name='cds_wfcq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='59' column='1' id='type-id-21'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node* cds_wfcq_node::next -->
-        <var-decl name='next' type-id='type-id-26' visibility='default' filepath='../include/urcu/wfcqueue.h' line='60' column='1'/>
+        <var-decl name='next' type-id='type-id-23' visibility='default' filepath='../include/urcu/wfcqueue.h' line='60' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_wfcq_node* -->
+    <pointer-type-def type-id='type-id-21' size-in-bits='64' id='type-id-23'/>
+    <!-- rcu_head* -->
+    <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-24'/>
+    <!-- void (rcu_head*)* -->
+    <pointer-type-def type-id='type-id-25' size-in-bits='64' id='type-id-22'/>
+    <!-- void (rcu_head*, void (rcu_head*)*)* -->
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-14'/>
+    <!-- void* -->
+    <pointer-type-def type-id='type-id-17' size-in-bits='64' id='type-id-27'/>
+    <!-- void (void*)* -->
+    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-29'/>
+    <!-- void (void (void*)*, void*)* -->
+    <pointer-type-def type-id='type-id-30' size-in-bits='64' id='type-id-15'/>
     <!-- struct urcu_atfork -->
-    <class-decl name='urcu_atfork' size-in-bits='256' is-struct='yes' visibility='default' filepath='../src/urcu-flavor.h' line='30' column='1' id='type-id-27'>
+    <class-decl name='urcu_atfork' size-in-bits='256' is-struct='yes' visibility='default' filepath='../src/urcu-flavor.h' line='30' column='1' id='type-id-31'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- void (void*)* urcu_atfork::before_fork -->
-        <var-decl name='before_fork' type-id='type-id-28' visibility='default' filepath='../src/urcu-flavor.h' line='31' column='1'/>
+        <var-decl name='before_fork' type-id='type-id-29' visibility='default' filepath='../src/urcu-flavor.h' line='31' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void (void*)* urcu_atfork::after_fork_parent -->
-        <var-decl name='after_fork_parent' type-id='type-id-28' visibility='default' filepath='../src/urcu-flavor.h' line='32' column='1'/>
+        <var-decl name='after_fork_parent' type-id='type-id-29' visibility='default' filepath='../src/urcu-flavor.h' line='32' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- void (void*)* urcu_atfork::after_fork_child -->
-        <var-decl name='after_fork_child' type-id='type-id-28' visibility='default' filepath='../src/urcu-flavor.h' line='33' column='1'/>
+        <var-decl name='after_fork_child' type-id='type-id-29' visibility='default' filepath='../src/urcu-flavor.h' line='33' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- void* urcu_atfork::priv -->
-        <var-decl name='priv' type-id='type-id-29' visibility='default' filepath='../src/urcu-flavor.h' line='34' column='1'/>
+        <var-decl name='priv' type-id='type-id-27' visibility='default' filepath='../src/urcu-flavor.h' line='34' column='1'/>
       </data-member>
     </class-decl>
+    <!-- urcu_atfork* -->
+    <pointer-type-def type-id='type-id-31' size-in-bits='64' id='type-id-32'/>
+    <!-- void (urcu_atfork*)* -->
+    <pointer-type-def type-id='type-id-33' size-in-bits='64' id='type-id-16'/>
+    <!-- const rcu_flavor_struct -->
+    <qualified-type-def type-id='type-id-11' const='yes' id='type-id-34'/>
+    <!-- const rcu_flavor_struct rcu_flavor_qsbr -->
+    <var-decl name='rcu_flavor_qsbr' type-id='type-id-34' mangled-name='rcu_flavor_qsbr' visibility='default' filepath='../src/urcu-flavor.h' line='79' column='1' elf-symbol-id='rcu_flavor_qsbr'/>
+    <!-- void rcu_defer_exit_qsbr() -->
+    <function-decl name='rcu_defer_exit_qsbr' mangled-name='rcu_defer_exit_qsbr' filepath='src/urcu-defer-impl.h' line='466' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_exit_qsbr'>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <!-- void rcu_defer_unregister_thread_qsbr() -->
+    <function-decl name='rcu_defer_unregister_thread_qsbr' mangled-name='rcu_defer_unregister_thread_qsbr' filepath='src/urcu-defer-impl.h' line='448' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_unregister_thread_qsbr'>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <!-- int rcu_defer_register_thread_qsbr() -->
+    <function-decl name='rcu_defer_register_thread_qsbr' mangled-name='rcu_defer_register_thread_qsbr' filepath='src/urcu-defer-impl.h' line='426' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_register_thread_qsbr'>
+      <!-- int -->
+      <return type-id='type-id-4'/>
+    </function-decl>
+    <!-- void defer_rcu_qsbr(void (void*)*, void*) -->
+    <function-decl name='defer_rcu_qsbr' mangled-name='defer_rcu_qsbr' filepath='src/urcu-defer-impl.h' line='395' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='defer_rcu_qsbr'>
+      <!-- parameter of type 'void (void*)*' -->
+      <parameter type-id='type-id-29' name='fct' filepath='src/urcu-defer-impl.h' line='395' column='1'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-27' name='p' filepath='src/urcu-defer-impl.h' line='395' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <!-- void rcu_defer_barrier_qsbr() -->
+    <function-decl name='rcu_defer_barrier_qsbr' mangled-name='rcu_defer_barrier_qsbr' filepath='src/urcu-defer-impl.h' line='281' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_barrier_qsbr'>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <!-- void rcu_defer_barrier_thread_qsbr() -->
+    <function-decl name='rcu_defer_barrier_thread_qsbr' mangled-name='rcu_defer_barrier_thread_qsbr' filepath='src/urcu-defer-impl.h' line='261' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_barrier_thread_qsbr'>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <!-- void urcu_unregister_rculfhash_atfork_qsbr(urcu_atfork*) -->
+    <function-decl name='urcu_unregister_rculfhash_atfork_qsbr' mangled-name='urcu_unregister_rculfhash_atfork_qsbr' filepath='src/urcu-call-rcu-impl.h' line='1011' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_unregister_rculfhash_atfork_qsbr'>
+      <!-- parameter of type 'urcu_atfork*' -->
+      <parameter type-id='type-id-32' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1011' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <!-- void urcu_register_rculfhash_atfork_qsbr(urcu_atfork*) -->
+    <function-decl name='urcu_register_rculfhash_atfork_qsbr' mangled-name='urcu_register_rculfhash_atfork_qsbr' filepath='src/urcu-call-rcu-impl.h' line='1001' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_register_rculfhash_atfork_qsbr'>
+      <!-- parameter of type 'urcu_atfork*' -->
+      <parameter type-id='type-id-32' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1011' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <!-- void call_rcu_after_fork_child_qsbr() -->
+    <function-decl name='call_rcu_after_fork_child_qsbr' mangled-name='call_rcu_after_fork_child_qsbr' filepath='src/urcu-call-rcu-impl.h' line='959' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_after_fork_child_qsbr'>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <!-- void call_rcu_after_fork_parent_qsbr() -->
+    <function-decl name='call_rcu_after_fork_parent_qsbr' mangled-name='call_rcu_after_fork_parent_qsbr' filepath='src/urcu-call-rcu-impl.h' line='937' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_after_fork_parent_qsbr'>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <!-- void call_rcu_before_fork_qsbr() -->
+    <function-decl name='call_rcu_before_fork_qsbr' mangled-name='call_rcu_before_fork_qsbr' filepath='src/urcu-call-rcu-impl.h' line='910' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_before_fork_qsbr'>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <!-- void rcu_barrier_qsbr() -->
+    <function-decl name='rcu_barrier_qsbr' mangled-name='rcu_barrier_qsbr' filepath='src/urcu-call-rcu-impl.h' line='839' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_barrier_qsbr'>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <!-- void free_all_cpu_call_rcu_data() -->
+    <function-decl name='free_all_cpu_call_rcu_data' mangled-name='free_all_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='776' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='free_all_cpu_call_rcu_data'>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
     <!-- struct call_rcu_data -->
-    <class-decl name='call_rcu_data' size-in-bits='1024' is-struct='yes' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='52' column='1' id='type-id-30'>
+    <class-decl name='call_rcu_data' size-in-bits='1024' is-struct='yes' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='52' column='1' id='type-id-35'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_tail call_rcu_data::cbs_tail -->
-        <var-decl name='cbs_tail' type-id='type-id-31' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='60' column='1'/>
+        <var-decl name='cbs_tail' type-id='type-id-36' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='60' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- cds_wfcq_head call_rcu_data::cbs_head -->
-        <var-decl name='cbs_head' type-id='type-id-32' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='61' column='1'/>
+        <var-decl name='cbs_head' type-id='type-id-37' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='61' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='448'>
         <!-- unsigned long int call_rcu_data::flags -->
-        <var-decl name='flags' type-id='type-id-3' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='62' column='1'/>
+        <var-decl name='flags' type-id='type-id-2' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='62' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='512'>
         <!-- int32_t call_rcu_data::futex -->
-        <var-decl name='futex' type-id='type-id-11' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='63' column='1'/>
+        <var-decl name='futex' type-id='type-id-3' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='63' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='576'>
         <!-- unsigned long int call_rcu_data::qlen -->
-        <var-decl name='qlen' type-id='type-id-3' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='64' column='1'/>
+        <var-decl name='qlen' type-id='type-id-2' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='64' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='640'>
         <!-- pthread_t call_rcu_data::tid -->
-        <var-decl name='tid' type-id='type-id-15' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='65' column='1'/>
+        <var-decl name='tid' type-id='type-id-8' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='65' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='704'>
         <!-- int call_rcu_data::cpu_affinity -->
-        <var-decl name='cpu_affinity' type-id='type-id-5' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='66' column='1'/>
+        <var-decl name='cpu_affinity' type-id='type-id-4' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='66' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='768'>
         <!-- unsigned long int call_rcu_data::gp_count -->
-        <var-decl name='gp_count' type-id='type-id-3' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='67' column='1'/>
+        <var-decl name='gp_count' type-id='type-id-2' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='67' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='832'>
         <!-- cds_list_head call_rcu_data::list -->
-        <var-decl name='list' type-id='type-id-14' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='68' column='1'/>
+        <var-decl name='list' type-id='type-id-7' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='68' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_tail -->
-    <class-decl name='cds_wfcq_tail' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='127' column='1' id='type-id-31'>
+    <class-decl name='cds_wfcq_tail' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='127' column='1' id='type-id-36'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node* cds_wfcq_tail::p -->
-        <var-decl name='p' type-id='type-id-26' visibility='default' filepath='../include/urcu/wfcqueue.h' line='128' column='1'/>
+        <var-decl name='p' type-id='type-id-23' visibility='default' filepath='../include/urcu/wfcqueue.h' line='128' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_head -->
-    <class-decl name='cds_wfcq_head' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='72' column='1' id='type-id-32'>
+    <class-decl name='cds_wfcq_head' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='72' column='1' id='type-id-37'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node cds_wfcq_head::node -->
-        <var-decl name='node' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='73' column='1'/>
+        <var-decl name='node' type-id='type-id-21' visibility='default' filepath='../include/urcu/wfcqueue.h' line='73' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- pthread_mutex_t cds_wfcq_head::lock -->
-        <var-decl name='lock' type-id='type-id-33' visibility='default' filepath='../include/urcu/wfcqueue.h' line='74' column='1'/>
+        <var-decl name='lock' type-id='type-id-38' visibility='default' filepath='../include/urcu/wfcqueue.h' line='74' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __anonymous_union__ pthread_mutex_t -->
-    <typedef-decl name='pthread_mutex_t' type-id='type-id-34' filepath='/usr/include/bits/pthreadtypes.h' line='72' column='1' id='type-id-33'/>
-    <!-- union {__pthread_mutex_s __data; char __size[40]; long int __align;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='67' column='1' id='type-id-34'>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='67' column='1' id='type-id-39'>
       <data-member access='private'>
-        <!-- __pthread_mutex_s __data -->
-        <var-decl name='__data' type-id='type-id-35' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='69' column='1'/>
+        <!-- __pthread_mutex_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-40' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='69' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- char __size[40] -->
-        <var-decl name='__size' type-id='type-id-2' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='70' column='1'/>
+        <!-- char __anonymous_union__::__size[40] -->
+        <var-decl name='__size' type-id='type-id-41' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='70' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- long int __align -->
-        <var-decl name='__align' type-id='type-id-6' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='71' column='1'/>
+        <!-- long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-42' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='71' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __pthread_mutex_s -->
-    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='22' column='1' id='type-id-35'>
+    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='118' column='1' id='type-id-40'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- int __pthread_mutex_s::__lock -->
-        <var-decl name='__lock' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='24' column='1'/>
+        <var-decl name='__lock' type-id='type-id-4' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='120' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='32'>
         <!-- unsigned int __pthread_mutex_s::__count -->
-        <var-decl name='__count' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='25' column='1'/>
+        <var-decl name='__count' type-id='type-id-9' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='121' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- int __pthread_mutex_s::__owner -->
-        <var-decl name='__owner' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='26' column='1'/>
+        <var-decl name='__owner' type-id='type-id-4' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='122' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='96'>
         <!-- unsigned int __pthread_mutex_s::__nusers -->
-        <var-decl name='__nusers' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='28' column='1'/>
+        <var-decl name='__nusers' type-id='type-id-9' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='124' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- int __pthread_mutex_s::__kind -->
-        <var-decl name='__kind' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='32' column='1'/>
+        <var-decl name='__kind' type-id='type-id-4' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='148' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='160'>
         <!-- short int __pthread_mutex_s::__spins -->
-        <var-decl name='__spins' type-id='type-id-7' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='34' column='1'/>
+        <var-decl name='__spins' type-id='type-id-43' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='176'>
         <!-- short int __pthread_mutex_s::__elision -->
-        <var-decl name='__elision' type-id='type-id-7' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='35' column='1'/>
+        <var-decl name='__elision' type-id='type-id-43' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- __pthread_list_t __pthread_mutex_s::__list -->
-        <var-decl name='__list' type-id='type-id-36' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='36' column='1'/>
+        <var-decl name='__list' type-id='type-id-44' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='155' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __pthread_internal_list __pthread_list_t -->
-    <typedef-decl name='__pthread_list_t' type-id='type-id-37' filepath='/usr/include/bits/thread-shared-types.h' line='53' column='1' id='type-id-36'/>
+    <!-- short int -->
+    <type-decl name='short int' size-in-bits='16' id='type-id-43'/>
     <!-- struct __pthread_internal_list -->
-    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='49' column='1' id='type-id-37'>
+    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='82' column='1' id='type-id-45'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- __pthread_internal_list* __pthread_internal_list::__prev -->
-        <var-decl name='__prev' type-id='type-id-38' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='51' column='1'/>
+        <var-decl name='__prev' type-id='type-id-46' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='84' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- __pthread_internal_list* __pthread_internal_list::__next -->
-        <var-decl name='__next' type-id='type-id-38' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='52' column='1'/>
+        <var-decl name='__next' type-id='type-id-46' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='85' column='1'/>
       </data-member>
     </class-decl>
     <!-- __pthread_internal_list* -->
-    <pointer-type-def type-id='type-id-37' size-in-bits='64' id='type-id-38'/>
+    <pointer-type-def type-id='type-id-45' size-in-bits='64' id='type-id-46'/>
+    <!-- typedef __pthread_internal_list __pthread_list_t -->
+    <typedef-decl name='__pthread_list_t' type-id='type-id-45' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='86' column='1' id='type-id-44'/>
+    <!-- char -->
+    <type-decl name='char' size-in-bits='8' id='type-id-47'/>
+
+    <!-- char[40] -->
+    <array-type-def dimensions='1' type-id='type-id-47' size-in-bits='320' id='type-id-41'>
+      <!-- <anonymous range>[40] -->
+      <subrange length='40' type-id='type-id-2' id='type-id-48'/>
+
+    </array-type-def>
+    <!-- long int -->
+    <type-decl name='long int' size-in-bits='64' id='type-id-42'/>
+    <!-- typedef __anonymous_union__ pthread_mutex_t -->
+    <typedef-decl name='pthread_mutex_t' type-id='type-id-39' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='72' column='1' id='type-id-38'/>
     <!-- call_rcu_data* -->
-    <pointer-type-def type-id='type-id-30' size-in-bits='64' id='type-id-39'/>
-    <!-- cds_list_head* -->
-    <pointer-type-def type-id='type-id-14' size-in-bits='64' id='type-id-16'/>
-    <!-- cds_wfcq_node* -->
-    <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-26'/>
-    <!-- const rcu_flavor_struct -->
-    <qualified-type-def type-id='type-id-17' const='yes' id='type-id-40'/>
-    <!-- int ()* -->
-    <pointer-type-def type-id='type-id-41' size-in-bits='64' id='type-id-19'/>
-    <!-- rcu_head* -->
-    <pointer-type-def type-id='type-id-23' size-in-bits='64' id='type-id-42'/>
-    <!-- urcu_atfork* -->
-    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-43'/>
-    <!-- void ()* -->
-    <pointer-type-def type-id='type-id-44' size-in-bits='64' id='type-id-18'/>
-    <!-- void (rcu_head*)* -->
-    <pointer-type-def type-id='type-id-45' size-in-bits='64' id='type-id-25'/>
-    <!-- void (rcu_head*, void (rcu_head*)*)* -->
-    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-20'/>
-    <!-- void (urcu_atfork*)* -->
-    <pointer-type-def type-id='type-id-47' size-in-bits='64' id='type-id-22'/>
-    <!-- void (void (void*)*, void*)* -->
-    <pointer-type-def type-id='type-id-48' size-in-bits='64' id='type-id-21'/>
-    <!-- void (void*)* -->
-    <pointer-type-def type-id='type-id-49' size-in-bits='64' id='type-id-28'/>
-    <!-- void* -->
-    <pointer-type-def type-id='type-id-9' size-in-bits='64' id='type-id-29'/>
-    <!-- rcu_gp_qsbr rcu_gp_qsbr -->
-    <var-decl name='rcu_gp_qsbr' type-id='type-id-10' mangled-name='rcu_gp_qsbr' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='79' column='1' elf-symbol-id='rcu_gp_qsbr'/>
-    <!-- rcu_reader_qsbr rcu_reader_qsbr -->
-    <var-decl name='rcu_reader_qsbr' type-id='type-id-13' mangled-name='rcu_reader_qsbr' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='92' column='1' elf-symbol-id='rcu_reader_qsbr'/>
-    <!-- const rcu_flavor_struct rcu_flavor_qsbr -->
-    <var-decl name='rcu_flavor_qsbr' type-id='type-id-40' mangled-name='rcu_flavor_qsbr' visibility='default' filepath='../src/urcu-flavor.h' line='79' column='1' elf-symbol-id='rcu_flavor_qsbr'/>
-    <!-- void rcu_defer_exit_qsbr() -->
-    <function-decl name='rcu_defer_exit_qsbr' mangled-name='rcu_defer_exit_qsbr' filepath='src/urcu-defer-impl.h' line='466' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_exit_qsbr'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void rcu_defer_unregister_thread_qsbr() -->
-    <function-decl name='rcu_defer_unregister_thread_qsbr' mangled-name='rcu_defer_unregister_thread_qsbr' filepath='src/urcu-defer-impl.h' line='448' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_unregister_thread_qsbr'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- int rcu_defer_register_thread_qsbr() -->
-    <function-decl name='rcu_defer_register_thread_qsbr' mangled-name='rcu_defer_register_thread_qsbr' filepath='src/urcu-defer-impl.h' line='426' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_register_thread_qsbr'>
-      <!-- int -->
-      <return type-id='type-id-5'/>
-    </function-decl>
-    <!-- void defer_rcu_qsbr(void (void*)*, void*) -->
-    <function-decl name='defer_rcu_qsbr' mangled-name='defer_rcu_qsbr' filepath='src/urcu-defer-impl.h' line='395' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='defer_rcu_qsbr'>
-      <!-- parameter of type 'void (void*)*' -->
-      <parameter type-id='type-id-28' name='fct' filepath='src/urcu-defer-impl.h' line='395' column='1'/>
-      <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='p' filepath='src/urcu-defer-impl.h' line='395' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void rcu_defer_barrier_qsbr() -->
-    <function-decl name='rcu_defer_barrier_qsbr' mangled-name='rcu_defer_barrier_qsbr' filepath='src/urcu-defer-impl.h' line='281' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_barrier_qsbr'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void rcu_defer_barrier_thread_qsbr() -->
-    <function-decl name='rcu_defer_barrier_thread_qsbr' mangled-name='rcu_defer_barrier_thread_qsbr' filepath='src/urcu-defer-impl.h' line='261' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_barrier_thread_qsbr'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_unregister_rculfhash_atfork_qsbr(urcu_atfork*) -->
-    <function-decl name='urcu_unregister_rculfhash_atfork_qsbr' mangled-name='urcu_unregister_rculfhash_atfork_qsbr' filepath='src/urcu-call-rcu-impl.h' line='1011' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_unregister_rculfhash_atfork_qsbr'>
-      <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-43' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1011' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_register_rculfhash_atfork_qsbr(urcu_atfork*) -->
-    <function-decl name='urcu_register_rculfhash_atfork_qsbr' mangled-name='urcu_register_rculfhash_atfork_qsbr' filepath='src/urcu-call-rcu-impl.h' line='1001' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_register_rculfhash_atfork_qsbr'>
-      <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-43' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1001' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void call_rcu_after_fork_child_qsbr() -->
-    <function-decl name='call_rcu_after_fork_child_qsbr' mangled-name='call_rcu_after_fork_child_qsbr' filepath='src/urcu-call-rcu-impl.h' line='959' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_after_fork_child_qsbr'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void call_rcu_after_fork_parent_qsbr() -->
-    <function-decl name='call_rcu_after_fork_parent_qsbr' mangled-name='call_rcu_after_fork_parent_qsbr' filepath='src/urcu-call-rcu-impl.h' line='937' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_after_fork_parent_qsbr'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void call_rcu_before_fork_qsbr() -->
-    <function-decl name='call_rcu_before_fork_qsbr' mangled-name='call_rcu_before_fork_qsbr' filepath='src/urcu-call-rcu-impl.h' line='910' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_before_fork_qsbr'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void rcu_barrier_qsbr() -->
-    <function-decl name='rcu_barrier_qsbr' mangled-name='rcu_barrier_qsbr' filepath='src/urcu-call-rcu-impl.h' line='839' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_barrier_qsbr'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void free_all_cpu_call_rcu_data() -->
-    <function-decl name='free_all_cpu_call_rcu_data' mangled-name='free_all_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='776' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='free_all_cpu_call_rcu_data'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
+    <pointer-type-def type-id='type-id-35' size-in-bits='64' id='type-id-49'/>
     <!-- void call_rcu_data_free_qsbr(call_rcu_data*) -->
     <function-decl name='call_rcu_data_free_qsbr' mangled-name='call_rcu_data_free_qsbr' filepath='src/urcu-call-rcu-impl.h' line='744' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_data_free_qsbr'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='744' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='744' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-decl>
     <!-- void call_rcu_qsbr(rcu_head*, void (rcu_head*)*) -->
     <function-decl name='call_rcu_qsbr' mangled-name='call_rcu_qsbr' filepath='src/urcu-call-rcu-impl.h' line='706' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_qsbr'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42' name='head' filepath='src/urcu-call-rcu-impl.h' line='706' column='1'/>
+      <parameter type-id='type-id-24' name='head' filepath='src/urcu-call-rcu-impl.h' line='706' column='1'/>
       <!-- parameter of type 'void (rcu_head*)*' -->
-      <parameter type-id='type-id-25' name='func' filepath='src/urcu-call-rcu-impl.h' line='707' column='1'/>
+      <parameter type-id='type-id-22' name='func' filepath='src/urcu-call-rcu-impl.h' line='707' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-decl>
     <!-- int create_all_cpu_call_rcu_data_qsbr(unsigned long int) -->
     <function-decl name='create_all_cpu_call_rcu_data_qsbr' mangled-name='create_all_cpu_call_rcu_data_qsbr' filepath='src/urcu-call-rcu-impl.h' line='628' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='create_all_cpu_call_rcu_data_qsbr'>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-3' name='flags' filepath='src/urcu-call-rcu-impl.h' line='628' column='1'/>
+      <parameter type-id='type-id-2' name='flags' filepath='src/urcu-call-rcu-impl.h' line='628' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-decl>
     <!-- void set_thread_call_rcu_data_qsbr(call_rcu_data*) -->
     <function-decl name='set_thread_call_rcu_data_qsbr' mangled-name='set_thread_call_rcu_data_qsbr' filepath='src/urcu-call-rcu-impl.h' line='615' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='set_thread_call_rcu_data_qsbr'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='615' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='615' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-decl>
     <!-- call_rcu_data* get_thread_call_rcu_data_qsbr() -->
     <function-decl name='get_thread_call_rcu_data_qsbr' mangled-name='get_thread_call_rcu_data_qsbr' filepath='src/urcu-call-rcu-impl.h' line='599' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_thread_call_rcu_data_qsbr'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- call_rcu_data* get_call_rcu_data_qsbr() -->
     <function-decl name='get_call_rcu_data_qsbr' mangled-name='get_call_rcu_data_qsbr' filepath='src/urcu-call-rcu-impl.h' line='579' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_call_rcu_data_qsbr'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- call_rcu_data* get_default_call_rcu_data_qsbr() -->
     <function-decl name='get_default_call_rcu_data_qsbr' mangled-name='get_default_call_rcu_data_qsbr' filepath='src/urcu-call-rcu-impl.h' line='554' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_default_call_rcu_data_qsbr'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- int set_cpu_call_rcu_data_qsbr(int, call_rcu_data*) -->
     <function-decl name='set_cpu_call_rcu_data_qsbr' mangled-name='set_cpu_call_rcu_data_qsbr' filepath='src/urcu-call-rcu-impl.h' line='515' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='set_cpu_call_rcu_data_qsbr'>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='515' column='1'/>
+      <parameter type-id='type-id-4' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='515' column='1'/>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='515' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='515' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-decl>
     <!-- call_rcu_data* create_call_rcu_data_qsbr(unsigned long int, int) -->
     <function-decl name='create_call_rcu_data_qsbr' mangled-name='create_call_rcu_data_qsbr' filepath='src/urcu-call-rcu-impl.h' line='491' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='create_call_rcu_data_qsbr'>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-3' name='flags' filepath='src/urcu-call-rcu-impl.h' line='491' column='1'/>
+      <parameter type-id='type-id-2' name='flags' filepath='src/urcu-call-rcu-impl.h' line='491' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu_affinity' filepath='src/urcu-call-rcu-impl.h' line='492' column='1'/>
+      <parameter type-id='type-id-4' name='cpu_affinity' filepath='src/urcu-call-rcu-impl.h' line='492' column='1'/>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- pthread_t get_call_rcu_thread_qsbr(call_rcu_data*) -->
     <function-decl name='get_call_rcu_thread_qsbr' mangled-name='get_call_rcu_thread_qsbr' filepath='src/urcu-call-rcu-impl.h' line='473' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_call_rcu_thread_qsbr'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='473' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='473' column='1'/>
       <!-- typedef pthread_t -->
-      <return type-id='type-id-15'/>
+      <return type-id='type-id-8'/>
     </function-decl>
     <!-- call_rcu_data* get_cpu_call_rcu_data_qsbr(int) -->
     <function-decl name='get_cpu_call_rcu_data_qsbr' mangled-name='get_cpu_call_rcu_data_qsbr' filepath='src/urcu-call-rcu-impl.h' line='451' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_cpu_call_rcu_data_qsbr'>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='451' column='1'/>
+      <parameter type-id='type-id-4' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='451' column='1'/>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- void rcu_exit_qsbr() -->
     <function-decl name='rcu_exit_qsbr' mangled-name='rcu_exit_qsbr' filepath='src/urcu-qsbr.c' line='491' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_exit_qsbr'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-decl>
     <!-- void rcu_unregister_thread_qsbr() -->
     <function-decl name='rcu_unregister_thread_qsbr' mangled-name='rcu_unregister_thread_qsbr' filepath='src/urcu-qsbr.c' line='477' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_unregister_thread_qsbr'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-decl>
     <!-- void rcu_register_thread_qsbr() -->
     <function-decl name='rcu_register_thread_qsbr' mangled-name='rcu_register_thread_qsbr' filepath='src/urcu-qsbr.c' line='464' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_register_thread_qsbr'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-decl>
     <!-- void rcu_thread_online_qsbr() -->
     <function-decl name='rcu_thread_online_qsbr' mangled-name='rcu_thread_online_qsbr' filepath='src/urcu-qsbr.c' line='459' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_thread_online_qsbr'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-decl>
     <!-- void rcu_thread_offline_qsbr() -->
     <function-decl name='rcu_thread_offline_qsbr' mangled-name='rcu_thread_offline_qsbr' filepath='src/urcu-qsbr.c' line='454' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_thread_offline_qsbr'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-decl>
     <!-- void rcu_quiescent_state_qsbr() -->
     <function-decl name='rcu_quiescent_state_qsbr' mangled-name='rcu_quiescent_state_qsbr' filepath='src/urcu-qsbr.c' line='449' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_quiescent_state_qsbr'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-decl>
     <!-- int rcu_read_ongoing_qsbr() -->
     <function-decl name='rcu_read_ongoing_qsbr' mangled-name='rcu_read_ongoing_qsbr' filepath='src/urcu-qsbr.c' line='444' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_read_ongoing_qsbr'>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-decl>
     <!-- void rcu_read_unlock_qsbr() -->
     <function-decl name='rcu_read_unlock_qsbr' mangled-name='rcu_read_unlock_qsbr' filepath='src/urcu-qsbr.c' line='439' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_read_unlock_qsbr'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-decl>
     <!-- void rcu_read_lock_qsbr() -->
     <function-decl name='rcu_read_lock_qsbr' mangled-name='rcu_read_lock_qsbr' filepath='src/urcu-qsbr.c' line='434' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_read_lock_qsbr'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-decl>
     <!-- void synchronize_rcu_qsbr() -->
     <function-decl name='synchronize_rcu_qsbr' mangled-name='synchronize_rcu_qsbr' filepath='src/urcu-qsbr.c' line='344' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='synchronize_rcu_qsbr'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-decl>
     <!-- int () -->
-    <function-type size-in-bits='64' id='type-id-41'>
+    <function-type size-in-bits='64' id='type-id-19'>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-type>
     <!-- void () -->
-    <function-type size-in-bits='64' id='type-id-44'>
+    <function-type size-in-bits='64' id='type-id-18'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-type>
     <!-- void (rcu_head*) -->
-    <function-type size-in-bits='64' id='type-id-45'>
+    <function-type size-in-bits='64' id='type-id-25'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42'/>
+      <parameter type-id='type-id-24'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-type>
     <!-- void (rcu_head*, void (rcu_head*)*) -->
-    <function-type size-in-bits='64' id='type-id-46'>
+    <function-type size-in-bits='64' id='type-id-26'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42'/>
+      <parameter type-id='type-id-24'/>
       <!-- parameter of type 'void (rcu_head*)*' -->
-      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-22'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-type>
     <!-- void (urcu_atfork*) -->
-    <function-type size-in-bits='64' id='type-id-47'>
+    <function-type size-in-bits='64' id='type-id-33'>
       <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-43'/>
+      <parameter type-id='type-id-32'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-type>
     <!-- void (void (void*)*, void*) -->
-    <function-type size-in-bits='64' id='type-id-48'>
+    <function-type size-in-bits='64' id='type-id-30'>
       <!-- parameter of type 'void (void*)*' -->
-      <parameter type-id='type-id-28'/>
-      <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-29'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-27'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-type>
     <!-- void (void*) -->
-    <function-type size-in-bits='64' id='type-id-49'>
+    <function-type size-in-bits='64' id='type-id-28'>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29'/>
+      <parameter type-id='type-id-27'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-type>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='urcu-pointer.c' comp-dir-path='src' language='LANG_C99'>
     <!-- void** -->
-    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-50'/>
+    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-50'/>
     <!-- void* rcu_cmpxchg_pointer_sym(void**, void*, void*) -->
     <function-decl name='rcu_cmpxchg_pointer_sym' mangled-name='rcu_cmpxchg_pointer_sym' filepath='src/urcu-pointer.c' line='53' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_cmpxchg_pointer_sym'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='53' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='old' filepath='src/urcu-pointer.c' line='53' column='1'/>
+      <parameter type-id='type-id-27' name='old' filepath='src/urcu-pointer.c' line='53' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='_new' filepath='src/urcu-pointer.c' line='53' column='1'/>
+      <parameter type-id='type-id-27' name='_new' filepath='src/urcu-pointer.c' line='53' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-27'/>
     </function-decl>
     <!-- void* rcu_xchg_pointer_sym(void**, void*) -->
     <function-decl name='rcu_xchg_pointer_sym' mangled-name='rcu_xchg_pointer_sym' filepath='src/urcu-pointer.c' line='47' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_xchg_pointer_sym'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='47' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='v' filepath='src/urcu-pointer.c' line='47' column='1'/>
+      <parameter type-id='type-id-27' name='v' filepath='src/urcu-pointer.c' line='47' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-27'/>
     </function-decl>
     <!-- void* rcu_set_pointer_sym(void**, void*) -->
     <function-decl name='rcu_set_pointer_sym' mangled-name='rcu_set_pointer_sym' filepath='src/urcu-pointer.c' line='40' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_set_pointer_sym'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='40' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='v' filepath='src/urcu-pointer.c' line='40' column='1'/>
+      <parameter type-id='type-id-27' name='v' filepath='src/urcu-pointer.c' line='40' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-27'/>
     </function-decl>
     <!-- void* rcu_dereference_sym(void*) -->
     <function-decl name='rcu_dereference_sym' mangled-name='rcu_dereference_sym' filepath='src/urcu-pointer.c' line='35' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_dereference_sym'>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='p' filepath='src/urcu-pointer.c' line='35' column='1'/>
+      <parameter type-id='type-id-27' name='p' filepath='src/urcu-pointer.c' line='35' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-27'/>
     </function-decl>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='compat_futex.c' comp-dir-path='src' language='LANG_C99'>
-
-
-    <!-- char[48] -->
-    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='384' id='type-id-51'>
-      <!-- <anonymous range>[48] -->
-      <subrange length='48' type-id='type-id-3' id='type-id-52'/>
-
-    </array-type-def>
-    <!-- long long int -->
-    <type-decl name='long long int' size-in-bits='64' id='type-id-53'/>
-    <!-- long long unsigned int -->
-    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-54'/>
-    <!-- unsigned int[2] -->
-    <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='64' id='type-id-55'>
-      <!-- <anonymous range>[2] -->
-      <subrange length='2' type-id='type-id-3' id='type-id-56'/>
-
-    </array-type-def>
-    <!-- typedef __anonymous_union__ pthread_cond_t -->
-    <typedef-decl name='pthread_cond_t' type-id='type-id-57' filepath='/usr/include/bits/pthreadtypes.h' line='80' column='1' id='type-id-58'/>
-    <!-- union {__pthread_cond_s __data; char __size[48]; long long int __align;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='75' column='1' id='type-id-57'>
+    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
+    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-38' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='75' column='1' id='type-id-51'>
       <data-member access='private'>
-        <!-- __pthread_cond_s __data -->
-        <var-decl name='__data' type-id='type-id-59' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='77' column='1'/>
+        <!-- __pthread_cond_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-52' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='77' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- char __size[48] -->
-        <var-decl name='__size' type-id='type-id-51' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='78' column='1'/>
+        <!-- char __anonymous_union__::__size[48] -->
+        <var-decl name='__size' type-id='type-id-53' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='78' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- long long int __align -->
-        <var-decl name='__align' type-id='type-id-53' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='79' column='1'/>
+        <!-- long long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-54' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='79' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __pthread_cond_s -->
-    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='92' column='1' id='type-id-59'>
+    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='171' column='1' id='type-id-52'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <!-- union {long long unsigned int __wseq; struct {unsigned int __low; unsigned int __high;} __wseq32;} -->
-        <var-decl name='' type-id='type-id-60' visibility='default'/>
+        <!-- __anonymous_union__  -->
+        <var-decl name='' type-id='type-id-55' visibility='default'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- unsigned int __pthread_cond_s::__g_refs[2] -->
-        <var-decl name='__g_refs' type-id='type-id-55' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='112' column='1'/>
+        <var-decl name='__g_refs' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='191' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- unsigned int __pthread_cond_s::__g_size[2] -->
-        <var-decl name='__g_size' type-id='type-id-55' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='113' column='1'/>
+        <var-decl name='__g_size' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='192' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- unsigned int __pthread_cond_s::__g1_orig_size -->
-        <var-decl name='__g1_orig_size' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='114' column='1'/>
+        <var-decl name='__g1_orig_size' type-id='type-id-9' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='193' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='288'>
         <!-- unsigned int __pthread_cond_s::__wrefs -->
-        <var-decl name='__wrefs' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='115' column='1'/>
+        <var-decl name='__wrefs' type-id='type-id-9' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='194' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
         <!-- unsigned int __pthread_cond_s::__g_signals[2] -->
-        <var-decl name='__g_signals' type-id='type-id-55' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='116' column='1'/>
+        <var-decl name='__g_signals' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='195' column='1'/>
       </data-member>
     </class-decl>
-    <!-- union {long long unsigned int __wseq; struct {unsigned int __low; unsigned int __high;} __wseq32;} -->
-    <union-decl name='__anonymous_union__1' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='94' column='1' id='type-id-60'>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='173' column='1' id='type-id-55'>
       <data-member access='private'>
-        <!-- long long unsigned int __wseq -->
-        <var-decl name='__wseq' type-id='type-id-54' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='96' column='1'/>
+        <!-- long long unsigned int __anonymous_union__::__wseq -->
+        <var-decl name='__wseq' type-id='type-id-57' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='175' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- struct {unsigned int __low; unsigned int __high;} __wseq32 -->
-        <var-decl name='__wseq32' type-id='type-id-61' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='101' column='1'/>
+        <!-- __anonymous_struct__ __anonymous_union__::__wseq32 -->
+        <var-decl name='__wseq32' type-id='type-id-58' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='180' column='1'/>
       </data-member>
     </union-decl>
-    <!-- struct {unsigned int __low; unsigned int __high;} -->
-    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='97' column='1' id='type-id-61'>
+    <!-- long long unsigned int -->
+    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-57'/>
+    <!-- struct __anonymous_struct__ -->
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='176' column='1' id='type-id-58'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <!-- unsigned int __low -->
-        <var-decl name='__low' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='99' column='1'/>
+        <!-- unsigned int __anonymous_struct__::__low -->
+        <var-decl name='__low' type-id='type-id-9' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='178' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='32'>
-        <!-- unsigned int __high -->
-        <var-decl name='__high' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='100' column='1'/>
+        <!-- unsigned int __anonymous_struct__::__high -->
+        <var-decl name='__high' type-id='type-id-9' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='179' column='1'/>
       </data-member>
     </class-decl>
+
+    <!-- unsigned int[2] -->
+    <array-type-def dimensions='1' type-id='type-id-9' size-in-bits='64' id='type-id-56'>
+      <!-- <anonymous range>[2] -->
+      <subrange length='2' type-id='type-id-2' id='type-id-59'/>
+
+    </array-type-def>
+
+    <!-- char[48] -->
+    <array-type-def dimensions='1' type-id='type-id-47' size-in-bits='384' id='type-id-53'>
+      <!-- <anonymous range>[48] -->
+      <subrange length='48' type-id='type-id-2' id='type-id-60'/>
+
+    </array-type-def>
+    <!-- long long int -->
+    <type-decl name='long long int' size-in-bits='64' id='type-id-54'/>
+    <!-- typedef __anonymous_union__ pthread_cond_t -->
+    <typedef-decl name='pthread_cond_t' type-id='type-id-51' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='80' column='1' id='type-id-61'/>
+    <!-- pthread_cond_t __urcu_compat_futex_cond -->
+    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-61' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
+    <!-- int32_t* -->
+    <pointer-type-def type-id='type-id-3' size-in-bits='64' id='type-id-62'/>
     <!-- struct timespec -->
-    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='10' column='1' id='type-id-62'>
+    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='9' column='1' id='type-id-63'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- __time_t timespec::tv_sec -->
-        <var-decl name='tv_sec' type-id='type-id-63' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='12' column='1'/>
+        <var-decl name='tv_sec' type-id='type-id-64' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='11' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- __syscall_slong_t timespec::tv_nsec -->
-        <var-decl name='tv_nsec' type-id='type-id-64' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='16' column='1'/>
+        <var-decl name='tv_nsec' type-id='type-id-65' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='12' column='1'/>
       </data-member>
     </class-decl>
     <!-- typedef long int __time_t -->
-    <typedef-decl name='__time_t' type-id='type-id-6' filepath='/usr/include/bits/types.h' line='160' column='1' id='type-id-63'/>
+    <typedef-decl name='__time_t' type-id='type-id-42' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='148' column='1' id='type-id-64'/>
     <!-- typedef long int __syscall_slong_t -->
-    <typedef-decl name='__syscall_slong_t' type-id='type-id-6' filepath='/usr/include/bits/types.h' line='197' column='1' id='type-id-64'/>
+    <typedef-decl name='__syscall_slong_t' type-id='type-id-42' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='184' column='1' id='type-id-65'/>
     <!-- const timespec -->
-    <qualified-type-def type-id='type-id-62' const='yes' id='type-id-65'/>
+    <qualified-type-def type-id='type-id-63' const='yes' id='type-id-66'/>
     <!-- const timespec* -->
-    <pointer-type-def type-id='type-id-65' size-in-bits='64' id='type-id-66'/>
-    <!-- int32_t* -->
-    <pointer-type-def type-id='type-id-11' size-in-bits='64' id='type-id-67'/>
-    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
-    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-33' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
-    <!-- pthread_cond_t __urcu_compat_futex_cond -->
-    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-58' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
+    <pointer-type-def type-id='type-id-66' size-in-bits='64' id='type-id-67'/>
     <!-- int compat_futex_async(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
     <function-decl name='compat_futex_async' mangled-name='compat_futex_async' filepath='src/compat_futex.c' line='118' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_async'>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-4' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-3' name='val' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'const timespec*' -->
-      <parameter type-id='type-id-66' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-67' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val3' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-3' name='val3' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-decl>
     <!-- int compat_futex_noasync(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
     <function-decl name='compat_futex_noasync' mangled-name='compat_futex_noasync' filepath='src/compat_futex.c' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_noasync'>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-4' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-3' name='val' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'const timespec*' -->
-      <parameter type-id='type-id-66' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-67' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val3' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-3' name='val3' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-decl>
   </abi-instr>
 </abi-corpus>
index e3078f7cc32eb194e20b99a1bcdbca9188eb3a77..b8067a4d3bf0b897520c293b278f9c6d92206d51 100644 (file)
@@ -1,11 +1,14 @@
 <abi-corpus architecture='elf-amd-x86_64' soname='liburcu-signal.so.6'>
   <elf-needed>
-    <dependency name='liburcu-common.so.6'/>
     <dependency name='libpthread.so.0'/>
     <dependency name='libc.so.6'/>
     <dependency name='ld-linux-x86-64.so.2'/>
   </elf-needed>
   <elf-function-symbols>
+    <!-- _fini -->
+    <elf-symbol name='_fini' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- _init -->
+    <elf-symbol name='_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- call_rcu_after_fork_child_sig -->
     <elf-symbol name='call_rcu_after_fork_child_sig' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- call_rcu_after_fork_parent_sig -->
     <elf-symbol name='rcu_reader_sig' size='256' type='tls-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
   </elf-variable-symbols>
   <abi-instr version='1.0' address-size='64' path='urcu.c' comp-dir-path='src' language='LANG_C99'>
-
-    <!-- char -->
-    <type-decl name='char' size-in-bits='8' id='type-id-1'/>
-    <!-- char[40] -->
-    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='320' id='type-id-2'>
-      <!-- <anonymous range>[40] -->
-      <subrange length='40' type-id='type-id-3' id='type-id-4'/>
-
-    </array-type-def>
-    <!-- int -->
-    <type-decl name='int' size-in-bits='32' id='type-id-5'/>
-    <!-- long int -->
-    <type-decl name='long int' size-in-bits='64' id='type-id-6'/>
-    <!-- short int -->
-    <type-decl name='short int' size-in-bits='16' id='type-id-7'/>
-    <!-- unsigned int -->
-    <type-decl name='unsigned int' size-in-bits='32' id='type-id-8'/>
-    <!-- unsigned long int -->
-    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-3'/>
-    <!-- void -->
-    <type-decl name='void' id='type-id-9'/>
     <!-- struct rcu_gp_sig -->
-    <class-decl name='rcu_gp_sig' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu.h' line='119' column='1' id='type-id-10'>
+    <class-decl name='rcu_gp_sig' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu.h' line='119' column='1' id='type-id-1'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned long int rcu_gp_sig::ctr -->
-        <var-decl name='ctr' type-id='type-id-3' visibility='default' filepath='../include/urcu/static/urcu.h' line='127' column='1'/>
+        <var-decl name='ctr' type-id='type-id-2' visibility='default' filepath='../include/urcu/static/urcu.h' line='127' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- int32_t rcu_gp_sig::futex -->
-        <var-decl name='futex' type-id='type-id-11' visibility='default' filepath='../include/urcu/static/urcu.h' line='129' column='1'/>
+        <var-decl name='futex' type-id='type-id-3' visibility='default' filepath='../include/urcu/static/urcu.h' line='129' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __int32_t int32_t -->
-    <typedef-decl name='int32_t' type-id='type-id-12' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-11'/>
+    <!-- unsigned long int -->
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-2'/>
+    <!-- int -->
+    <type-decl name='int' size-in-bits='32' id='type-id-4'/>
     <!-- typedef int __int32_t -->
-    <typedef-decl name='__int32_t' type-id='type-id-5' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-12'/>
+    <typedef-decl name='__int32_t' type-id='type-id-4' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='40' column='1' id='type-id-5'/>
+    <!-- typedef __int32_t int32_t -->
+    <typedef-decl name='int32_t' type-id='type-id-5' filepath='/usr/include/x86_64-linux-gnu/bits/stdint-intn.h' line='26' column='1' id='type-id-3'/>
+    <!-- rcu_gp_sig rcu_gp_sig -->
+    <var-decl name='rcu_gp_sig' type-id='type-id-1' mangled-name='rcu_gp_sig' visibility='default' filepath='../include/urcu/static/urcu.h' line='132' column='1' elf-symbol-id='rcu_gp_sig'/>
     <!-- struct rcu_reader_sig -->
-    <class-decl name='rcu_reader_sig' size-in-bits='2048' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu.h' line='134' column='1' id='type-id-13'>
+    <class-decl name='rcu_reader_sig' size-in-bits='2048' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu.h' line='134' column='1' id='type-id-6'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned long int rcu_reader_sig::ctr -->
-        <var-decl name='ctr' type-id='type-id-3' visibility='default' filepath='../include/urcu/static/urcu.h' line='136' column='1'/>
+        <var-decl name='ctr' type-id='type-id-2' visibility='default' filepath='../include/urcu/static/urcu.h' line='136' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- char rcu_reader_sig::need_mb -->
-        <var-decl name='need_mb' type-id='type-id-1' visibility='default' filepath='../include/urcu/static/urcu.h' line='137' column='1'/>
+        <var-decl name='need_mb' type-id='type-id-7' visibility='default' filepath='../include/urcu/static/urcu.h' line='137' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1024'>
         <!-- cds_list_head rcu_reader_sig::node -->
-        <var-decl name='node' type-id='type-id-14' visibility='default' filepath='../include/urcu/static/urcu.h' line='139' column='1'/>
+        <var-decl name='node' type-id='type-id-8' visibility='default' filepath='../include/urcu/static/urcu.h' line='139' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1152'>
         <!-- pthread_t rcu_reader_sig::tid -->
-        <var-decl name='tid' type-id='type-id-15' visibility='default' filepath='../include/urcu/static/urcu.h' line='140' column='1'/>
+        <var-decl name='tid' type-id='type-id-9' visibility='default' filepath='../include/urcu/static/urcu.h' line='140' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='31'>
         <!-- unsigned int rcu_reader_sig::registered -->
-        <var-decl name='registered' type-id='type-id-8' visibility='default' filepath='../include/urcu/static/urcu.h' line='142' column='1'/>
+        <var-decl name='registered' type-id='type-id-10' visibility='default' filepath='../include/urcu/static/urcu.h' line='142' column='1'/>
       </data-member>
     </class-decl>
+    <!-- char -->
+    <type-decl name='char' size-in-bits='8' id='type-id-7'/>
     <!-- struct cds_list_head -->
-    <class-decl name='cds_list_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/list.h' line='35' column='1' id='type-id-14'>
+    <class-decl name='cds_list_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/list.h' line='35' column='1' id='type-id-8'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_list_head* cds_list_head::next -->
-        <var-decl name='next' type-id='type-id-16' visibility='default' filepath='../include/urcu/list.h' line='36' column='1'/>
+        <var-decl name='next' type-id='type-id-11' visibility='default' filepath='../include/urcu/list.h' line='36' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- cds_list_head* cds_list_head::prev -->
-        <var-decl name='prev' type-id='type-id-16' visibility='default' filepath='../include/urcu/list.h' line='36' column='1'/>
+        <var-decl name='prev' type-id='type-id-11' visibility='default' filepath='../include/urcu/list.h' line='36' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_list_head* -->
+    <pointer-type-def type-id='type-id-8' size-in-bits='64' id='type-id-11'/>
     <!-- typedef unsigned long int pthread_t -->
-    <typedef-decl name='pthread_t' type-id='type-id-3' filepath='/usr/include/bits/pthreadtypes.h' line='27' column='1' id='type-id-15'/>
+    <typedef-decl name='pthread_t' type-id='type-id-2' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='27' column='1' id='type-id-9'/>
+    <!-- unsigned int -->
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-10'/>
+    <!-- rcu_reader_sig rcu_reader_sig -->
+    <var-decl name='rcu_reader_sig' type-id='type-id-6' mangled-name='rcu_reader_sig' visibility='default' filepath='../include/urcu/static/urcu.h' line='145' column='1' elf-symbol-id='rcu_reader_sig'/>
     <!-- struct rcu_flavor_struct -->
-    <class-decl name='rcu_flavor_struct' size-in-bits='896' is-struct='yes' visibility='default' filepath='../src/urcu-flavor.h' line='40' column='1' id='type-id-17'>
+    <class-decl name='rcu_flavor_struct' size-in-bits='896' is-struct='yes' visibility='default' filepath='../src/urcu-flavor.h' line='40' column='1' id='type-id-12'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- void ()* rcu_flavor_struct::read_lock -->
-        <var-decl name='read_lock' type-id='type-id-18' visibility='default' filepath='../src/urcu-flavor.h' line='41' column='1'/>
+        <var-decl name='read_lock' type-id='type-id-13' visibility='default' filepath='../src/urcu-flavor.h' line='41' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void ()* rcu_flavor_struct::read_unlock -->
-        <var-decl name='read_unlock' type-id='type-id-18' visibility='default' filepath='../src/urcu-flavor.h' line='42' column='1'/>
+        <var-decl name='read_unlock' type-id='type-id-13' visibility='default' filepath='../src/urcu-flavor.h' line='42' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- int ()* rcu_flavor_struct::read_ongoing -->
-        <var-decl name='read_ongoing' type-id='type-id-19' visibility='default' filepath='../src/urcu-flavor.h' line='43' column='1'/>
+        <var-decl name='read_ongoing' type-id='type-id-14' visibility='default' filepath='../src/urcu-flavor.h' line='43' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- void ()* rcu_flavor_struct::read_quiescent_state -->
-        <var-decl name='read_quiescent_state' type-id='type-id-18' visibility='default' filepath='../src/urcu-flavor.h' line='44' column='1'/>
+        <var-decl name='read_quiescent_state' type-id='type-id-13' visibility='default' filepath='../src/urcu-flavor.h' line='44' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- void (rcu_head*, void (rcu_head*)*)* rcu_flavor_struct::update_call_rcu -->
-        <var-decl name='update_call_rcu' type-id='type-id-20' visibility='default' filepath='../src/urcu-flavor.h' line='45' column='1'/>
+        <var-decl name='update_call_rcu' type-id='type-id-15' visibility='default' filepath='../src/urcu-flavor.h' line='45' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
         <!-- void ()* rcu_flavor_struct::update_synchronize_rcu -->
-        <var-decl name='update_synchronize_rcu' type-id='type-id-18' visibility='default' filepath='../src/urcu-flavor.h' line='47' column='1'/>
+        <var-decl name='update_synchronize_rcu' type-id='type-id-13' visibility='default' filepath='../src/urcu-flavor.h' line='47' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='384'>
         <!-- void (void (void*)*, void*)* rcu_flavor_struct::update_defer_rcu -->
-        <var-decl name='update_defer_rcu' type-id='type-id-21' visibility='default' filepath='../src/urcu-flavor.h' line='48' column='1'/>
+        <var-decl name='update_defer_rcu' type-id='type-id-16' visibility='default' filepath='../src/urcu-flavor.h' line='48' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='448'>
         <!-- void ()* rcu_flavor_struct::thread_offline -->
-        <var-decl name='thread_offline' type-id='type-id-18' visibility='default' filepath='../src/urcu-flavor.h' line='50' column='1'/>
+        <var-decl name='thread_offline' type-id='type-id-13' visibility='default' filepath='../src/urcu-flavor.h' line='50' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='512'>
         <!-- void ()* rcu_flavor_struct::thread_online -->
-        <var-decl name='thread_online' type-id='type-id-18' visibility='default' filepath='../src/urcu-flavor.h' line='51' column='1'/>
+        <var-decl name='thread_online' type-id='type-id-13' visibility='default' filepath='../src/urcu-flavor.h' line='51' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='576'>
         <!-- void ()* rcu_flavor_struct::register_thread -->
-        <var-decl name='register_thread' type-id='type-id-18' visibility='default' filepath='../src/urcu-flavor.h' line='52' column='1'/>
+        <var-decl name='register_thread' type-id='type-id-13' visibility='default' filepath='../src/urcu-flavor.h' line='52' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='640'>
         <!-- void ()* rcu_flavor_struct::unregister_thread -->
-        <var-decl name='unregister_thread' type-id='type-id-18' visibility='default' filepath='../src/urcu-flavor.h' line='53' column='1'/>
+        <var-decl name='unregister_thread' type-id='type-id-13' visibility='default' filepath='../src/urcu-flavor.h' line='53' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='704'>
         <!-- void ()* rcu_flavor_struct::barrier -->
-        <var-decl name='barrier' type-id='type-id-18' visibility='default' filepath='../src/urcu-flavor.h' line='55' column='1'/>
+        <var-decl name='barrier' type-id='type-id-13' visibility='default' filepath='../src/urcu-flavor.h' line='55' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='768'>
         <!-- void (urcu_atfork*)* rcu_flavor_struct::register_rculfhash_atfork -->
-        <var-decl name='register_rculfhash_atfork' type-id='type-id-22' visibility='default' filepath='../src/urcu-flavor.h' line='57' column='1'/>
+        <var-decl name='register_rculfhash_atfork' type-id='type-id-17' visibility='default' filepath='../src/urcu-flavor.h' line='57' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='832'>
         <!-- void (urcu_atfork*)* rcu_flavor_struct::unregister_rculfhash_atfork -->
-        <var-decl name='unregister_rculfhash_atfork' type-id='type-id-22' visibility='default' filepath='../src/urcu-flavor.h' line='58' column='1'/>
+        <var-decl name='unregister_rculfhash_atfork' type-id='type-id-17' visibility='default' filepath='../src/urcu-flavor.h' line='58' column='1'/>
       </data-member>
     </class-decl>
+    <!-- void -->
+    <type-decl name='void' id='type-id-18'/>
+    <!-- void ()* -->
+    <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-13'/>
+    <!-- int ()* -->
+    <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-14'/>
     <!-- struct rcu_head -->
-    <class-decl name='rcu_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../src/urcu-call-rcu.h' line='59' column='1' id='type-id-23'>
+    <class-decl name='rcu_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../src/urcu-call-rcu.h' line='59' column='1' id='type-id-21'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node rcu_head::next -->
-        <var-decl name='next' type-id='type-id-24' visibility='default' filepath='../src/urcu-call-rcu.h' line='60' column='1'/>
+        <var-decl name='next' type-id='type-id-22' visibility='default' filepath='../src/urcu-call-rcu.h' line='60' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void (rcu_head*)* rcu_head::func -->
-        <var-decl name='func' type-id='type-id-25' visibility='default' filepath='../src/urcu-call-rcu.h' line='61' column='1'/>
+        <var-decl name='func' type-id='type-id-23' visibility='default' filepath='../src/urcu-call-rcu.h' line='61' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_node -->
-    <class-decl name='cds_wfcq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='59' column='1' id='type-id-24'>
+    <class-decl name='cds_wfcq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='59' column='1' id='type-id-22'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node* cds_wfcq_node::next -->
-        <var-decl name='next' type-id='type-id-26' visibility='default' filepath='../include/urcu/wfcqueue.h' line='60' column='1'/>
+        <var-decl name='next' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='60' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_wfcq_node* -->
+    <pointer-type-def type-id='type-id-22' size-in-bits='64' id='type-id-24'/>
+    <!-- rcu_head* -->
+    <pointer-type-def type-id='type-id-21' size-in-bits='64' id='type-id-25'/>
+    <!-- void (rcu_head*)* -->
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-23'/>
+    <!-- void (rcu_head*, void (rcu_head*)*)* -->
+    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-15'/>
+    <!-- void* -->
+    <pointer-type-def type-id='type-id-18' size-in-bits='64' id='type-id-28'/>
+    <!-- void (void*)* -->
+    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-30'/>
+    <!-- void (void (void*)*, void*)* -->
+    <pointer-type-def type-id='type-id-31' size-in-bits='64' id='type-id-16'/>
     <!-- struct urcu_atfork -->
-    <class-decl name='urcu_atfork' size-in-bits='256' is-struct='yes' visibility='default' filepath='../src/urcu-flavor.h' line='30' column='1' id='type-id-27'>
+    <class-decl name='urcu_atfork' size-in-bits='256' is-struct='yes' visibility='default' filepath='../src/urcu-flavor.h' line='30' column='1' id='type-id-32'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- void (void*)* urcu_atfork::before_fork -->
-        <var-decl name='before_fork' type-id='type-id-28' visibility='default' filepath='../src/urcu-flavor.h' line='31' column='1'/>
+        <var-decl name='before_fork' type-id='type-id-30' visibility='default' filepath='../src/urcu-flavor.h' line='31' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void (void*)* urcu_atfork::after_fork_parent -->
-        <var-decl name='after_fork_parent' type-id='type-id-28' visibility='default' filepath='../src/urcu-flavor.h' line='32' column='1'/>
+        <var-decl name='after_fork_parent' type-id='type-id-30' visibility='default' filepath='../src/urcu-flavor.h' line='32' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- void (void*)* urcu_atfork::after_fork_child -->
-        <var-decl name='after_fork_child' type-id='type-id-28' visibility='default' filepath='../src/urcu-flavor.h' line='33' column='1'/>
+        <var-decl name='after_fork_child' type-id='type-id-30' visibility='default' filepath='../src/urcu-flavor.h' line='33' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- void* urcu_atfork::priv -->
-        <var-decl name='priv' type-id='type-id-29' visibility='default' filepath='../src/urcu-flavor.h' line='34' column='1'/>
+        <var-decl name='priv' type-id='type-id-28' visibility='default' filepath='../src/urcu-flavor.h' line='34' column='1'/>
       </data-member>
     </class-decl>
+    <!-- urcu_atfork* -->
+    <pointer-type-def type-id='type-id-32' size-in-bits='64' id='type-id-33'/>
+    <!-- void (urcu_atfork*)* -->
+    <pointer-type-def type-id='type-id-34' size-in-bits='64' id='type-id-17'/>
+    <!-- const rcu_flavor_struct -->
+    <qualified-type-def type-id='type-id-12' const='yes' id='type-id-35'/>
+    <!-- const rcu_flavor_struct rcu_flavor_sig -->
+    <var-decl name='rcu_flavor_sig' type-id='type-id-35' mangled-name='rcu_flavor_sig' visibility='default' filepath='../src/urcu-flavor.h' line='79' column='1' elf-symbol-id='rcu_flavor_sig'/>
+    <!-- void rcu_defer_exit_sig() -->
+    <function-decl name='rcu_defer_exit_sig' mangled-name='rcu_defer_exit_sig' filepath='src/urcu-defer-impl.h' line='466' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_exit_sig'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void rcu_defer_unregister_thread_sig() -->
+    <function-decl name='rcu_defer_unregister_thread_sig' mangled-name='rcu_defer_unregister_thread_sig' filepath='src/urcu-defer-impl.h' line='448' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_unregister_thread_sig'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- int rcu_defer_register_thread_sig() -->
+    <function-decl name='rcu_defer_register_thread_sig' mangled-name='rcu_defer_register_thread_sig' filepath='src/urcu-defer-impl.h' line='426' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_register_thread_sig'>
+      <!-- int -->
+      <return type-id='type-id-4'/>
+    </function-decl>
+    <!-- void defer_rcu_sig(void (void*)*, void*) -->
+    <function-decl name='defer_rcu_sig' mangled-name='defer_rcu_sig' filepath='src/urcu-defer-impl.h' line='395' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='defer_rcu_sig'>
+      <!-- parameter of type 'void (void*)*' -->
+      <parameter type-id='type-id-30' name='fct' filepath='src/urcu-defer-impl.h' line='395' column='1'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-28' name='p' filepath='src/urcu-defer-impl.h' line='395' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void rcu_defer_barrier_sig() -->
+    <function-decl name='rcu_defer_barrier_sig' mangled-name='rcu_defer_barrier_sig' filepath='src/urcu-defer-impl.h' line='281' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_barrier_sig'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void rcu_defer_barrier_thread_sig() -->
+    <function-decl name='rcu_defer_barrier_thread_sig' mangled-name='rcu_defer_barrier_thread_sig' filepath='src/urcu-defer-impl.h' line='261' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_barrier_thread_sig'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_unregister_rculfhash_atfork_sig(urcu_atfork*) -->
+    <function-decl name='urcu_unregister_rculfhash_atfork_sig' mangled-name='urcu_unregister_rculfhash_atfork_sig' filepath='src/urcu-call-rcu-impl.h' line='1011' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_unregister_rculfhash_atfork_sig'>
+      <!-- parameter of type 'urcu_atfork*' -->
+      <parameter type-id='type-id-33' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1011' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_register_rculfhash_atfork_sig(urcu_atfork*) -->
+    <function-decl name='urcu_register_rculfhash_atfork_sig' mangled-name='urcu_register_rculfhash_atfork_sig' filepath='src/urcu-call-rcu-impl.h' line='1001' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_register_rculfhash_atfork_sig'>
+      <!-- parameter of type 'urcu_atfork*' -->
+      <parameter type-id='type-id-33' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1011' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void call_rcu_after_fork_child_sig() -->
+    <function-decl name='call_rcu_after_fork_child_sig' mangled-name='call_rcu_after_fork_child_sig' filepath='src/urcu-call-rcu-impl.h' line='959' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_after_fork_child_sig'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void call_rcu_after_fork_parent_sig() -->
+    <function-decl name='call_rcu_after_fork_parent_sig' mangled-name='call_rcu_after_fork_parent_sig' filepath='src/urcu-call-rcu-impl.h' line='937' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_after_fork_parent_sig'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void call_rcu_before_fork_sig() -->
+    <function-decl name='call_rcu_before_fork_sig' mangled-name='call_rcu_before_fork_sig' filepath='src/urcu-call-rcu-impl.h' line='910' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_before_fork_sig'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void rcu_barrier_sig() -->
+    <function-decl name='rcu_barrier_sig' mangled-name='rcu_barrier_sig' filepath='src/urcu-call-rcu-impl.h' line='839' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_barrier_sig'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void free_all_cpu_call_rcu_data_sig() -->
+    <function-decl name='free_all_cpu_call_rcu_data_sig' mangled-name='free_all_cpu_call_rcu_data_sig' filepath='src/urcu-call-rcu-impl.h' line='776' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='free_all_cpu_call_rcu_data_sig'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
     <!-- struct call_rcu_data -->
-    <class-decl name='call_rcu_data' size-in-bits='1024' is-struct='yes' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='52' column='1' id='type-id-30'>
+    <class-decl name='call_rcu_data' size-in-bits='1024' is-struct='yes' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='52' column='1' id='type-id-36'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_tail call_rcu_data::cbs_tail -->
-        <var-decl name='cbs_tail' type-id='type-id-31' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='60' column='1'/>
+        <var-decl name='cbs_tail' type-id='type-id-37' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='60' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- cds_wfcq_head call_rcu_data::cbs_head -->
-        <var-decl name='cbs_head' type-id='type-id-32' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='61' column='1'/>
+        <var-decl name='cbs_head' type-id='type-id-38' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='61' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='448'>
         <!-- unsigned long int call_rcu_data::flags -->
-        <var-decl name='flags' type-id='type-id-3' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='62' column='1'/>
+        <var-decl name='flags' type-id='type-id-2' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='62' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='512'>
         <!-- int32_t call_rcu_data::futex -->
-        <var-decl name='futex' type-id='type-id-11' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='63' column='1'/>
+        <var-decl name='futex' type-id='type-id-3' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='63' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='576'>
         <!-- unsigned long int call_rcu_data::qlen -->
-        <var-decl name='qlen' type-id='type-id-3' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='64' column='1'/>
+        <var-decl name='qlen' type-id='type-id-2' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='64' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='640'>
         <!-- pthread_t call_rcu_data::tid -->
-        <var-decl name='tid' type-id='type-id-15' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='65' column='1'/>
+        <var-decl name='tid' type-id='type-id-9' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='65' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='704'>
         <!-- int call_rcu_data::cpu_affinity -->
-        <var-decl name='cpu_affinity' type-id='type-id-5' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='66' column='1'/>
+        <var-decl name='cpu_affinity' type-id='type-id-4' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='66' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='768'>
         <!-- unsigned long int call_rcu_data::gp_count -->
-        <var-decl name='gp_count' type-id='type-id-3' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='67' column='1'/>
+        <var-decl name='gp_count' type-id='type-id-2' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='67' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='832'>
         <!-- cds_list_head call_rcu_data::list -->
-        <var-decl name='list' type-id='type-id-14' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='68' column='1'/>
+        <var-decl name='list' type-id='type-id-8' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='68' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_tail -->
-    <class-decl name='cds_wfcq_tail' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='127' column='1' id='type-id-31'>
+    <class-decl name='cds_wfcq_tail' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='127' column='1' id='type-id-37'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node* cds_wfcq_tail::p -->
-        <var-decl name='p' type-id='type-id-26' visibility='default' filepath='../include/urcu/wfcqueue.h' line='128' column='1'/>
+        <var-decl name='p' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='128' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_head -->
-    <class-decl name='cds_wfcq_head' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='72' column='1' id='type-id-32'>
+    <class-decl name='cds_wfcq_head' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='72' column='1' id='type-id-38'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node cds_wfcq_head::node -->
-        <var-decl name='node' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='73' column='1'/>
+        <var-decl name='node' type-id='type-id-22' visibility='default' filepath='../include/urcu/wfcqueue.h' line='73' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- pthread_mutex_t cds_wfcq_head::lock -->
-        <var-decl name='lock' type-id='type-id-33' visibility='default' filepath='../include/urcu/wfcqueue.h' line='74' column='1'/>
+        <var-decl name='lock' type-id='type-id-39' visibility='default' filepath='../include/urcu/wfcqueue.h' line='74' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __anonymous_union__ pthread_mutex_t -->
-    <typedef-decl name='pthread_mutex_t' type-id='type-id-34' filepath='/usr/include/bits/pthreadtypes.h' line='72' column='1' id='type-id-33'/>
-    <!-- union {__pthread_mutex_s __data; char __size[40]; long int __align;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='67' column='1' id='type-id-34'>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='67' column='1' id='type-id-40'>
       <data-member access='private'>
-        <!-- __pthread_mutex_s __data -->
-        <var-decl name='__data' type-id='type-id-35' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='69' column='1'/>
+        <!-- __pthread_mutex_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-41' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='69' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- char __size[40] -->
-        <var-decl name='__size' type-id='type-id-2' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='70' column='1'/>
+        <!-- char __anonymous_union__::__size[40] -->
+        <var-decl name='__size' type-id='type-id-42' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='70' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- long int __align -->
-        <var-decl name='__align' type-id='type-id-6' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='71' column='1'/>
+        <!-- long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-43' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='71' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __pthread_mutex_s -->
-    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='22' column='1' id='type-id-35'>
+    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='118' column='1' id='type-id-41'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- int __pthread_mutex_s::__lock -->
-        <var-decl name='__lock' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='24' column='1'/>
+        <var-decl name='__lock' type-id='type-id-4' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='120' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='32'>
         <!-- unsigned int __pthread_mutex_s::__count -->
-        <var-decl name='__count' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='25' column='1'/>
+        <var-decl name='__count' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='121' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- int __pthread_mutex_s::__owner -->
-        <var-decl name='__owner' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='26' column='1'/>
+        <var-decl name='__owner' type-id='type-id-4' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='122' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='96'>
         <!-- unsigned int __pthread_mutex_s::__nusers -->
-        <var-decl name='__nusers' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='28' column='1'/>
+        <var-decl name='__nusers' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='124' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- int __pthread_mutex_s::__kind -->
-        <var-decl name='__kind' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='32' column='1'/>
+        <var-decl name='__kind' type-id='type-id-4' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='148' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='160'>
         <!-- short int __pthread_mutex_s::__spins -->
-        <var-decl name='__spins' type-id='type-id-7' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='34' column='1'/>
+        <var-decl name='__spins' type-id='type-id-44' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='176'>
         <!-- short int __pthread_mutex_s::__elision -->
-        <var-decl name='__elision' type-id='type-id-7' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='35' column='1'/>
+        <var-decl name='__elision' type-id='type-id-44' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- __pthread_list_t __pthread_mutex_s::__list -->
-        <var-decl name='__list' type-id='type-id-36' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='36' column='1'/>
+        <var-decl name='__list' type-id='type-id-45' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='155' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __pthread_internal_list __pthread_list_t -->
-    <typedef-decl name='__pthread_list_t' type-id='type-id-37' filepath='/usr/include/bits/thread-shared-types.h' line='53' column='1' id='type-id-36'/>
+    <!-- short int -->
+    <type-decl name='short int' size-in-bits='16' id='type-id-44'/>
     <!-- struct __pthread_internal_list -->
-    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='49' column='1' id='type-id-37'>
+    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='82' column='1' id='type-id-46'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- __pthread_internal_list* __pthread_internal_list::__prev -->
-        <var-decl name='__prev' type-id='type-id-38' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='51' column='1'/>
+        <var-decl name='__prev' type-id='type-id-47' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='84' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- __pthread_internal_list* __pthread_internal_list::__next -->
-        <var-decl name='__next' type-id='type-id-38' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='52' column='1'/>
+        <var-decl name='__next' type-id='type-id-47' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='85' column='1'/>
       </data-member>
     </class-decl>
     <!-- __pthread_internal_list* -->
-    <pointer-type-def type-id='type-id-37' size-in-bits='64' id='type-id-38'/>
+    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-47'/>
+    <!-- typedef __pthread_internal_list __pthread_list_t -->
+    <typedef-decl name='__pthread_list_t' type-id='type-id-46' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='86' column='1' id='type-id-45'/>
+
+    <!-- char[40] -->
+    <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='320' id='type-id-42'>
+      <!-- <anonymous range>[40] -->
+      <subrange length='40' type-id='type-id-2' id='type-id-48'/>
+
+    </array-type-def>
+    <!-- long int -->
+    <type-decl name='long int' size-in-bits='64' id='type-id-43'/>
+    <!-- typedef __anonymous_union__ pthread_mutex_t -->
+    <typedef-decl name='pthread_mutex_t' type-id='type-id-40' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='72' column='1' id='type-id-39'/>
     <!-- call_rcu_data* -->
-    <pointer-type-def type-id='type-id-30' size-in-bits='64' id='type-id-39'/>
-    <!-- cds_list_head* -->
-    <pointer-type-def type-id='type-id-14' size-in-bits='64' id='type-id-16'/>
-    <!-- cds_wfcq_node* -->
-    <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-26'/>
-    <!-- const rcu_flavor_struct -->
-    <qualified-type-def type-id='type-id-17' const='yes' id='type-id-40'/>
-    <!-- int ()* -->
-    <pointer-type-def type-id='type-id-41' size-in-bits='64' id='type-id-19'/>
-    <!-- rcu_head* -->
-    <pointer-type-def type-id='type-id-23' size-in-bits='64' id='type-id-42'/>
-    <!-- urcu_atfork* -->
-    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-43'/>
-    <!-- void ()* -->
-    <pointer-type-def type-id='type-id-44' size-in-bits='64' id='type-id-18'/>
-    <!-- void (rcu_head*)* -->
-    <pointer-type-def type-id='type-id-45' size-in-bits='64' id='type-id-25'/>
-    <!-- void (rcu_head*, void (rcu_head*)*)* -->
-    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-20'/>
-    <!-- void (urcu_atfork*)* -->
-    <pointer-type-def type-id='type-id-47' size-in-bits='64' id='type-id-22'/>
-    <!-- void (void (void*)*, void*)* -->
-    <pointer-type-def type-id='type-id-48' size-in-bits='64' id='type-id-21'/>
-    <!-- void (void*)* -->
-    <pointer-type-def type-id='type-id-49' size-in-bits='64' id='type-id-28'/>
-    <!-- void* -->
-    <pointer-type-def type-id='type-id-9' size-in-bits='64' id='type-id-29'/>
-    <!-- rcu_gp_sig rcu_gp_sig -->
-    <var-decl name='rcu_gp_sig' type-id='type-id-10' mangled-name='rcu_gp_sig' visibility='default' filepath='../include/urcu/static/urcu.h' line='132' column='1' elf-symbol-id='rcu_gp_sig'/>
-    <!-- rcu_reader_sig rcu_reader_sig -->
-    <var-decl name='rcu_reader_sig' type-id='type-id-13' mangled-name='rcu_reader_sig' visibility='default' filepath='../include/urcu/static/urcu.h' line='145' column='1' elf-symbol-id='rcu_reader_sig'/>
-    <!-- const rcu_flavor_struct rcu_flavor_sig -->
-    <var-decl name='rcu_flavor_sig' type-id='type-id-40' mangled-name='rcu_flavor_sig' visibility='default' filepath='../src/urcu-flavor.h' line='79' column='1' elf-symbol-id='rcu_flavor_sig'/>
-    <!-- void rcu_defer_exit_sig() -->
-    <function-decl name='rcu_defer_exit_sig' mangled-name='rcu_defer_exit_sig' filepath='src/urcu-defer-impl.h' line='466' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_exit_sig'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void rcu_defer_unregister_thread_sig() -->
-    <function-decl name='rcu_defer_unregister_thread_sig' mangled-name='rcu_defer_unregister_thread_sig' filepath='src/urcu-defer-impl.h' line='448' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_unregister_thread_sig'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- int rcu_defer_register_thread_sig() -->
-    <function-decl name='rcu_defer_register_thread_sig' mangled-name='rcu_defer_register_thread_sig' filepath='src/urcu-defer-impl.h' line='426' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_register_thread_sig'>
-      <!-- int -->
-      <return type-id='type-id-5'/>
-    </function-decl>
-    <!-- void defer_rcu_sig(void (void*)*, void*) -->
-    <function-decl name='defer_rcu_sig' mangled-name='defer_rcu_sig' filepath='src/urcu-defer-impl.h' line='395' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='defer_rcu_sig'>
-      <!-- parameter of type 'void (void*)*' -->
-      <parameter type-id='type-id-28' name='fct' filepath='src/urcu-defer-impl.h' line='395' column='1'/>
-      <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='p' filepath='src/urcu-defer-impl.h' line='395' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void rcu_defer_barrier_sig() -->
-    <function-decl name='rcu_defer_barrier_sig' mangled-name='rcu_defer_barrier_sig' filepath='src/urcu-defer-impl.h' line='281' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_barrier_sig'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void rcu_defer_barrier_thread_sig() -->
-    <function-decl name='rcu_defer_barrier_thread_sig' mangled-name='rcu_defer_barrier_thread_sig' filepath='src/urcu-defer-impl.h' line='261' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_barrier_thread_sig'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_unregister_rculfhash_atfork_sig(urcu_atfork*) -->
-    <function-decl name='urcu_unregister_rculfhash_atfork_sig' mangled-name='urcu_unregister_rculfhash_atfork_sig' filepath='src/urcu-call-rcu-impl.h' line='1011' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_unregister_rculfhash_atfork_sig'>
-      <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-43' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1011' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_register_rculfhash_atfork_sig(urcu_atfork*) -->
-    <function-decl name='urcu_register_rculfhash_atfork_sig' mangled-name='urcu_register_rculfhash_atfork_sig' filepath='src/urcu-call-rcu-impl.h' line='1001' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_register_rculfhash_atfork_sig'>
-      <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-43' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1001' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void call_rcu_after_fork_child_sig() -->
-    <function-decl name='call_rcu_after_fork_child_sig' mangled-name='call_rcu_after_fork_child_sig' filepath='src/urcu-call-rcu-impl.h' line='959' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_after_fork_child_sig'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void call_rcu_after_fork_parent_sig() -->
-    <function-decl name='call_rcu_after_fork_parent_sig' mangled-name='call_rcu_after_fork_parent_sig' filepath='src/urcu-call-rcu-impl.h' line='937' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_after_fork_parent_sig'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void call_rcu_before_fork_sig() -->
-    <function-decl name='call_rcu_before_fork_sig' mangled-name='call_rcu_before_fork_sig' filepath='src/urcu-call-rcu-impl.h' line='910' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_before_fork_sig'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void rcu_barrier_sig() -->
-    <function-decl name='rcu_barrier_sig' mangled-name='rcu_barrier_sig' filepath='src/urcu-call-rcu-impl.h' line='839' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_barrier_sig'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void free_all_cpu_call_rcu_data_sig() -->
-    <function-decl name='free_all_cpu_call_rcu_data_sig' mangled-name='free_all_cpu_call_rcu_data_sig' filepath='src/urcu-call-rcu-impl.h' line='776' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='free_all_cpu_call_rcu_data_sig'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
+    <pointer-type-def type-id='type-id-36' size-in-bits='64' id='type-id-49'/>
     <!-- void call_rcu_data_free_sig(call_rcu_data*) -->
     <function-decl name='call_rcu_data_free_sig' mangled-name='call_rcu_data_free_sig' filepath='src/urcu-call-rcu-impl.h' line='744' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_data_free_sig'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='744' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='744' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void call_rcu_sig(rcu_head*, void (rcu_head*)*) -->
     <function-decl name='call_rcu_sig' mangled-name='call_rcu_sig' filepath='src/urcu-call-rcu-impl.h' line='706' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_sig'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42' name='head' filepath='src/urcu-call-rcu-impl.h' line='706' column='1'/>
+      <parameter type-id='type-id-25' name='head' filepath='src/urcu-call-rcu-impl.h' line='706' column='1'/>
       <!-- parameter of type 'void (rcu_head*)*' -->
-      <parameter type-id='type-id-25' name='func' filepath='src/urcu-call-rcu-impl.h' line='707' column='1'/>
+      <parameter type-id='type-id-23' name='func' filepath='src/urcu-call-rcu-impl.h' line='707' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- int create_all_cpu_call_rcu_data_sig(unsigned long int) -->
     <function-decl name='create_all_cpu_call_rcu_data_sig' mangled-name='create_all_cpu_call_rcu_data_sig' filepath='src/urcu-call-rcu-impl.h' line='628' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='create_all_cpu_call_rcu_data_sig'>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-3' name='flags' filepath='src/urcu-call-rcu-impl.h' line='628' column='1'/>
+      <parameter type-id='type-id-2' name='flags' filepath='src/urcu-call-rcu-impl.h' line='628' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-decl>
     <!-- void set_thread_call_rcu_data_sig(call_rcu_data*) -->
     <function-decl name='set_thread_call_rcu_data_sig' mangled-name='set_thread_call_rcu_data_sig' filepath='src/urcu-call-rcu-impl.h' line='615' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='set_thread_call_rcu_data_sig'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='615' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='615' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- call_rcu_data* get_thread_call_rcu_data_sig() -->
     <function-decl name='get_thread_call_rcu_data_sig' mangled-name='get_thread_call_rcu_data_sig' filepath='src/urcu-call-rcu-impl.h' line='599' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_thread_call_rcu_data_sig'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- call_rcu_data* get_call_rcu_data_sig() -->
     <function-decl name='get_call_rcu_data_sig' mangled-name='get_call_rcu_data_sig' filepath='src/urcu-call-rcu-impl.h' line='579' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_call_rcu_data_sig'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- call_rcu_data* get_default_call_rcu_data_sig() -->
     <function-decl name='get_default_call_rcu_data_sig' mangled-name='get_default_call_rcu_data_sig' filepath='src/urcu-call-rcu-impl.h' line='554' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_default_call_rcu_data_sig'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- int set_cpu_call_rcu_data_sig(int, call_rcu_data*) -->
     <function-decl name='set_cpu_call_rcu_data_sig' mangled-name='set_cpu_call_rcu_data_sig' filepath='src/urcu-call-rcu-impl.h' line='515' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='set_cpu_call_rcu_data_sig'>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='515' column='1'/>
+      <parameter type-id='type-id-4' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='515' column='1'/>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='515' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='515' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-decl>
     <!-- call_rcu_data* create_call_rcu_data_sig(unsigned long int, int) -->
     <function-decl name='create_call_rcu_data_sig' mangled-name='create_call_rcu_data_sig' filepath='src/urcu-call-rcu-impl.h' line='491' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='create_call_rcu_data_sig'>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-3' name='flags' filepath='src/urcu-call-rcu-impl.h' line='491' column='1'/>
+      <parameter type-id='type-id-2' name='flags' filepath='src/urcu-call-rcu-impl.h' line='491' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu_affinity' filepath='src/urcu-call-rcu-impl.h' line='492' column='1'/>
+      <parameter type-id='type-id-4' name='cpu_affinity' filepath='src/urcu-call-rcu-impl.h' line='492' column='1'/>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- pthread_t get_call_rcu_thread_sig(call_rcu_data*) -->
     <function-decl name='get_call_rcu_thread_sig' mangled-name='get_call_rcu_thread_sig' filepath='src/urcu-call-rcu-impl.h' line='473' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_call_rcu_thread_sig'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='473' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='473' column='1'/>
       <!-- typedef pthread_t -->
-      <return type-id='type-id-15'/>
+      <return type-id='type-id-9'/>
     </function-decl>
     <!-- call_rcu_data* get_cpu_call_rcu_data_sig(int) -->
     <function-decl name='get_cpu_call_rcu_data_sig' mangled-name='get_cpu_call_rcu_data_sig' filepath='src/urcu-call-rcu-impl.h' line='451' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_cpu_call_rcu_data_sig'>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='451' column='1'/>
+      <parameter type-id='type-id-4' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='451' column='1'/>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- void rcu_exit_sig() -->
     <function-decl name='rcu_exit_sig' mangled-name='rcu_exit_sig' filepath='src/urcu.c' line='604' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_exit_sig'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void rcu_init_sig() -->
     <function-decl name='rcu_init_sig' mangled-name='rcu_init_sig' filepath='src/urcu.c' line='587' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_init_sig'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void rcu_unregister_thread_sig() -->
     <function-decl name='rcu_unregister_thread_sig' mangled-name='rcu_unregister_thread_sig' filepath='src/urcu.c' line='527' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_unregister_thread_sig'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void rcu_register_thread_sig() -->
     <function-decl name='rcu_register_thread_sig' mangled-name='rcu_register_thread_sig' filepath='src/urcu.c' line='513' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_register_thread_sig'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- int rcu_read_ongoing_sig() -->
     <function-decl name='rcu_read_ongoing_sig' mangled-name='rcu_read_ongoing_sig' filepath='src/urcu.c' line='508' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_read_ongoing_sig'>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-decl>
     <!-- void rcu_read_unlock_sig() -->
     <function-decl name='rcu_read_unlock_sig' mangled-name='rcu_read_unlock_sig' filepath='src/urcu.c' line='503' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_read_unlock_sig'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void rcu_read_lock_sig() -->
     <function-decl name='rcu_read_lock_sig' mangled-name='rcu_read_lock_sig' filepath='src/urcu.c' line='498' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_read_lock_sig'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void synchronize_rcu_sig() -->
     <function-decl name='synchronize_rcu_sig' mangled-name='synchronize_rcu_sig' filepath='src/urcu.c' line='377' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='synchronize_rcu_sig'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- int () -->
-    <function-type size-in-bits='64' id='type-id-41'>
+    <function-type size-in-bits='64' id='type-id-20'>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-type>
     <!-- void () -->
-    <function-type size-in-bits='64' id='type-id-44'>
+    <function-type size-in-bits='64' id='type-id-19'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (rcu_head*) -->
-    <function-type size-in-bits='64' id='type-id-45'>
+    <function-type size-in-bits='64' id='type-id-26'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42'/>
+      <parameter type-id='type-id-25'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (rcu_head*, void (rcu_head*)*) -->
-    <function-type size-in-bits='64' id='type-id-46'>
+    <function-type size-in-bits='64' id='type-id-27'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42'/>
-      <!-- parameter of type 'void (rcu_head*)*' -->
       <parameter type-id='type-id-25'/>
+      <!-- parameter of type 'void (rcu_head*)*' -->
+      <parameter type-id='type-id-23'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (urcu_atfork*) -->
-    <function-type size-in-bits='64' id='type-id-47'>
+    <function-type size-in-bits='64' id='type-id-34'>
       <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-43'/>
+      <parameter type-id='type-id-33'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (void (void*)*, void*) -->
-    <function-type size-in-bits='64' id='type-id-48'>
+    <function-type size-in-bits='64' id='type-id-31'>
       <!-- parameter of type 'void (void*)*' -->
-      <parameter type-id='type-id-28'/>
+      <parameter type-id='type-id-30'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29'/>
+      <parameter type-id='type-id-28'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (void*) -->
-    <function-type size-in-bits='64' id='type-id-49'>
+    <function-type size-in-bits='64' id='type-id-29'>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29'/>
+      <parameter type-id='type-id-28'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='urcu-pointer.c' comp-dir-path='src' language='LANG_C99'>
     <!-- void** -->
-    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-50'/>
+    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-50'/>
     <!-- void* rcu_cmpxchg_pointer_sym(void**, void*, void*) -->
     <function-decl name='rcu_cmpxchg_pointer_sym' mangled-name='rcu_cmpxchg_pointer_sym' filepath='src/urcu-pointer.c' line='53' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_cmpxchg_pointer_sym'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='53' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='old' filepath='src/urcu-pointer.c' line='53' column='1'/>
+      <parameter type-id='type-id-28' name='old' filepath='src/urcu-pointer.c' line='53' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='_new' filepath='src/urcu-pointer.c' line='53' column='1'/>
+      <parameter type-id='type-id-28' name='_new' filepath='src/urcu-pointer.c' line='53' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-28'/>
     </function-decl>
     <!-- void* rcu_xchg_pointer_sym(void**, void*) -->
     <function-decl name='rcu_xchg_pointer_sym' mangled-name='rcu_xchg_pointer_sym' filepath='src/urcu-pointer.c' line='47' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_xchg_pointer_sym'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='47' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='v' filepath='src/urcu-pointer.c' line='47' column='1'/>
+      <parameter type-id='type-id-28' name='v' filepath='src/urcu-pointer.c' line='47' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-28'/>
     </function-decl>
     <!-- void* rcu_set_pointer_sym(void**, void*) -->
     <function-decl name='rcu_set_pointer_sym' mangled-name='rcu_set_pointer_sym' filepath='src/urcu-pointer.c' line='40' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_set_pointer_sym'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='40' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='v' filepath='src/urcu-pointer.c' line='40' column='1'/>
+      <parameter type-id='type-id-28' name='v' filepath='src/urcu-pointer.c' line='40' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-28'/>
     </function-decl>
     <!-- void* rcu_dereference_sym(void*) -->
     <function-decl name='rcu_dereference_sym' mangled-name='rcu_dereference_sym' filepath='src/urcu-pointer.c' line='35' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_dereference_sym'>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='p' filepath='src/urcu-pointer.c' line='35' column='1'/>
+      <parameter type-id='type-id-28' name='p' filepath='src/urcu-pointer.c' line='35' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-28'/>
     </function-decl>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='compat_futex.c' comp-dir-path='src' language='LANG_C99'>
-
-
-    <!-- char[48] -->
-    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='384' id='type-id-51'>
-      <!-- <anonymous range>[48] -->
-      <subrange length='48' type-id='type-id-3' id='type-id-52'/>
-
-    </array-type-def>
-    <!-- long long int -->
-    <type-decl name='long long int' size-in-bits='64' id='type-id-53'/>
-    <!-- long long unsigned int -->
-    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-54'/>
-    <!-- unsigned int[2] -->
-    <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='64' id='type-id-55'>
-      <!-- <anonymous range>[2] -->
-      <subrange length='2' type-id='type-id-3' id='type-id-56'/>
-
-    </array-type-def>
-    <!-- typedef __anonymous_union__ pthread_cond_t -->
-    <typedef-decl name='pthread_cond_t' type-id='type-id-57' filepath='/usr/include/bits/pthreadtypes.h' line='80' column='1' id='type-id-58'/>
-    <!-- union {__pthread_cond_s __data; char __size[48]; long long int __align;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='75' column='1' id='type-id-57'>
+    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
+    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-39' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='75' column='1' id='type-id-51'>
       <data-member access='private'>
-        <!-- __pthread_cond_s __data -->
-        <var-decl name='__data' type-id='type-id-59' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='77' column='1'/>
+        <!-- __pthread_cond_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-52' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='77' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- char __size[48] -->
-        <var-decl name='__size' type-id='type-id-51' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='78' column='1'/>
+        <!-- char __anonymous_union__::__size[48] -->
+        <var-decl name='__size' type-id='type-id-53' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='78' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- long long int __align -->
-        <var-decl name='__align' type-id='type-id-53' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='79' column='1'/>
+        <!-- long long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-54' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='79' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __pthread_cond_s -->
-    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='92' column='1' id='type-id-59'>
+    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='171' column='1' id='type-id-52'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <!-- union {long long unsigned int __wseq; struct {unsigned int __low; unsigned int __high;} __wseq32;} -->
-        <var-decl name='' type-id='type-id-60' visibility='default'/>
+        <!-- __anonymous_union__  -->
+        <var-decl name='' type-id='type-id-55' visibility='default'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- unsigned int __pthread_cond_s::__g_refs[2] -->
-        <var-decl name='__g_refs' type-id='type-id-55' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='112' column='1'/>
+        <var-decl name='__g_refs' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='191' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- unsigned int __pthread_cond_s::__g_size[2] -->
-        <var-decl name='__g_size' type-id='type-id-55' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='113' column='1'/>
+        <var-decl name='__g_size' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='192' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- unsigned int __pthread_cond_s::__g1_orig_size -->
-        <var-decl name='__g1_orig_size' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='114' column='1'/>
+        <var-decl name='__g1_orig_size' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='193' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='288'>
         <!-- unsigned int __pthread_cond_s::__wrefs -->
-        <var-decl name='__wrefs' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='115' column='1'/>
+        <var-decl name='__wrefs' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='194' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
         <!-- unsigned int __pthread_cond_s::__g_signals[2] -->
-        <var-decl name='__g_signals' type-id='type-id-55' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='116' column='1'/>
+        <var-decl name='__g_signals' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='195' column='1'/>
       </data-member>
     </class-decl>
-    <!-- union {long long unsigned int __wseq; struct {unsigned int __low; unsigned int __high;} __wseq32;} -->
-    <union-decl name='__anonymous_union__1' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='94' column='1' id='type-id-60'>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='173' column='1' id='type-id-55'>
       <data-member access='private'>
-        <!-- long long unsigned int __wseq -->
-        <var-decl name='__wseq' type-id='type-id-54' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='96' column='1'/>
+        <!-- long long unsigned int __anonymous_union__::__wseq -->
+        <var-decl name='__wseq' type-id='type-id-57' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='175' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- struct {unsigned int __low; unsigned int __high;} __wseq32 -->
-        <var-decl name='__wseq32' type-id='type-id-61' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='101' column='1'/>
+        <!-- __anonymous_struct__ __anonymous_union__::__wseq32 -->
+        <var-decl name='__wseq32' type-id='type-id-58' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='180' column='1'/>
       </data-member>
     </union-decl>
-    <!-- struct {unsigned int __low; unsigned int __high;} -->
-    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='97' column='1' id='type-id-61'>
+    <!-- long long unsigned int -->
+    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-57'/>
+    <!-- struct __anonymous_struct__ -->
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='176' column='1' id='type-id-58'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <!-- unsigned int __low -->
-        <var-decl name='__low' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='99' column='1'/>
+        <!-- unsigned int __anonymous_struct__::__low -->
+        <var-decl name='__low' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='178' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='32'>
-        <!-- unsigned int __high -->
-        <var-decl name='__high' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='100' column='1'/>
+        <!-- unsigned int __anonymous_struct__::__high -->
+        <var-decl name='__high' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='179' column='1'/>
       </data-member>
     </class-decl>
+
+    <!-- unsigned int[2] -->
+    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='64' id='type-id-56'>
+      <!-- <anonymous range>[2] -->
+      <subrange length='2' type-id='type-id-2' id='type-id-59'/>
+
+    </array-type-def>
+
+    <!-- char[48] -->
+    <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='384' id='type-id-53'>
+      <!-- <anonymous range>[48] -->
+      <subrange length='48' type-id='type-id-2' id='type-id-60'/>
+
+    </array-type-def>
+    <!-- long long int -->
+    <type-decl name='long long int' size-in-bits='64' id='type-id-54'/>
+    <!-- typedef __anonymous_union__ pthread_cond_t -->
+    <typedef-decl name='pthread_cond_t' type-id='type-id-51' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='80' column='1' id='type-id-61'/>
+    <!-- pthread_cond_t __urcu_compat_futex_cond -->
+    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-61' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
+    <!-- int32_t* -->
+    <pointer-type-def type-id='type-id-3' size-in-bits='64' id='type-id-62'/>
     <!-- struct timespec -->
-    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='10' column='1' id='type-id-62'>
+    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='9' column='1' id='type-id-63'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- __time_t timespec::tv_sec -->
-        <var-decl name='tv_sec' type-id='type-id-63' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='12' column='1'/>
+        <var-decl name='tv_sec' type-id='type-id-64' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='11' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- __syscall_slong_t timespec::tv_nsec -->
-        <var-decl name='tv_nsec' type-id='type-id-64' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='16' column='1'/>
+        <var-decl name='tv_nsec' type-id='type-id-65' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='12' column='1'/>
       </data-member>
     </class-decl>
     <!-- typedef long int __time_t -->
-    <typedef-decl name='__time_t' type-id='type-id-6' filepath='/usr/include/bits/types.h' line='160' column='1' id='type-id-63'/>
+    <typedef-decl name='__time_t' type-id='type-id-43' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='148' column='1' id='type-id-64'/>
     <!-- typedef long int __syscall_slong_t -->
-    <typedef-decl name='__syscall_slong_t' type-id='type-id-6' filepath='/usr/include/bits/types.h' line='197' column='1' id='type-id-64'/>
+    <typedef-decl name='__syscall_slong_t' type-id='type-id-43' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='184' column='1' id='type-id-65'/>
     <!-- const timespec -->
-    <qualified-type-def type-id='type-id-62' const='yes' id='type-id-65'/>
+    <qualified-type-def type-id='type-id-63' const='yes' id='type-id-66'/>
     <!-- const timespec* -->
-    <pointer-type-def type-id='type-id-65' size-in-bits='64' id='type-id-66'/>
-    <!-- int32_t* -->
-    <pointer-type-def type-id='type-id-11' size-in-bits='64' id='type-id-67'/>
-    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
-    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-33' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
-    <!-- pthread_cond_t __urcu_compat_futex_cond -->
-    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-58' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
+    <pointer-type-def type-id='type-id-66' size-in-bits='64' id='type-id-67'/>
     <!-- int compat_futex_async(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
     <function-decl name='compat_futex_async' mangled-name='compat_futex_async' filepath='src/compat_futex.c' line='118' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_async'>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-4' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-3' name='val' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'const timespec*' -->
-      <parameter type-id='type-id-66' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-67' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val3' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-3' name='val3' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-decl>
     <!-- int compat_futex_noasync(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
     <function-decl name='compat_futex_noasync' mangled-name='compat_futex_noasync' filepath='src/compat_futex.c' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_noasync'>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-4' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-3' name='val' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'const timespec*' -->
-      <parameter type-id='type-id-66' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-67' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val3' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-3' name='val3' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-decl>
   </abi-instr>
 </abi-corpus>
index 562d4d20bccac3af01cc67b9518dc1ea4f8c4395..190cc371c9af3736f8a8d38fd06722f98d3488c8 100644 (file)
@@ -1,11 +1,14 @@
 <abi-corpus architecture='elf-amd-x86_64' soname='liburcu.so.6'>
   <elf-needed>
-    <dependency name='liburcu-common.so.6'/>
     <dependency name='libpthread.so.0'/>
     <dependency name='libc.so.6'/>
     <dependency name='ld-linux-x86-64.so.2'/>
   </elf-needed>
   <elf-function-symbols>
+    <!-- _fini -->
+    <elf-symbol name='_fini' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- _init -->
+    <elf-symbol name='_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- call_rcu_after_fork_child_memb -->
     <elf-symbol name='call_rcu_after_fork_child_memb' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- call_rcu_after_fork_parent_memb -->
     <elf-symbol name='rcu_reader_memb' size='256' type='tls-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
   </elf-variable-symbols>
   <abi-instr version='1.0' address-size='64' path='urcu.c' comp-dir-path='src' language='LANG_C99'>
-
-    <!-- char -->
-    <type-decl name='char' size-in-bits='8' id='type-id-1'/>
-    <!-- char[40] -->
-    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='320' id='type-id-2'>
-      <!-- <anonymous range>[40] -->
-      <subrange length='40' type-id='type-id-3' id='type-id-4'/>
-
-    </array-type-def>
     <!-- int -->
-    <type-decl name='int' size-in-bits='32' id='type-id-5'/>
-    <!-- long int -->
-    <type-decl name='long int' size-in-bits='64' id='type-id-6'/>
-    <!-- short int -->
-    <type-decl name='short int' size-in-bits='16' id='type-id-7'/>
-    <!-- unsigned int -->
-    <type-decl name='unsigned int' size-in-bits='32' id='type-id-8'/>
-    <!-- unsigned long int -->
-    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-3'/>
-    <!-- void -->
-    <type-decl name='void' id='type-id-9'/>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <!-- int rcu_has_sys_membarrier_memb -->
+    <var-decl name='rcu_has_sys_membarrier_memb' type-id='type-id-1' mangled-name='rcu_has_sys_membarrier_memb' visibility='default' filepath='../include/urcu/static/urcu.h' line='84' column='1' elf-symbol-id='rcu_has_sys_membarrier_memb'/>
     <!-- struct rcu_gp_memb -->
-    <class-decl name='rcu_gp_memb' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu.h' line='119' column='1' id='type-id-10'>
+    <class-decl name='rcu_gp_memb' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu.h' line='119' column='1' id='type-id-2'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned long int rcu_gp_memb::ctr -->
         <var-decl name='ctr' type-id='type-id-3' visibility='default' filepath='../include/urcu/static/urcu.h' line='127' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- int32_t rcu_gp_memb::futex -->
-        <var-decl name='futex' type-id='type-id-11' visibility='default' filepath='../include/urcu/static/urcu.h' line='129' column='1'/>
+        <var-decl name='futex' type-id='type-id-4' visibility='default' filepath='../include/urcu/static/urcu.h' line='129' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __int32_t int32_t -->
-    <typedef-decl name='int32_t' type-id='type-id-12' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-11'/>
+    <!-- unsigned long int -->
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-3'/>
     <!-- typedef int __int32_t -->
-    <typedef-decl name='__int32_t' type-id='type-id-5' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-12'/>
+    <typedef-decl name='__int32_t' type-id='type-id-1' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='40' column='1' id='type-id-5'/>
+    <!-- typedef __int32_t int32_t -->
+    <typedef-decl name='int32_t' type-id='type-id-5' filepath='/usr/include/x86_64-linux-gnu/bits/stdint-intn.h' line='26' column='1' id='type-id-4'/>
+    <!-- rcu_gp_memb rcu_gp_memb -->
+    <var-decl name='rcu_gp_memb' type-id='type-id-2' mangled-name='rcu_gp_memb' visibility='default' filepath='../include/urcu/static/urcu.h' line='132' column='1' elf-symbol-id='rcu_gp_memb'/>
     <!-- struct rcu_reader_memb -->
-    <class-decl name='rcu_reader_memb' size-in-bits='2048' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu.h' line='134' column='1' id='type-id-13'>
+    <class-decl name='rcu_reader_memb' size-in-bits='2048' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu.h' line='134' column='1' id='type-id-6'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned long int rcu_reader_memb::ctr -->
         <var-decl name='ctr' type-id='type-id-3' visibility='default' filepath='../include/urcu/static/urcu.h' line='136' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- char rcu_reader_memb::need_mb -->
-        <var-decl name='need_mb' type-id='type-id-1' visibility='default' filepath='../include/urcu/static/urcu.h' line='137' column='1'/>
+        <var-decl name='need_mb' type-id='type-id-7' visibility='default' filepath='../include/urcu/static/urcu.h' line='137' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1024'>
         <!-- cds_list_head rcu_reader_memb::node -->
-        <var-decl name='node' type-id='type-id-14' visibility='default' filepath='../include/urcu/static/urcu.h' line='139' column='1'/>
+        <var-decl name='node' type-id='type-id-8' visibility='default' filepath='../include/urcu/static/urcu.h' line='139' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1152'>
         <!-- pthread_t rcu_reader_memb::tid -->
-        <var-decl name='tid' type-id='type-id-15' visibility='default' filepath='../include/urcu/static/urcu.h' line='140' column='1'/>
+        <var-decl name='tid' type-id='type-id-9' visibility='default' filepath='../include/urcu/static/urcu.h' line='140' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='31'>
         <!-- unsigned int rcu_reader_memb::registered -->
-        <var-decl name='registered' type-id='type-id-8' visibility='default' filepath='../include/urcu/static/urcu.h' line='142' column='1'/>
+        <var-decl name='registered' type-id='type-id-10' visibility='default' filepath='../include/urcu/static/urcu.h' line='142' column='1'/>
       </data-member>
     </class-decl>
+    <!-- char -->
+    <type-decl name='char' size-in-bits='8' id='type-id-7'/>
     <!-- struct cds_list_head -->
-    <class-decl name='cds_list_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/list.h' line='35' column='1' id='type-id-14'>
+    <class-decl name='cds_list_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/list.h' line='35' column='1' id='type-id-8'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_list_head* cds_list_head::next -->
-        <var-decl name='next' type-id='type-id-16' visibility='default' filepath='../include/urcu/list.h' line='36' column='1'/>
+        <var-decl name='next' type-id='type-id-11' visibility='default' filepath='../include/urcu/list.h' line='36' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- cds_list_head* cds_list_head::prev -->
-        <var-decl name='prev' type-id='type-id-16' visibility='default' filepath='../include/urcu/list.h' line='36' column='1'/>
+        <var-decl name='prev' type-id='type-id-11' visibility='default' filepath='../include/urcu/list.h' line='36' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_list_head* -->
+    <pointer-type-def type-id='type-id-8' size-in-bits='64' id='type-id-11'/>
     <!-- typedef unsigned long int pthread_t -->
-    <typedef-decl name='pthread_t' type-id='type-id-3' filepath='/usr/include/bits/pthreadtypes.h' line='27' column='1' id='type-id-15'/>
+    <typedef-decl name='pthread_t' type-id='type-id-3' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='27' column='1' id='type-id-9'/>
+    <!-- unsigned int -->
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-10'/>
+    <!-- rcu_reader_memb rcu_reader_memb -->
+    <var-decl name='rcu_reader_memb' type-id='type-id-6' mangled-name='rcu_reader_memb' visibility='default' filepath='../include/urcu/static/urcu.h' line='145' column='1' elf-symbol-id='rcu_reader_memb'/>
     <!-- struct rcu_flavor_struct -->
-    <class-decl name='rcu_flavor_struct' size-in-bits='896' is-struct='yes' visibility='default' filepath='../src/urcu-flavor.h' line='40' column='1' id='type-id-17'>
+    <class-decl name='rcu_flavor_struct' size-in-bits='896' is-struct='yes' visibility='default' filepath='../src/urcu-flavor.h' line='40' column='1' id='type-id-12'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- void ()* rcu_flavor_struct::read_lock -->
-        <var-decl name='read_lock' type-id='type-id-18' visibility='default' filepath='../src/urcu-flavor.h' line='41' column='1'/>
+        <var-decl name='read_lock' type-id='type-id-13' visibility='default' filepath='../src/urcu-flavor.h' line='41' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void ()* rcu_flavor_struct::read_unlock -->
-        <var-decl name='read_unlock' type-id='type-id-18' visibility='default' filepath='../src/urcu-flavor.h' line='42' column='1'/>
+        <var-decl name='read_unlock' type-id='type-id-13' visibility='default' filepath='../src/urcu-flavor.h' line='42' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- int ()* rcu_flavor_struct::read_ongoing -->
-        <var-decl name='read_ongoing' type-id='type-id-19' visibility='default' filepath='../src/urcu-flavor.h' line='43' column='1'/>
+        <var-decl name='read_ongoing' type-id='type-id-14' visibility='default' filepath='../src/urcu-flavor.h' line='43' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- void ()* rcu_flavor_struct::read_quiescent_state -->
-        <var-decl name='read_quiescent_state' type-id='type-id-18' visibility='default' filepath='../src/urcu-flavor.h' line='44' column='1'/>
+        <var-decl name='read_quiescent_state' type-id='type-id-13' visibility='default' filepath='../src/urcu-flavor.h' line='44' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- void (rcu_head*, void (rcu_head*)*)* rcu_flavor_struct::update_call_rcu -->
-        <var-decl name='update_call_rcu' type-id='type-id-20' visibility='default' filepath='../src/urcu-flavor.h' line='45' column='1'/>
+        <var-decl name='update_call_rcu' type-id='type-id-15' visibility='default' filepath='../src/urcu-flavor.h' line='45' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
         <!-- void ()* rcu_flavor_struct::update_synchronize_rcu -->
-        <var-decl name='update_synchronize_rcu' type-id='type-id-18' visibility='default' filepath='../src/urcu-flavor.h' line='47' column='1'/>
+        <var-decl name='update_synchronize_rcu' type-id='type-id-13' visibility='default' filepath='../src/urcu-flavor.h' line='47' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='384'>
         <!-- void (void (void*)*, void*)* rcu_flavor_struct::update_defer_rcu -->
-        <var-decl name='update_defer_rcu' type-id='type-id-21' visibility='default' filepath='../src/urcu-flavor.h' line='48' column='1'/>
+        <var-decl name='update_defer_rcu' type-id='type-id-16' visibility='default' filepath='../src/urcu-flavor.h' line='48' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='448'>
         <!-- void ()* rcu_flavor_struct::thread_offline -->
-        <var-decl name='thread_offline' type-id='type-id-18' visibility='default' filepath='../src/urcu-flavor.h' line='50' column='1'/>
+        <var-decl name='thread_offline' type-id='type-id-13' visibility='default' filepath='../src/urcu-flavor.h' line='50' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='512'>
         <!-- void ()* rcu_flavor_struct::thread_online -->
-        <var-decl name='thread_online' type-id='type-id-18' visibility='default' filepath='../src/urcu-flavor.h' line='51' column='1'/>
+        <var-decl name='thread_online' type-id='type-id-13' visibility='default' filepath='../src/urcu-flavor.h' line='51' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='576'>
         <!-- void ()* rcu_flavor_struct::register_thread -->
-        <var-decl name='register_thread' type-id='type-id-18' visibility='default' filepath='../src/urcu-flavor.h' line='52' column='1'/>
+        <var-decl name='register_thread' type-id='type-id-13' visibility='default' filepath='../src/urcu-flavor.h' line='52' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='640'>
         <!-- void ()* rcu_flavor_struct::unregister_thread -->
-        <var-decl name='unregister_thread' type-id='type-id-18' visibility='default' filepath='../src/urcu-flavor.h' line='53' column='1'/>
+        <var-decl name='unregister_thread' type-id='type-id-13' visibility='default' filepath='../src/urcu-flavor.h' line='53' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='704'>
         <!-- void ()* rcu_flavor_struct::barrier -->
-        <var-decl name='barrier' type-id='type-id-18' visibility='default' filepath='../src/urcu-flavor.h' line='55' column='1'/>
+        <var-decl name='barrier' type-id='type-id-13' visibility='default' filepath='../src/urcu-flavor.h' line='55' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='768'>
         <!-- void (urcu_atfork*)* rcu_flavor_struct::register_rculfhash_atfork -->
-        <var-decl name='register_rculfhash_atfork' type-id='type-id-22' visibility='default' filepath='../src/urcu-flavor.h' line='57' column='1'/>
+        <var-decl name='register_rculfhash_atfork' type-id='type-id-17' visibility='default' filepath='../src/urcu-flavor.h' line='57' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='832'>
         <!-- void (urcu_atfork*)* rcu_flavor_struct::unregister_rculfhash_atfork -->
-        <var-decl name='unregister_rculfhash_atfork' type-id='type-id-22' visibility='default' filepath='../src/urcu-flavor.h' line='58' column='1'/>
+        <var-decl name='unregister_rculfhash_atfork' type-id='type-id-17' visibility='default' filepath='../src/urcu-flavor.h' line='58' column='1'/>
       </data-member>
     </class-decl>
+    <!-- void -->
+    <type-decl name='void' id='type-id-18'/>
+    <!-- void ()* -->
+    <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-13'/>
+    <!-- int ()* -->
+    <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-14'/>
     <!-- struct rcu_head -->
-    <class-decl name='rcu_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../src/urcu-call-rcu.h' line='59' column='1' id='type-id-23'>
+    <class-decl name='rcu_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../src/urcu-call-rcu.h' line='59' column='1' id='type-id-21'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node rcu_head::next -->
-        <var-decl name='next' type-id='type-id-24' visibility='default' filepath='../src/urcu-call-rcu.h' line='60' column='1'/>
+        <var-decl name='next' type-id='type-id-22' visibility='default' filepath='../src/urcu-call-rcu.h' line='60' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void (rcu_head*)* rcu_head::func -->
-        <var-decl name='func' type-id='type-id-25' visibility='default' filepath='../src/urcu-call-rcu.h' line='61' column='1'/>
+        <var-decl name='func' type-id='type-id-23' visibility='default' filepath='../src/urcu-call-rcu.h' line='61' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_node -->
-    <class-decl name='cds_wfcq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='59' column='1' id='type-id-24'>
+    <class-decl name='cds_wfcq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='59' column='1' id='type-id-22'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node* cds_wfcq_node::next -->
-        <var-decl name='next' type-id='type-id-26' visibility='default' filepath='../include/urcu/wfcqueue.h' line='60' column='1'/>
+        <var-decl name='next' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='60' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_wfcq_node* -->
+    <pointer-type-def type-id='type-id-22' size-in-bits='64' id='type-id-24'/>
+    <!-- rcu_head* -->
+    <pointer-type-def type-id='type-id-21' size-in-bits='64' id='type-id-25'/>
+    <!-- void (rcu_head*)* -->
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-23'/>
+    <!-- void (rcu_head*, void (rcu_head*)*)* -->
+    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-15'/>
+    <!-- void* -->
+    <pointer-type-def type-id='type-id-18' size-in-bits='64' id='type-id-28'/>
+    <!-- void (void*)* -->
+    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-30'/>
+    <!-- void (void (void*)*, void*)* -->
+    <pointer-type-def type-id='type-id-31' size-in-bits='64' id='type-id-16'/>
     <!-- struct urcu_atfork -->
-    <class-decl name='urcu_atfork' size-in-bits='256' is-struct='yes' visibility='default' filepath='../src/urcu-flavor.h' line='30' column='1' id='type-id-27'>
+    <class-decl name='urcu_atfork' size-in-bits='256' is-struct='yes' visibility='default' filepath='../src/urcu-flavor.h' line='30' column='1' id='type-id-32'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- void (void*)* urcu_atfork::before_fork -->
-        <var-decl name='before_fork' type-id='type-id-28' visibility='default' filepath='../src/urcu-flavor.h' line='31' column='1'/>
+        <var-decl name='before_fork' type-id='type-id-30' visibility='default' filepath='../src/urcu-flavor.h' line='31' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void (void*)* urcu_atfork::after_fork_parent -->
-        <var-decl name='after_fork_parent' type-id='type-id-28' visibility='default' filepath='../src/urcu-flavor.h' line='32' column='1'/>
+        <var-decl name='after_fork_parent' type-id='type-id-30' visibility='default' filepath='../src/urcu-flavor.h' line='32' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- void (void*)* urcu_atfork::after_fork_child -->
-        <var-decl name='after_fork_child' type-id='type-id-28' visibility='default' filepath='../src/urcu-flavor.h' line='33' column='1'/>
+        <var-decl name='after_fork_child' type-id='type-id-30' visibility='default' filepath='../src/urcu-flavor.h' line='33' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- void* urcu_atfork::priv -->
-        <var-decl name='priv' type-id='type-id-29' visibility='default' filepath='../src/urcu-flavor.h' line='34' column='1'/>
+        <var-decl name='priv' type-id='type-id-28' visibility='default' filepath='../src/urcu-flavor.h' line='34' column='1'/>
       </data-member>
     </class-decl>
+    <!-- urcu_atfork* -->
+    <pointer-type-def type-id='type-id-32' size-in-bits='64' id='type-id-33'/>
+    <!-- void (urcu_atfork*)* -->
+    <pointer-type-def type-id='type-id-34' size-in-bits='64' id='type-id-17'/>
+    <!-- const rcu_flavor_struct -->
+    <qualified-type-def type-id='type-id-12' const='yes' id='type-id-35'/>
+    <!-- const rcu_flavor_struct rcu_flavor_memb -->
+    <var-decl name='rcu_flavor_memb' type-id='type-id-35' mangled-name='rcu_flavor_memb' visibility='default' filepath='../src/urcu-flavor.h' line='79' column='1' elf-symbol-id='rcu_flavor_memb'/>
+    <!-- void rcu_defer_exit_memb() -->
+    <function-decl name='rcu_defer_exit_memb' mangled-name='rcu_defer_exit_memb' filepath='src/urcu-defer-impl.h' line='466' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_exit_memb'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void rcu_defer_unregister_thread_memb() -->
+    <function-decl name='rcu_defer_unregister_thread_memb' mangled-name='rcu_defer_unregister_thread_memb' filepath='src/urcu-defer-impl.h' line='448' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_unregister_thread_memb'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- int rcu_defer_register_thread_memb() -->
+    <function-decl name='rcu_defer_register_thread_memb' mangled-name='rcu_defer_register_thread_memb' filepath='src/urcu-defer-impl.h' line='426' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_register_thread_memb'>
+      <!-- int -->
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <!-- void defer_rcu_memb(void (void*)*, void*) -->
+    <function-decl name='defer_rcu_memb' mangled-name='defer_rcu_memb' filepath='src/urcu-defer-impl.h' line='395' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='defer_rcu_memb'>
+      <!-- parameter of type 'void (void*)*' -->
+      <parameter type-id='type-id-30' name='fct' filepath='src/urcu-defer-impl.h' line='395' column='1'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-28' name='p' filepath='src/urcu-defer-impl.h' line='395' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void rcu_defer_barrier_memb() -->
+    <function-decl name='rcu_defer_barrier_memb' mangled-name='rcu_defer_barrier_memb' filepath='src/urcu-defer-impl.h' line='281' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_barrier_memb'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void rcu_defer_barrier_thread_memb() -->
+    <function-decl name='rcu_defer_barrier_thread_memb' mangled-name='rcu_defer_barrier_thread_memb' filepath='src/urcu-defer-impl.h' line='261' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_barrier_thread_memb'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_unregister_rculfhash_atfork_memb(urcu_atfork*) -->
+    <function-decl name='urcu_unregister_rculfhash_atfork_memb' mangled-name='urcu_unregister_rculfhash_atfork_memb' filepath='src/urcu-call-rcu-impl.h' line='1011' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_unregister_rculfhash_atfork_memb'>
+      <!-- parameter of type 'urcu_atfork*' -->
+      <parameter type-id='type-id-33' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1011' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_register_rculfhash_atfork_memb(urcu_atfork*) -->
+    <function-decl name='urcu_register_rculfhash_atfork_memb' mangled-name='urcu_register_rculfhash_atfork_memb' filepath='src/urcu-call-rcu-impl.h' line='1001' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_register_rculfhash_atfork_memb'>
+      <!-- parameter of type 'urcu_atfork*' -->
+      <parameter type-id='type-id-33' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1011' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void call_rcu_after_fork_child_memb() -->
+    <function-decl name='call_rcu_after_fork_child_memb' mangled-name='call_rcu_after_fork_child_memb' filepath='src/urcu-call-rcu-impl.h' line='959' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_after_fork_child_memb'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void call_rcu_after_fork_parent_memb() -->
+    <function-decl name='call_rcu_after_fork_parent_memb' mangled-name='call_rcu_after_fork_parent_memb' filepath='src/urcu-call-rcu-impl.h' line='937' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_after_fork_parent_memb'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void call_rcu_before_fork_memb() -->
+    <function-decl name='call_rcu_before_fork_memb' mangled-name='call_rcu_before_fork_memb' filepath='src/urcu-call-rcu-impl.h' line='910' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_before_fork_memb'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void rcu_barrier_memb() -->
+    <function-decl name='rcu_barrier_memb' mangled-name='rcu_barrier_memb' filepath='src/urcu-call-rcu-impl.h' line='839' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_barrier_memb'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void free_all_cpu_call_rcu_data_memb() -->
+    <function-decl name='free_all_cpu_call_rcu_data_memb' mangled-name='free_all_cpu_call_rcu_data_memb' filepath='src/urcu-call-rcu-impl.h' line='776' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='free_all_cpu_call_rcu_data_memb'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
     <!-- struct call_rcu_data -->
-    <class-decl name='call_rcu_data' size-in-bits='1024' is-struct='yes' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='52' column='1' id='type-id-30'>
+    <class-decl name='call_rcu_data' size-in-bits='1024' is-struct='yes' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='52' column='1' id='type-id-36'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_tail call_rcu_data::cbs_tail -->
-        <var-decl name='cbs_tail' type-id='type-id-31' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='60' column='1'/>
+        <var-decl name='cbs_tail' type-id='type-id-37' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='60' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- cds_wfcq_head call_rcu_data::cbs_head -->
-        <var-decl name='cbs_head' type-id='type-id-32' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='61' column='1'/>
+        <var-decl name='cbs_head' type-id='type-id-38' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='61' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='448'>
         <!-- unsigned long int call_rcu_data::flags -->
       </data-member>
       <data-member access='public' layout-offset-in-bits='512'>
         <!-- int32_t call_rcu_data::futex -->
-        <var-decl name='futex' type-id='type-id-11' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='63' column='1'/>
+        <var-decl name='futex' type-id='type-id-4' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='63' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='576'>
         <!-- unsigned long int call_rcu_data::qlen -->
       </data-member>
       <data-member access='public' layout-offset-in-bits='640'>
         <!-- pthread_t call_rcu_data::tid -->
-        <var-decl name='tid' type-id='type-id-15' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='65' column='1'/>
+        <var-decl name='tid' type-id='type-id-9' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='65' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='704'>
         <!-- int call_rcu_data::cpu_affinity -->
-        <var-decl name='cpu_affinity' type-id='type-id-5' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='66' column='1'/>
+        <var-decl name='cpu_affinity' type-id='type-id-1' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='66' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='768'>
         <!-- unsigned long int call_rcu_data::gp_count -->
       </data-member>
       <data-member access='public' layout-offset-in-bits='832'>
         <!-- cds_list_head call_rcu_data::list -->
-        <var-decl name='list' type-id='type-id-14' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='68' column='1'/>
+        <var-decl name='list' type-id='type-id-8' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='68' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_tail -->
-    <class-decl name='cds_wfcq_tail' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='127' column='1' id='type-id-31'>
+    <class-decl name='cds_wfcq_tail' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='127' column='1' id='type-id-37'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node* cds_wfcq_tail::p -->
-        <var-decl name='p' type-id='type-id-26' visibility='default' filepath='../include/urcu/wfcqueue.h' line='128' column='1'/>
+        <var-decl name='p' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='128' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_head -->
-    <class-decl name='cds_wfcq_head' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='72' column='1' id='type-id-32'>
+    <class-decl name='cds_wfcq_head' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='72' column='1' id='type-id-38'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node cds_wfcq_head::node -->
-        <var-decl name='node' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='73' column='1'/>
+        <var-decl name='node' type-id='type-id-22' visibility='default' filepath='../include/urcu/wfcqueue.h' line='73' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- pthread_mutex_t cds_wfcq_head::lock -->
-        <var-decl name='lock' type-id='type-id-33' visibility='default' filepath='../include/urcu/wfcqueue.h' line='74' column='1'/>
+        <var-decl name='lock' type-id='type-id-39' visibility='default' filepath='../include/urcu/wfcqueue.h' line='74' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __anonymous_union__ pthread_mutex_t -->
-    <typedef-decl name='pthread_mutex_t' type-id='type-id-34' filepath='/usr/include/bits/pthreadtypes.h' line='72' column='1' id='type-id-33'/>
-    <!-- union {__pthread_mutex_s __data; char __size[40]; long int __align;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='67' column='1' id='type-id-34'>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='67' column='1' id='type-id-40'>
       <data-member access='private'>
-        <!-- __pthread_mutex_s __data -->
-        <var-decl name='__data' type-id='type-id-35' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='69' column='1'/>
+        <!-- __pthread_mutex_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-41' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='69' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- char __size[40] -->
-        <var-decl name='__size' type-id='type-id-2' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='70' column='1'/>
+        <!-- char __anonymous_union__::__size[40] -->
+        <var-decl name='__size' type-id='type-id-42' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='70' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- long int __align -->
-        <var-decl name='__align' type-id='type-id-6' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='71' column='1'/>
+        <!-- long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-43' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='71' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __pthread_mutex_s -->
-    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='22' column='1' id='type-id-35'>
+    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='118' column='1' id='type-id-41'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- int __pthread_mutex_s::__lock -->
-        <var-decl name='__lock' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='24' column='1'/>
+        <var-decl name='__lock' type-id='type-id-1' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='120' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='32'>
         <!-- unsigned int __pthread_mutex_s::__count -->
-        <var-decl name='__count' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='25' column='1'/>
+        <var-decl name='__count' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='121' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- int __pthread_mutex_s::__owner -->
-        <var-decl name='__owner' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='26' column='1'/>
+        <var-decl name='__owner' type-id='type-id-1' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='122' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='96'>
         <!-- unsigned int __pthread_mutex_s::__nusers -->
-        <var-decl name='__nusers' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='28' column='1'/>
+        <var-decl name='__nusers' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='124' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- int __pthread_mutex_s::__kind -->
-        <var-decl name='__kind' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='32' column='1'/>
+        <var-decl name='__kind' type-id='type-id-1' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='148' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='160'>
         <!-- short int __pthread_mutex_s::__spins -->
-        <var-decl name='__spins' type-id='type-id-7' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='34' column='1'/>
+        <var-decl name='__spins' type-id='type-id-44' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='176'>
         <!-- short int __pthread_mutex_s::__elision -->
-        <var-decl name='__elision' type-id='type-id-7' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='35' column='1'/>
+        <var-decl name='__elision' type-id='type-id-44' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- __pthread_list_t __pthread_mutex_s::__list -->
-        <var-decl name='__list' type-id='type-id-36' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='36' column='1'/>
+        <var-decl name='__list' type-id='type-id-45' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='155' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __pthread_internal_list __pthread_list_t -->
-    <typedef-decl name='__pthread_list_t' type-id='type-id-37' filepath='/usr/include/bits/thread-shared-types.h' line='53' column='1' id='type-id-36'/>
+    <!-- short int -->
+    <type-decl name='short int' size-in-bits='16' id='type-id-44'/>
     <!-- struct __pthread_internal_list -->
-    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='49' column='1' id='type-id-37'>
+    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='82' column='1' id='type-id-46'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- __pthread_internal_list* __pthread_internal_list::__prev -->
-        <var-decl name='__prev' type-id='type-id-38' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='51' column='1'/>
+        <var-decl name='__prev' type-id='type-id-47' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='84' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- __pthread_internal_list* __pthread_internal_list::__next -->
-        <var-decl name='__next' type-id='type-id-38' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='52' column='1'/>
+        <var-decl name='__next' type-id='type-id-47' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='85' column='1'/>
       </data-member>
     </class-decl>
     <!-- __pthread_internal_list* -->
-    <pointer-type-def type-id='type-id-37' size-in-bits='64' id='type-id-38'/>
+    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-47'/>
+    <!-- typedef __pthread_internal_list __pthread_list_t -->
+    <typedef-decl name='__pthread_list_t' type-id='type-id-46' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='86' column='1' id='type-id-45'/>
+
+    <!-- char[40] -->
+    <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='320' id='type-id-42'>
+      <!-- <anonymous range>[40] -->
+      <subrange length='40' type-id='type-id-3' id='type-id-48'/>
+
+    </array-type-def>
+    <!-- long int -->
+    <type-decl name='long int' size-in-bits='64' id='type-id-43'/>
+    <!-- typedef __anonymous_union__ pthread_mutex_t -->
+    <typedef-decl name='pthread_mutex_t' type-id='type-id-40' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='72' column='1' id='type-id-39'/>
     <!-- call_rcu_data* -->
-    <pointer-type-def type-id='type-id-30' size-in-bits='64' id='type-id-39'/>
-    <!-- cds_list_head* -->
-    <pointer-type-def type-id='type-id-14' size-in-bits='64' id='type-id-16'/>
-    <!-- cds_wfcq_node* -->
-    <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-26'/>
-    <!-- const rcu_flavor_struct -->
-    <qualified-type-def type-id='type-id-17' const='yes' id='type-id-40'/>
-    <!-- int ()* -->
-    <pointer-type-def type-id='type-id-41' size-in-bits='64' id='type-id-19'/>
-    <!-- rcu_head* -->
-    <pointer-type-def type-id='type-id-23' size-in-bits='64' id='type-id-42'/>
-    <!-- urcu_atfork* -->
-    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-43'/>
-    <!-- void ()* -->
-    <pointer-type-def type-id='type-id-44' size-in-bits='64' id='type-id-18'/>
-    <!-- void (rcu_head*)* -->
-    <pointer-type-def type-id='type-id-45' size-in-bits='64' id='type-id-25'/>
-    <!-- void (rcu_head*, void (rcu_head*)*)* -->
-    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-20'/>
-    <!-- void (urcu_atfork*)* -->
-    <pointer-type-def type-id='type-id-47' size-in-bits='64' id='type-id-22'/>
-    <!-- void (void (void*)*, void*)* -->
-    <pointer-type-def type-id='type-id-48' size-in-bits='64' id='type-id-21'/>
-    <!-- void (void*)* -->
-    <pointer-type-def type-id='type-id-49' size-in-bits='64' id='type-id-28'/>
-    <!-- void* -->
-    <pointer-type-def type-id='type-id-9' size-in-bits='64' id='type-id-29'/>
-    <!-- int rcu_has_sys_membarrier_memb -->
-    <var-decl name='rcu_has_sys_membarrier_memb' type-id='type-id-5' mangled-name='rcu_has_sys_membarrier_memb' visibility='default' filepath='../include/urcu/static/urcu.h' line='84' column='1' elf-symbol-id='rcu_has_sys_membarrier_memb'/>
-    <!-- rcu_gp_memb rcu_gp_memb -->
-    <var-decl name='rcu_gp_memb' type-id='type-id-10' mangled-name='rcu_gp_memb' visibility='default' filepath='../include/urcu/static/urcu.h' line='132' column='1' elf-symbol-id='rcu_gp_memb'/>
-    <!-- rcu_reader_memb rcu_reader_memb -->
-    <var-decl name='rcu_reader_memb' type-id='type-id-13' mangled-name='rcu_reader_memb' visibility='default' filepath='../include/urcu/static/urcu.h' line='145' column='1' elf-symbol-id='rcu_reader_memb'/>
-    <!-- const rcu_flavor_struct rcu_flavor_memb -->
-    <var-decl name='rcu_flavor_memb' type-id='type-id-40' mangled-name='rcu_flavor_memb' visibility='default' filepath='../src/urcu-flavor.h' line='79' column='1' elf-symbol-id='rcu_flavor_memb'/>
-    <!-- void rcu_defer_exit_memb() -->
-    <function-decl name='rcu_defer_exit_memb' mangled-name='rcu_defer_exit_memb' filepath='src/urcu-defer-impl.h' line='466' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_exit_memb'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void rcu_defer_unregister_thread_memb() -->
-    <function-decl name='rcu_defer_unregister_thread_memb' mangled-name='rcu_defer_unregister_thread_memb' filepath='src/urcu-defer-impl.h' line='448' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_unregister_thread_memb'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- int rcu_defer_register_thread_memb() -->
-    <function-decl name='rcu_defer_register_thread_memb' mangled-name='rcu_defer_register_thread_memb' filepath='src/urcu-defer-impl.h' line='426' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_register_thread_memb'>
-      <!-- int -->
-      <return type-id='type-id-5'/>
-    </function-decl>
-    <!-- void defer_rcu_memb(void (void*)*, void*) -->
-    <function-decl name='defer_rcu_memb' mangled-name='defer_rcu_memb' filepath='src/urcu-defer-impl.h' line='395' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='defer_rcu_memb'>
-      <!-- parameter of type 'void (void*)*' -->
-      <parameter type-id='type-id-28' name='fct' filepath='src/urcu-defer-impl.h' line='395' column='1'/>
-      <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='p' filepath='src/urcu-defer-impl.h' line='395' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void rcu_defer_barrier_memb() -->
-    <function-decl name='rcu_defer_barrier_memb' mangled-name='rcu_defer_barrier_memb' filepath='src/urcu-defer-impl.h' line='281' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_barrier_memb'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void rcu_defer_barrier_thread_memb() -->
-    <function-decl name='rcu_defer_barrier_thread_memb' mangled-name='rcu_defer_barrier_thread_memb' filepath='src/urcu-defer-impl.h' line='261' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_barrier_thread_memb'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_unregister_rculfhash_atfork_memb(urcu_atfork*) -->
-    <function-decl name='urcu_unregister_rculfhash_atfork_memb' mangled-name='urcu_unregister_rculfhash_atfork_memb' filepath='src/urcu-call-rcu-impl.h' line='1011' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_unregister_rculfhash_atfork_memb'>
-      <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-43' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1011' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_register_rculfhash_atfork_memb(urcu_atfork*) -->
-    <function-decl name='urcu_register_rculfhash_atfork_memb' mangled-name='urcu_register_rculfhash_atfork_memb' filepath='src/urcu-call-rcu-impl.h' line='1001' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_register_rculfhash_atfork_memb'>
-      <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-43' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1001' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void call_rcu_after_fork_child_memb() -->
-    <function-decl name='call_rcu_after_fork_child_memb' mangled-name='call_rcu_after_fork_child_memb' filepath='src/urcu-call-rcu-impl.h' line='959' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_after_fork_child_memb'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void call_rcu_after_fork_parent_memb() -->
-    <function-decl name='call_rcu_after_fork_parent_memb' mangled-name='call_rcu_after_fork_parent_memb' filepath='src/urcu-call-rcu-impl.h' line='937' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_after_fork_parent_memb'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void call_rcu_before_fork_memb() -->
-    <function-decl name='call_rcu_before_fork_memb' mangled-name='call_rcu_before_fork_memb' filepath='src/urcu-call-rcu-impl.h' line='910' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_before_fork_memb'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void rcu_barrier_memb() -->
-    <function-decl name='rcu_barrier_memb' mangled-name='rcu_barrier_memb' filepath='src/urcu-call-rcu-impl.h' line='839' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_barrier_memb'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void free_all_cpu_call_rcu_data_memb() -->
-    <function-decl name='free_all_cpu_call_rcu_data_memb' mangled-name='free_all_cpu_call_rcu_data_memb' filepath='src/urcu-call-rcu-impl.h' line='776' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='free_all_cpu_call_rcu_data_memb'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
+    <pointer-type-def type-id='type-id-36' size-in-bits='64' id='type-id-49'/>
     <!-- void call_rcu_data_free_memb(call_rcu_data*) -->
     <function-decl name='call_rcu_data_free_memb' mangled-name='call_rcu_data_free_memb' filepath='src/urcu-call-rcu-impl.h' line='744' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_data_free_memb'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='744' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='744' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void call_rcu_memb(rcu_head*, void (rcu_head*)*) -->
     <function-decl name='call_rcu_memb' mangled-name='call_rcu_memb' filepath='src/urcu-call-rcu-impl.h' line='706' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_memb'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42' name='head' filepath='src/urcu-call-rcu-impl.h' line='706' column='1'/>
+      <parameter type-id='type-id-25' name='head' filepath='src/urcu-call-rcu-impl.h' line='706' column='1'/>
       <!-- parameter of type 'void (rcu_head*)*' -->
-      <parameter type-id='type-id-25' name='func' filepath='src/urcu-call-rcu-impl.h' line='707' column='1'/>
+      <parameter type-id='type-id-23' name='func' filepath='src/urcu-call-rcu-impl.h' line='707' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- int create_all_cpu_call_rcu_data_memb(unsigned long int) -->
     <function-decl name='create_all_cpu_call_rcu_data_memb' mangled-name='create_all_cpu_call_rcu_data_memb' filepath='src/urcu-call-rcu-impl.h' line='628' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='create_all_cpu_call_rcu_data_memb'>
       <!-- parameter of type 'unsigned long int' -->
       <parameter type-id='type-id-3' name='flags' filepath='src/urcu-call-rcu-impl.h' line='628' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
     </function-decl>
     <!-- void set_thread_call_rcu_data_memb(call_rcu_data*) -->
     <function-decl name='set_thread_call_rcu_data_memb' mangled-name='set_thread_call_rcu_data_memb' filepath='src/urcu-call-rcu-impl.h' line='615' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='set_thread_call_rcu_data_memb'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='615' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='615' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- call_rcu_data* get_thread_call_rcu_data_memb() -->
     <function-decl name='get_thread_call_rcu_data_memb' mangled-name='get_thread_call_rcu_data_memb' filepath='src/urcu-call-rcu-impl.h' line='599' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_thread_call_rcu_data_memb'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- call_rcu_data* get_call_rcu_data_memb() -->
     <function-decl name='get_call_rcu_data_memb' mangled-name='get_call_rcu_data_memb' filepath='src/urcu-call-rcu-impl.h' line='579' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_call_rcu_data_memb'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- call_rcu_data* get_default_call_rcu_data_memb() -->
     <function-decl name='get_default_call_rcu_data_memb' mangled-name='get_default_call_rcu_data_memb' filepath='src/urcu-call-rcu-impl.h' line='554' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_default_call_rcu_data_memb'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- int set_cpu_call_rcu_data_memb(int, call_rcu_data*) -->
     <function-decl name='set_cpu_call_rcu_data_memb' mangled-name='set_cpu_call_rcu_data_memb' filepath='src/urcu-call-rcu-impl.h' line='515' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='set_cpu_call_rcu_data_memb'>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='515' column='1'/>
+      <parameter type-id='type-id-1' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='515' column='1'/>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='515' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='515' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
     </function-decl>
     <!-- call_rcu_data* create_call_rcu_data_memb(unsigned long int, int) -->
     <function-decl name='create_call_rcu_data_memb' mangled-name='create_call_rcu_data_memb' filepath='src/urcu-call-rcu-impl.h' line='491' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='create_call_rcu_data_memb'>
       <!-- parameter of type 'unsigned long int' -->
       <parameter type-id='type-id-3' name='flags' filepath='src/urcu-call-rcu-impl.h' line='491' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu_affinity' filepath='src/urcu-call-rcu-impl.h' line='492' column='1'/>
+      <parameter type-id='type-id-1' name='cpu_affinity' filepath='src/urcu-call-rcu-impl.h' line='492' column='1'/>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- pthread_t get_call_rcu_thread_memb(call_rcu_data*) -->
     <function-decl name='get_call_rcu_thread_memb' mangled-name='get_call_rcu_thread_memb' filepath='src/urcu-call-rcu-impl.h' line='473' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_call_rcu_thread_memb'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='473' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='473' column='1'/>
       <!-- typedef pthread_t -->
-      <return type-id='type-id-15'/>
+      <return type-id='type-id-9'/>
     </function-decl>
     <!-- call_rcu_data* get_cpu_call_rcu_data_memb(int) -->
     <function-decl name='get_cpu_call_rcu_data_memb' mangled-name='get_cpu_call_rcu_data_memb' filepath='src/urcu-call-rcu-impl.h' line='451' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_cpu_call_rcu_data_memb'>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='451' column='1'/>
+      <parameter type-id='type-id-1' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='451' column='1'/>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- void rcu_init_memb() -->
     <function-decl name='rcu_init_memb' mangled-name='rcu_init_memb' filepath='src/urcu.c' line='554' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_init_memb'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void rcu_unregister_thread_memb() -->
     <function-decl name='rcu_unregister_thread_memb' mangled-name='rcu_unregister_thread_memb' filepath='src/urcu.c' line='527' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_unregister_thread_memb'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void rcu_register_thread_memb() -->
     <function-decl name='rcu_register_thread_memb' mangled-name='rcu_register_thread_memb' filepath='src/urcu.c' line='513' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_register_thread_memb'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- int rcu_read_ongoing_memb() -->
     <function-decl name='rcu_read_ongoing_memb' mangled-name='rcu_read_ongoing_memb' filepath='src/urcu.c' line='508' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_read_ongoing_memb'>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
     </function-decl>
     <!-- void rcu_read_unlock_memb() -->
     <function-decl name='rcu_read_unlock_memb' mangled-name='rcu_read_unlock_memb' filepath='src/urcu.c' line='503' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_read_unlock_memb'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void rcu_read_lock_memb() -->
     <function-decl name='rcu_read_lock_memb' mangled-name='rcu_read_lock_memb' filepath='src/urcu.c' line='498' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_read_lock_memb'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void synchronize_rcu_memb() -->
     <function-decl name='synchronize_rcu_memb' mangled-name='synchronize_rcu_memb' filepath='src/urcu.c' line='377' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='synchronize_rcu_memb'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- int () -->
-    <function-type size-in-bits='64' id='type-id-41'>
+    <function-type size-in-bits='64' id='type-id-20'>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
     </function-type>
     <!-- void () -->
-    <function-type size-in-bits='64' id='type-id-44'>
+    <function-type size-in-bits='64' id='type-id-19'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (rcu_head*) -->
-    <function-type size-in-bits='64' id='type-id-45'>
+    <function-type size-in-bits='64' id='type-id-26'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42'/>
+      <parameter type-id='type-id-25'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (rcu_head*, void (rcu_head*)*) -->
-    <function-type size-in-bits='64' id='type-id-46'>
+    <function-type size-in-bits='64' id='type-id-27'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42'/>
-      <!-- parameter of type 'void (rcu_head*)*' -->
       <parameter type-id='type-id-25'/>
+      <!-- parameter of type 'void (rcu_head*)*' -->
+      <parameter type-id='type-id-23'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (urcu_atfork*) -->
-    <function-type size-in-bits='64' id='type-id-47'>
+    <function-type size-in-bits='64' id='type-id-34'>
       <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-43'/>
+      <parameter type-id='type-id-33'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (void (void*)*, void*) -->
-    <function-type size-in-bits='64' id='type-id-48'>
+    <function-type size-in-bits='64' id='type-id-31'>
       <!-- parameter of type 'void (void*)*' -->
-      <parameter type-id='type-id-28'/>
+      <parameter type-id='type-id-30'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29'/>
+      <parameter type-id='type-id-28'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (void*) -->
-    <function-type size-in-bits='64' id='type-id-49'>
+    <function-type size-in-bits='64' id='type-id-29'>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29'/>
+      <parameter type-id='type-id-28'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='urcu-pointer.c' comp-dir-path='src' language='LANG_C99'>
     <!-- void** -->
-    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-50'/>
+    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-50'/>
     <!-- void* rcu_cmpxchg_pointer_sym(void**, void*, void*) -->
     <function-decl name='rcu_cmpxchg_pointer_sym' mangled-name='rcu_cmpxchg_pointer_sym' filepath='src/urcu-pointer.c' line='53' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_cmpxchg_pointer_sym'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='53' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='old' filepath='src/urcu-pointer.c' line='53' column='1'/>
+      <parameter type-id='type-id-28' name='old' filepath='src/urcu-pointer.c' line='53' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='_new' filepath='src/urcu-pointer.c' line='53' column='1'/>
+      <parameter type-id='type-id-28' name='_new' filepath='src/urcu-pointer.c' line='53' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-28'/>
     </function-decl>
     <!-- void* rcu_xchg_pointer_sym(void**, void*) -->
     <function-decl name='rcu_xchg_pointer_sym' mangled-name='rcu_xchg_pointer_sym' filepath='src/urcu-pointer.c' line='47' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_xchg_pointer_sym'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='47' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='v' filepath='src/urcu-pointer.c' line='47' column='1'/>
+      <parameter type-id='type-id-28' name='v' filepath='src/urcu-pointer.c' line='47' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-28'/>
     </function-decl>
     <!-- void* rcu_set_pointer_sym(void**, void*) -->
     <function-decl name='rcu_set_pointer_sym' mangled-name='rcu_set_pointer_sym' filepath='src/urcu-pointer.c' line='40' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_set_pointer_sym'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='40' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='v' filepath='src/urcu-pointer.c' line='40' column='1'/>
+      <parameter type-id='type-id-28' name='v' filepath='src/urcu-pointer.c' line='40' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-28'/>
     </function-decl>
     <!-- void* rcu_dereference_sym(void*) -->
     <function-decl name='rcu_dereference_sym' mangled-name='rcu_dereference_sym' filepath='src/urcu-pointer.c' line='35' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_dereference_sym'>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='p' filepath='src/urcu-pointer.c' line='35' column='1'/>
+      <parameter type-id='type-id-28' name='p' filepath='src/urcu-pointer.c' line='35' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-28'/>
     </function-decl>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='compat_futex.c' comp-dir-path='src' language='LANG_C99'>
-
-
-    <!-- char[48] -->
-    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='384' id='type-id-51'>
-      <!-- <anonymous range>[48] -->
-      <subrange length='48' type-id='type-id-3' id='type-id-52'/>
-
-    </array-type-def>
-    <!-- long long int -->
-    <type-decl name='long long int' size-in-bits='64' id='type-id-53'/>
-    <!-- long long unsigned int -->
-    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-54'/>
-    <!-- unsigned int[2] -->
-    <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='64' id='type-id-55'>
-      <!-- <anonymous range>[2] -->
-      <subrange length='2' type-id='type-id-3' id='type-id-56'/>
-
-    </array-type-def>
-    <!-- typedef __anonymous_union__ pthread_cond_t -->
-    <typedef-decl name='pthread_cond_t' type-id='type-id-57' filepath='/usr/include/bits/pthreadtypes.h' line='80' column='1' id='type-id-58'/>
-    <!-- union {__pthread_cond_s __data; char __size[48]; long long int __align;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='75' column='1' id='type-id-57'>
+    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
+    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-39' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='75' column='1' id='type-id-51'>
       <data-member access='private'>
-        <!-- __pthread_cond_s __data -->
-        <var-decl name='__data' type-id='type-id-59' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='77' column='1'/>
+        <!-- __pthread_cond_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-52' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='77' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- char __size[48] -->
-        <var-decl name='__size' type-id='type-id-51' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='78' column='1'/>
+        <!-- char __anonymous_union__::__size[48] -->
+        <var-decl name='__size' type-id='type-id-53' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='78' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- long long int __align -->
-        <var-decl name='__align' type-id='type-id-53' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='79' column='1'/>
+        <!-- long long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-54' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='79' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __pthread_cond_s -->
-    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='92' column='1' id='type-id-59'>
+    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='171' column='1' id='type-id-52'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <!-- union {long long unsigned int __wseq; struct {unsigned int __low; unsigned int __high;} __wseq32;} -->
-        <var-decl name='' type-id='type-id-60' visibility='default'/>
+        <!-- __anonymous_union__  -->
+        <var-decl name='' type-id='type-id-55' visibility='default'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- unsigned int __pthread_cond_s::__g_refs[2] -->
-        <var-decl name='__g_refs' type-id='type-id-55' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='112' column='1'/>
+        <var-decl name='__g_refs' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='191' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- unsigned int __pthread_cond_s::__g_size[2] -->
-        <var-decl name='__g_size' type-id='type-id-55' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='113' column='1'/>
+        <var-decl name='__g_size' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='192' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- unsigned int __pthread_cond_s::__g1_orig_size -->
-        <var-decl name='__g1_orig_size' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='114' column='1'/>
+        <var-decl name='__g1_orig_size' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='193' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='288'>
         <!-- unsigned int __pthread_cond_s::__wrefs -->
-        <var-decl name='__wrefs' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='115' column='1'/>
+        <var-decl name='__wrefs' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='194' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
         <!-- unsigned int __pthread_cond_s::__g_signals[2] -->
-        <var-decl name='__g_signals' type-id='type-id-55' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='116' column='1'/>
+        <var-decl name='__g_signals' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='195' column='1'/>
       </data-member>
     </class-decl>
-    <!-- union {long long unsigned int __wseq; struct {unsigned int __low; unsigned int __high;} __wseq32;} -->
-    <union-decl name='__anonymous_union__1' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='94' column='1' id='type-id-60'>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='173' column='1' id='type-id-55'>
       <data-member access='private'>
-        <!-- long long unsigned int __wseq -->
-        <var-decl name='__wseq' type-id='type-id-54' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='96' column='1'/>
+        <!-- long long unsigned int __anonymous_union__::__wseq -->
+        <var-decl name='__wseq' type-id='type-id-57' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='175' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- struct {unsigned int __low; unsigned int __high;} __wseq32 -->
-        <var-decl name='__wseq32' type-id='type-id-61' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='101' column='1'/>
+        <!-- __anonymous_struct__ __anonymous_union__::__wseq32 -->
+        <var-decl name='__wseq32' type-id='type-id-58' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='180' column='1'/>
       </data-member>
     </union-decl>
-    <!-- struct {unsigned int __low; unsigned int __high;} -->
-    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='97' column='1' id='type-id-61'>
+    <!-- long long unsigned int -->
+    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-57'/>
+    <!-- struct __anonymous_struct__ -->
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='176' column='1' id='type-id-58'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <!-- unsigned int __low -->
-        <var-decl name='__low' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='99' column='1'/>
+        <!-- unsigned int __anonymous_struct__::__low -->
+        <var-decl name='__low' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='178' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='32'>
-        <!-- unsigned int __high -->
-        <var-decl name='__high' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='100' column='1'/>
+        <!-- unsigned int __anonymous_struct__::__high -->
+        <var-decl name='__high' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='179' column='1'/>
       </data-member>
     </class-decl>
+
+    <!-- unsigned int[2] -->
+    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='64' id='type-id-56'>
+      <!-- <anonymous range>[2] -->
+      <subrange length='2' type-id='type-id-3' id='type-id-59'/>
+
+    </array-type-def>
+
+    <!-- char[48] -->
+    <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='384' id='type-id-53'>
+      <!-- <anonymous range>[48] -->
+      <subrange length='48' type-id='type-id-3' id='type-id-60'/>
+
+    </array-type-def>
+    <!-- long long int -->
+    <type-decl name='long long int' size-in-bits='64' id='type-id-54'/>
+    <!-- typedef __anonymous_union__ pthread_cond_t -->
+    <typedef-decl name='pthread_cond_t' type-id='type-id-51' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='80' column='1' id='type-id-61'/>
+    <!-- pthread_cond_t __urcu_compat_futex_cond -->
+    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-61' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
+    <!-- int32_t* -->
+    <pointer-type-def type-id='type-id-4' size-in-bits='64' id='type-id-62'/>
     <!-- struct timespec -->
-    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='10' column='1' id='type-id-62'>
+    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='9' column='1' id='type-id-63'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- __time_t timespec::tv_sec -->
-        <var-decl name='tv_sec' type-id='type-id-63' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='12' column='1'/>
+        <var-decl name='tv_sec' type-id='type-id-64' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='11' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- __syscall_slong_t timespec::tv_nsec -->
-        <var-decl name='tv_nsec' type-id='type-id-64' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='16' column='1'/>
+        <var-decl name='tv_nsec' type-id='type-id-65' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='12' column='1'/>
       </data-member>
     </class-decl>
     <!-- typedef long int __time_t -->
-    <typedef-decl name='__time_t' type-id='type-id-6' filepath='/usr/include/bits/types.h' line='160' column='1' id='type-id-63'/>
+    <typedef-decl name='__time_t' type-id='type-id-43' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='148' column='1' id='type-id-64'/>
     <!-- typedef long int __syscall_slong_t -->
-    <typedef-decl name='__syscall_slong_t' type-id='type-id-6' filepath='/usr/include/bits/types.h' line='197' column='1' id='type-id-64'/>
+    <typedef-decl name='__syscall_slong_t' type-id='type-id-43' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='184' column='1' id='type-id-65'/>
     <!-- const timespec -->
-    <qualified-type-def type-id='type-id-62' const='yes' id='type-id-65'/>
+    <qualified-type-def type-id='type-id-63' const='yes' id='type-id-66'/>
     <!-- const timespec* -->
-    <pointer-type-def type-id='type-id-65' size-in-bits='64' id='type-id-66'/>
-    <!-- int32_t* -->
-    <pointer-type-def type-id='type-id-11' size-in-bits='64' id='type-id-67'/>
-    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
-    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-33' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
-    <!-- pthread_cond_t __urcu_compat_futex_cond -->
-    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-58' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
+    <pointer-type-def type-id='type-id-66' size-in-bits='64' id='type-id-67'/>
     <!-- int compat_futex_async(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
     <function-decl name='compat_futex_async' mangled-name='compat_futex_async' filepath='src/compat_futex.c' line='118' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_async'>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-1' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-4' name='val' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'const timespec*' -->
-      <parameter type-id='type-id-66' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-67' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val3' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-4' name='val3' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
     </function-decl>
     <!-- int compat_futex_noasync(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
     <function-decl name='compat_futex_noasync' mangled-name='compat_futex_noasync' filepath='src/compat_futex.c' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_noasync'>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-1' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-4' name='val' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'const timespec*' -->
-      <parameter type-id='type-id-66' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-67' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val3' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-4' name='val3' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
     </function-decl>
   </abi-instr>
 </abi-corpus>
index 954970065a41ac211f8bc252b808fef89c81147b..442aef00cffa7059a402d15e0f8578ab3bec1cb8 100644 (file)
@@ -1,11 +1,14 @@
 <abi-corpus architecture='elf-amd-x86_64' soname='liburcu-bp.so.6'>
   <elf-needed>
-    <dependency name='liburcu-common.so.6'/>
     <dependency name='libpthread.so.0'/>
     <dependency name='libc.so.6'/>
     <dependency name='ld-linux-x86-64.so.2'/>
   </elf-needed>
   <elf-function-symbols>
+    <!-- _fini -->
+    <elf-symbol name='_fini' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- _init -->
+    <elf-symbol name='_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- call_rcu_after_fork_child_bp -->
     <elf-symbol name='call_rcu_after_fork_child_bp' type='func-type' binding='global-binding' visibility='default-visibility' alias='urcu_bp_call_rcu_after_fork_child' is-defined='yes'/>
     <!-- call_rcu_after_fork_parent_bp -->
     <elf-symbol name='urcu_bp_reader' size='8' type='tls-type' binding='global-binding' visibility='default-visibility' alias='rcu_reader_bp' is-defined='yes'/>
   </elf-variable-symbols>
   <abi-instr version='1.0' address-size='64' path='urcu-bp.c' comp-dir-path='src' language='LANG_C99'>
-
-    <!-- char -->
-    <type-decl name='char' size-in-bits='8' id='type-id-1'/>
-    <!-- char[40] -->
-    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='320' id='type-id-2'>
-      <!-- <anonymous range>[40] -->
-      <subrange length='40' type-id='type-id-3' id='type-id-4'/>
-
-    </array-type-def>
     <!-- int -->
-    <type-decl name='int' size-in-bits='32' id='type-id-5'/>
-    <!-- long int -->
-    <type-decl name='long int' size-in-bits='64' id='type-id-6'/>
-    <!-- short int -->
-    <type-decl name='short int' size-in-bits='16' id='type-id-7'/>
-    <!-- unsigned int -->
-    <type-decl name='unsigned int' size-in-bits='32' id='type-id-8'/>
-    <!-- unsigned long int -->
-    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-3'/>
-    <!-- void -->
-    <type-decl name='void' id='type-id-9'/>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <!-- int urcu_bp_has_sys_membarrier -->
+    <var-decl name='urcu_bp_has_sys_membarrier' type-id='type-id-1' mangled-name='urcu_bp_has_sys_membarrier' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='109' column='1' elf-symbol-id='urcu_bp_has_sys_membarrier'/>
     <!-- struct urcu_bp_gp -->
-    <class-decl name='urcu_bp_gp' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='77' column='1' id='type-id-10'>
+    <class-decl name='urcu_bp_gp' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='77' column='1' id='type-id-2'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned long int urcu_bp_gp::ctr -->
         <var-decl name='ctr' type-id='type-id-3' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='85' column='1'/>
       </data-member>
     </class-decl>
+    <!-- unsigned long int -->
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-3'/>
+    <!-- urcu_bp_gp urcu_bp_gp -->
+    <var-decl name='urcu_bp_gp' type-id='type-id-2' mangled-name='rcu_gp_bp' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='88' column='1' elf-symbol-id='rcu_gp_bp'/>
     <!-- struct urcu_bp_reader -->
-    <class-decl name='urcu_bp_reader' size-in-bits='2048' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='90' column='1' id='type-id-11'>
+    <class-decl name='urcu_bp_reader' size-in-bits='2048' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='90' column='1' id='type-id-4'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned long int urcu_bp_reader::ctr -->
         <var-decl name='ctr' type-id='type-id-3' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='92' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1024'>
         <!-- cds_list_head urcu_bp_reader::node -->
-        <var-decl name='node' type-id='type-id-12' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='94' column='1'/>
+        <var-decl name='node' type-id='type-id-5' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='94' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1152'>
         <!-- pthread_t urcu_bp_reader::tid -->
-        <var-decl name='tid' type-id='type-id-13' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='95' column='1'/>
+        <var-decl name='tid' type-id='type-id-6' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='95' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1216'>
         <!-- int urcu_bp_reader::alloc -->
-        <var-decl name='alloc' type-id='type-id-5' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='96' column='1'/>
+        <var-decl name='alloc' type-id='type-id-1' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='96' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_list_head -->
-    <class-decl name='cds_list_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/list.h' line='37' column='1' id='type-id-12'>
+    <class-decl name='cds_list_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/list.h' line='37' column='1' id='type-id-5'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_list_head* cds_list_head::next -->
-        <var-decl name='next' type-id='type-id-14' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
+        <var-decl name='next' type-id='type-id-7' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- cds_list_head* cds_list_head::prev -->
-        <var-decl name='prev' type-id='type-id-14' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
+        <var-decl name='prev' type-id='type-id-7' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_list_head* -->
+    <pointer-type-def type-id='type-id-5' size-in-bits='64' id='type-id-7'/>
     <!-- typedef unsigned long int pthread_t -->
-    <typedef-decl name='pthread_t' type-id='type-id-3' filepath='/usr/include/bits/pthreadtypes.h' line='27' column='1' id='type-id-13'/>
+    <typedef-decl name='pthread_t' type-id='type-id-3' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='27' column='1' id='type-id-6'/>
+    <!-- urcu_bp_reader* -->
+    <pointer-type-def type-id='type-id-4' size-in-bits='64' id='type-id-8'/>
+    <!-- urcu_bp_reader* urcu_bp_reader -->
+    <var-decl name='urcu_bp_reader' type-id='type-id-8' mangled-name='urcu_bp_reader' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='104' column='1' elf-symbol-id='urcu_bp_reader'/>
     <!-- struct rcu_flavor_struct -->
-    <class-decl name='rcu_flavor_struct' size-in-bits='896' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='42' column='1' id='type-id-15'>
+    <class-decl name='rcu_flavor_struct' size-in-bits='896' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='42' column='1' id='type-id-9'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- void ()* rcu_flavor_struct::read_lock -->
-        <var-decl name='read_lock' type-id='type-id-16' visibility='default' filepath='../include/urcu/flavor.h' line='43' column='1'/>
+        <var-decl name='read_lock' type-id='type-id-10' visibility='default' filepath='../include/urcu/flavor.h' line='43' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void ()* rcu_flavor_struct::read_unlock -->
-        <var-decl name='read_unlock' type-id='type-id-16' visibility='default' filepath='../include/urcu/flavor.h' line='44' column='1'/>
+        <var-decl name='read_unlock' type-id='type-id-10' visibility='default' filepath='../include/urcu/flavor.h' line='44' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- int ()* rcu_flavor_struct::read_ongoing -->
-        <var-decl name='read_ongoing' type-id='type-id-17' visibility='default' filepath='../include/urcu/flavor.h' line='45' column='1'/>
+        <var-decl name='read_ongoing' type-id='type-id-11' visibility='default' filepath='../include/urcu/flavor.h' line='45' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- void ()* rcu_flavor_struct::read_quiescent_state -->
-        <var-decl name='read_quiescent_state' type-id='type-id-16' visibility='default' filepath='../include/urcu/flavor.h' line='46' column='1'/>
+        <var-decl name='read_quiescent_state' type-id='type-id-10' visibility='default' filepath='../include/urcu/flavor.h' line='46' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- void (rcu_head*, void (rcu_head*)*)* rcu_flavor_struct::update_call_rcu -->
-        <var-decl name='update_call_rcu' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='47' column='1'/>
+        <var-decl name='update_call_rcu' type-id='type-id-12' visibility='default' filepath='../include/urcu/flavor.h' line='47' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
         <!-- void ()* rcu_flavor_struct::update_synchronize_rcu -->
-        <var-decl name='update_synchronize_rcu' type-id='type-id-16' visibility='default' filepath='../include/urcu/flavor.h' line='49' column='1'/>
+        <var-decl name='update_synchronize_rcu' type-id='type-id-10' visibility='default' filepath='../include/urcu/flavor.h' line='49' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='384'>
         <!-- void (void (void*)*, void*)* rcu_flavor_struct::update_defer_rcu -->
-        <var-decl name='update_defer_rcu' type-id='type-id-19' visibility='default' filepath='../include/urcu/flavor.h' line='50' column='1'/>
+        <var-decl name='update_defer_rcu' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='50' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='448'>
         <!-- void ()* rcu_flavor_struct::thread_offline -->
-        <var-decl name='thread_offline' type-id='type-id-16' visibility='default' filepath='../include/urcu/flavor.h' line='52' column='1'/>
+        <var-decl name='thread_offline' type-id='type-id-10' visibility='default' filepath='../include/urcu/flavor.h' line='52' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='512'>
         <!-- void ()* rcu_flavor_struct::thread_online -->
-        <var-decl name='thread_online' type-id='type-id-16' visibility='default' filepath='../include/urcu/flavor.h' line='53' column='1'/>
+        <var-decl name='thread_online' type-id='type-id-10' visibility='default' filepath='../include/urcu/flavor.h' line='53' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='576'>
         <!-- void ()* rcu_flavor_struct::register_thread -->
-        <var-decl name='register_thread' type-id='type-id-16' visibility='default' filepath='../include/urcu/flavor.h' line='54' column='1'/>
+        <var-decl name='register_thread' type-id='type-id-10' visibility='default' filepath='../include/urcu/flavor.h' line='54' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='640'>
         <!-- void ()* rcu_flavor_struct::unregister_thread -->
-        <var-decl name='unregister_thread' type-id='type-id-16' visibility='default' filepath='../include/urcu/flavor.h' line='55' column='1'/>
+        <var-decl name='unregister_thread' type-id='type-id-10' visibility='default' filepath='../include/urcu/flavor.h' line='55' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='704'>
         <!-- void ()* rcu_flavor_struct::barrier -->
-        <var-decl name='barrier' type-id='type-id-16' visibility='default' filepath='../include/urcu/flavor.h' line='57' column='1'/>
+        <var-decl name='barrier' type-id='type-id-10' visibility='default' filepath='../include/urcu/flavor.h' line='57' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='768'>
         <!-- void (urcu_atfork*)* rcu_flavor_struct::register_rculfhash_atfork -->
-        <var-decl name='register_rculfhash_atfork' type-id='type-id-20' visibility='default' filepath='../include/urcu/flavor.h' line='59' column='1'/>
+        <var-decl name='register_rculfhash_atfork' type-id='type-id-14' visibility='default' filepath='../include/urcu/flavor.h' line='59' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='832'>
         <!-- void (urcu_atfork*)* rcu_flavor_struct::unregister_rculfhash_atfork -->
-        <var-decl name='unregister_rculfhash_atfork' type-id='type-id-20' visibility='default' filepath='../include/urcu/flavor.h' line='60' column='1'/>
+        <var-decl name='unregister_rculfhash_atfork' type-id='type-id-14' visibility='default' filepath='../include/urcu/flavor.h' line='60' column='1'/>
       </data-member>
     </class-decl>
+    <!-- void -->
+    <type-decl name='void' id='type-id-15'/>
+    <!-- void ()* -->
+    <pointer-type-def type-id='type-id-16' size-in-bits='64' id='type-id-10'/>
+    <!-- int ()* -->
+    <pointer-type-def type-id='type-id-17' size-in-bits='64' id='type-id-11'/>
     <!-- struct rcu_head -->
-    <class-decl name='rcu_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/call-rcu.h' line='57' column='1' id='type-id-21'>
+    <class-decl name='rcu_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/call-rcu.h' line='57' column='1' id='type-id-18'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node rcu_head::next -->
-        <var-decl name='next' type-id='type-id-22' visibility='default' filepath='../include/urcu/call-rcu.h' line='58' column='1'/>
+        <var-decl name='next' type-id='type-id-19' visibility='default' filepath='../include/urcu/call-rcu.h' line='58' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void (rcu_head*)* rcu_head::func -->
-        <var-decl name='func' type-id='type-id-23' visibility='default' filepath='../include/urcu/call-rcu.h' line='59' column='1'/>
+        <var-decl name='func' type-id='type-id-20' visibility='default' filepath='../include/urcu/call-rcu.h' line='59' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_node -->
-    <class-decl name='cds_wfcq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='59' column='1' id='type-id-22'>
+    <class-decl name='cds_wfcq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='59' column='1' id='type-id-19'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node* cds_wfcq_node::next -->
-        <var-decl name='next' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='60' column='1'/>
+        <var-decl name='next' type-id='type-id-21' visibility='default' filepath='../include/urcu/wfcqueue.h' line='60' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_wfcq_node* -->
+    <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-21'/>
+    <!-- rcu_head* -->
+    <pointer-type-def type-id='type-id-18' size-in-bits='64' id='type-id-22'/>
+    <!-- void (rcu_head*)* -->
+    <pointer-type-def type-id='type-id-23' size-in-bits='64' id='type-id-20'/>
+    <!-- void (rcu_head*, void (rcu_head*)*)* -->
+    <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-12'/>
+    <!-- void* -->
+    <pointer-type-def type-id='type-id-15' size-in-bits='64' id='type-id-25'/>
+    <!-- void (void*)* -->
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-27'/>
+    <!-- void (void (void*)*, void*)* -->
+    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-13'/>
     <!-- struct urcu_atfork -->
-    <class-decl name='urcu_atfork' size-in-bits='256' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='32' column='1' id='type-id-25'>
+    <class-decl name='urcu_atfork' size-in-bits='256' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='32' column='1' id='type-id-29'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- void (void*)* urcu_atfork::before_fork -->
-        <var-decl name='before_fork' type-id='type-id-26' visibility='default' filepath='../include/urcu/flavor.h' line='33' column='1'/>
+        <var-decl name='before_fork' type-id='type-id-27' visibility='default' filepath='../include/urcu/flavor.h' line='33' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void (void*)* urcu_atfork::after_fork_parent -->
-        <var-decl name='after_fork_parent' type-id='type-id-26' visibility='default' filepath='../include/urcu/flavor.h' line='34' column='1'/>
+        <var-decl name='after_fork_parent' type-id='type-id-27' visibility='default' filepath='../include/urcu/flavor.h' line='34' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- void (void*)* urcu_atfork::after_fork_child -->
-        <var-decl name='after_fork_child' type-id='type-id-26' visibility='default' filepath='../include/urcu/flavor.h' line='35' column='1'/>
+        <var-decl name='after_fork_child' type-id='type-id-27' visibility='default' filepath='../include/urcu/flavor.h' line='35' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- void* urcu_atfork::priv -->
-        <var-decl name='priv' type-id='type-id-27' visibility='default' filepath='../include/urcu/flavor.h' line='36' column='1'/>
+        <var-decl name='priv' type-id='type-id-25' visibility='default' filepath='../include/urcu/flavor.h' line='36' column='1'/>
       </data-member>
     </class-decl>
+    <!-- urcu_atfork* -->
+    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-30'/>
+    <!-- void (urcu_atfork*)* -->
+    <pointer-type-def type-id='type-id-31' size-in-bits='64' id='type-id-14'/>
+    <!-- const rcu_flavor_struct -->
+    <qualified-type-def type-id='type-id-9' const='yes' id='type-id-32'/>
+    <!-- const rcu_flavor_struct urcu_bp_flavor -->
+    <var-decl name='urcu_bp_flavor' type-id='type-id-32' mangled-name='rcu_flavor_bp' visibility='default' filepath='../include/urcu/flavor.h' line='90' column='1' elf-symbol-id='rcu_flavor_bp'/>
+    <!-- void urcu_bp_defer_exit() -->
+    <function-decl name='urcu_bp_defer_exit' mangled-name='urcu_bp_defer_exit' filepath='src/urcu-defer-impl.h' line='476' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_defer_exit'>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <!-- void urcu_bp_defer_unregister_thread() -->
+    <function-decl name='urcu_bp_defer_unregister_thread' mangled-name='urcu_bp_defer_unregister_thread' filepath='src/urcu-defer-impl.h' line='456' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_defer_unregister_thread'>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <!-- int urcu_bp_defer_register_thread() -->
+    <function-decl name='urcu_bp_defer_register_thread' mangled-name='urcu_bp_defer_register_thread' filepath='src/urcu-defer-impl.h' line='432' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_defer_register_thread'>
+      <!-- int -->
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <!-- void urcu_bp_defer_rcu(void (void*)*, void*) -->
+    <function-decl name='urcu_bp_defer_rcu' mangled-name='defer_rcu_bp' filepath='src/urcu-defer-impl.h' line='400' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='defer_rcu_bp'>
+      <!-- parameter of type 'void (void*)*' -->
+      <parameter type-id='type-id-27' name='fct' filepath='src/urcu-defer-impl.h' line='400' column='1'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-25' name='p' filepath='src/urcu-defer-impl.h' line='400' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <!-- void urcu_bp_defer_barrier() -->
+    <function-decl name='urcu_bp_defer_barrier' mangled-name='rcu_defer_barrier_bp' filepath='src/urcu-defer-impl.h' line='284' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_barrier_bp'>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <!-- void urcu_bp_defer_barrier_thread() -->
+    <function-decl name='urcu_bp_defer_barrier_thread' mangled-name='rcu_defer_barrier_thread_bp' filepath='src/urcu-defer-impl.h' line='262' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_barrier_thread_bp'>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <!-- void urcu_bp_unregister_rculfhash_atfork(urcu_atfork*) -->
+    <function-decl name='urcu_bp_unregister_rculfhash_atfork' mangled-name='urcu_bp_unregister_rculfhash_atfork' filepath='src/urcu-call-rcu-impl.h' line='1056' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_unregister_rculfhash_atfork'>
+      <!-- parameter of type 'urcu_atfork*' -->
+      <parameter type-id='type-id-30' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1056' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <!-- void urcu_bp_register_rculfhash_atfork(urcu_atfork*) -->
+    <function-decl name='urcu_bp_register_rculfhash_atfork' mangled-name='urcu_register_rculfhash_atfork_bp' filepath='src/urcu-call-rcu-impl.h' line='1044' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_register_rculfhash_atfork_bp'>
+      <!-- parameter of type 'urcu_atfork*' -->
+      <parameter type-id='type-id-30' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1056' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <!-- void urcu_bp_call_rcu_after_fork_child() -->
+    <function-decl name='urcu_bp_call_rcu_after_fork_child' mangled-name='call_rcu_after_fork_child_bp' filepath='src/urcu-call-rcu-impl.h' line='1000' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_after_fork_child_bp'>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <!-- void urcu_bp_call_rcu_after_fork_parent() -->
+    <function-decl name='urcu_bp_call_rcu_after_fork_parent' mangled-name='urcu_bp_call_rcu_after_fork_parent' filepath='src/urcu-call-rcu-impl.h' line='976' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_call_rcu_after_fork_parent'>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <!-- void urcu_bp_call_rcu_before_fork() -->
+    <function-decl name='urcu_bp_call_rcu_before_fork' mangled-name='urcu_bp_call_rcu_before_fork' filepath='src/urcu-call-rcu-impl.h' line='947' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_call_rcu_before_fork'>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <!-- void urcu_bp_barrier() -->
+    <function-decl name='urcu_bp_barrier' mangled-name='rcu_barrier_bp' filepath='src/urcu-call-rcu-impl.h' line='874' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_barrier_bp'>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <!-- void urcu_bp_free_all_cpu_call_rcu_data() -->
+    <function-decl name='urcu_bp_free_all_cpu_call_rcu_data' mangled-name='free_all_cpu_call_rcu_data_bp' filepath='src/urcu-call-rcu-impl.h' line='801' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='free_all_cpu_call_rcu_data_bp'>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
     <!-- struct call_rcu_data -->
-    <class-decl name='call_rcu_data' size-in-bits='1024' is-struct='yes' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='53' column='1' id='type-id-28'>
+    <class-decl name='call_rcu_data' size-in-bits='1024' is-struct='yes' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='53' column='1' id='type-id-33'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_tail call_rcu_data::cbs_tail -->
-        <var-decl name='cbs_tail' type-id='type-id-29' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='61' column='1'/>
+        <var-decl name='cbs_tail' type-id='type-id-34' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='61' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- cds_wfcq_head call_rcu_data::cbs_head -->
-        <var-decl name='cbs_head' type-id='type-id-30' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='62' column='1'/>
+        <var-decl name='cbs_head' type-id='type-id-35' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='62' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='448'>
         <!-- unsigned long int call_rcu_data::flags -->
       </data-member>
       <data-member access='public' layout-offset-in-bits='512'>
         <!-- int32_t call_rcu_data::futex -->
-        <var-decl name='futex' type-id='type-id-31' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='64' column='1'/>
+        <var-decl name='futex' type-id='type-id-36' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='64' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='576'>
         <!-- unsigned long int call_rcu_data::qlen -->
       </data-member>
       <data-member access='public' layout-offset-in-bits='640'>
         <!-- pthread_t call_rcu_data::tid -->
-        <var-decl name='tid' type-id='type-id-13' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='66' column='1'/>
+        <var-decl name='tid' type-id='type-id-6' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='66' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='704'>
         <!-- int call_rcu_data::cpu_affinity -->
-        <var-decl name='cpu_affinity' type-id='type-id-5' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='67' column='1'/>
+        <var-decl name='cpu_affinity' type-id='type-id-1' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='67' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='768'>
         <!-- unsigned long int call_rcu_data::gp_count -->
       </data-member>
       <data-member access='public' layout-offset-in-bits='832'>
         <!-- cds_list_head call_rcu_data::list -->
-        <var-decl name='list' type-id='type-id-12' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='69' column='1'/>
+        <var-decl name='list' type-id='type-id-5' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='69' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_tail -->
-    <class-decl name='cds_wfcq_tail' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='127' column='1' id='type-id-29'>
+    <class-decl name='cds_wfcq_tail' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='127' column='1' id='type-id-34'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node* cds_wfcq_tail::p -->
-        <var-decl name='p' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='128' column='1'/>
+        <var-decl name='p' type-id='type-id-21' visibility='default' filepath='../include/urcu/wfcqueue.h' line='128' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_head -->
-    <class-decl name='cds_wfcq_head' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='72' column='1' id='type-id-30'>
+    <class-decl name='cds_wfcq_head' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='72' column='1' id='type-id-35'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node cds_wfcq_head::node -->
-        <var-decl name='node' type-id='type-id-22' visibility='default' filepath='../include/urcu/wfcqueue.h' line='73' column='1'/>
+        <var-decl name='node' type-id='type-id-19' visibility='default' filepath='../include/urcu/wfcqueue.h' line='73' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- pthread_mutex_t cds_wfcq_head::lock -->
-        <var-decl name='lock' type-id='type-id-32' visibility='default' filepath='../include/urcu/wfcqueue.h' line='74' column='1'/>
+        <var-decl name='lock' type-id='type-id-37' visibility='default' filepath='../include/urcu/wfcqueue.h' line='74' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __anonymous_union__ pthread_mutex_t -->
-    <typedef-decl name='pthread_mutex_t' type-id='type-id-33' filepath='/usr/include/bits/pthreadtypes.h' line='72' column='1' id='type-id-32'/>
-    <!-- union {__pthread_mutex_s __data; char __size[40]; long int __align;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='67' column='1' id='type-id-33'>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='67' column='1' id='type-id-38'>
       <data-member access='private'>
-        <!-- __pthread_mutex_s __data -->
-        <var-decl name='__data' type-id='type-id-34' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='69' column='1'/>
+        <!-- __pthread_mutex_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-39' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='69' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- char __size[40] -->
-        <var-decl name='__size' type-id='type-id-2' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='70' column='1'/>
+        <!-- char __anonymous_union__::__size[40] -->
+        <var-decl name='__size' type-id='type-id-40' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='70' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- long int __align -->
-        <var-decl name='__align' type-id='type-id-6' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='71' column='1'/>
+        <!-- long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-41' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='71' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __pthread_mutex_s -->
-    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='22' column='1' id='type-id-34'>
+    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='118' column='1' id='type-id-39'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- int __pthread_mutex_s::__lock -->
-        <var-decl name='__lock' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='24' column='1'/>
+        <var-decl name='__lock' type-id='type-id-1' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='120' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='32'>
         <!-- unsigned int __pthread_mutex_s::__count -->
-        <var-decl name='__count' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='25' column='1'/>
+        <var-decl name='__count' type-id='type-id-42' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='121' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- int __pthread_mutex_s::__owner -->
-        <var-decl name='__owner' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='26' column='1'/>
+        <var-decl name='__owner' type-id='type-id-1' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='122' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='96'>
         <!-- unsigned int __pthread_mutex_s::__nusers -->
-        <var-decl name='__nusers' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='28' column='1'/>
+        <var-decl name='__nusers' type-id='type-id-42' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='124' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- int __pthread_mutex_s::__kind -->
-        <var-decl name='__kind' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='32' column='1'/>
+        <var-decl name='__kind' type-id='type-id-1' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='148' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='160'>
         <!-- short int __pthread_mutex_s::__spins -->
-        <var-decl name='__spins' type-id='type-id-7' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='34' column='1'/>
+        <var-decl name='__spins' type-id='type-id-43' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='176'>
         <!-- short int __pthread_mutex_s::__elision -->
-        <var-decl name='__elision' type-id='type-id-7' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='35' column='1'/>
+        <var-decl name='__elision' type-id='type-id-43' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- __pthread_list_t __pthread_mutex_s::__list -->
-        <var-decl name='__list' type-id='type-id-35' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='36' column='1'/>
+        <var-decl name='__list' type-id='type-id-44' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='155' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __pthread_internal_list __pthread_list_t -->
-    <typedef-decl name='__pthread_list_t' type-id='type-id-36' filepath='/usr/include/bits/thread-shared-types.h' line='53' column='1' id='type-id-35'/>
+    <!-- unsigned int -->
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-42'/>
+    <!-- short int -->
+    <type-decl name='short int' size-in-bits='16' id='type-id-43'/>
     <!-- struct __pthread_internal_list -->
-    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='49' column='1' id='type-id-36'>
+    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='82' column='1' id='type-id-45'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- __pthread_internal_list* __pthread_internal_list::__prev -->
-        <var-decl name='__prev' type-id='type-id-37' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='51' column='1'/>
+        <var-decl name='__prev' type-id='type-id-46' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='84' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- __pthread_internal_list* __pthread_internal_list::__next -->
-        <var-decl name='__next' type-id='type-id-37' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='52' column='1'/>
+        <var-decl name='__next' type-id='type-id-46' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='85' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __int32_t int32_t -->
-    <typedef-decl name='int32_t' type-id='type-id-38' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-31'/>
-    <!-- typedef int __int32_t -->
-    <typedef-decl name='__int32_t' type-id='type-id-5' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-38'/>
     <!-- __pthread_internal_list* -->
-    <pointer-type-def type-id='type-id-36' size-in-bits='64' id='type-id-37'/>
+    <pointer-type-def type-id='type-id-45' size-in-bits='64' id='type-id-46'/>
+    <!-- typedef __pthread_internal_list __pthread_list_t -->
+    <typedef-decl name='__pthread_list_t' type-id='type-id-45' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='86' column='1' id='type-id-44'/>
+    <!-- char -->
+    <type-decl name='char' size-in-bits='8' id='type-id-47'/>
+
+    <!-- char[40] -->
+    <array-type-def dimensions='1' type-id='type-id-47' size-in-bits='320' id='type-id-40'>
+      <!-- <anonymous range>[40] -->
+      <subrange length='40' type-id='type-id-3' id='type-id-48'/>
+
+    </array-type-def>
+    <!-- long int -->
+    <type-decl name='long int' size-in-bits='64' id='type-id-41'/>
+    <!-- typedef __anonymous_union__ pthread_mutex_t -->
+    <typedef-decl name='pthread_mutex_t' type-id='type-id-38' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='72' column='1' id='type-id-37'/>
+    <!-- typedef int __int32_t -->
+    <typedef-decl name='__int32_t' type-id='type-id-1' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='40' column='1' id='type-id-49'/>
+    <!-- typedef __int32_t int32_t -->
+    <typedef-decl name='int32_t' type-id='type-id-49' filepath='/usr/include/x86_64-linux-gnu/bits/stdint-intn.h' line='26' column='1' id='type-id-36'/>
     <!-- call_rcu_data* -->
-    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-39'/>
-    <!-- cds_list_head* -->
-    <pointer-type-def type-id='type-id-12' size-in-bits='64' id='type-id-14'/>
-    <!-- cds_wfcq_node* -->
-    <pointer-type-def type-id='type-id-22' size-in-bits='64' id='type-id-24'/>
-    <!-- const rcu_flavor_struct -->
-    <qualified-type-def type-id='type-id-15' const='yes' id='type-id-40'/>
-    <!-- int ()* -->
-    <pointer-type-def type-id='type-id-41' size-in-bits='64' id='type-id-17'/>
-    <!-- rcu_head* -->
-    <pointer-type-def type-id='type-id-21' size-in-bits='64' id='type-id-42'/>
-    <!-- urcu_atfork* -->
-    <pointer-type-def type-id='type-id-25' size-in-bits='64' id='type-id-43'/>
-    <!-- urcu_bp_reader* -->
-    <pointer-type-def type-id='type-id-11' size-in-bits='64' id='type-id-44'/>
-    <!-- void ()* -->
-    <pointer-type-def type-id='type-id-45' size-in-bits='64' id='type-id-16'/>
-    <!-- void (rcu_head*)* -->
-    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-23'/>
-    <!-- void (rcu_head*, void (rcu_head*)*)* -->
-    <pointer-type-def type-id='type-id-47' size-in-bits='64' id='type-id-18'/>
-    <!-- void (urcu_atfork*)* -->
-    <pointer-type-def type-id='type-id-48' size-in-bits='64' id='type-id-20'/>
-    <!-- void (void (void*)*, void*)* -->
-    <pointer-type-def type-id='type-id-49' size-in-bits='64' id='type-id-19'/>
-    <!-- void (void*)* -->
-    <pointer-type-def type-id='type-id-50' size-in-bits='64' id='type-id-26'/>
-    <!-- void* -->
-    <pointer-type-def type-id='type-id-9' size-in-bits='64' id='type-id-27'/>
-    <!-- void** -->
-    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-51'/>
-    <!-- int urcu_bp_has_sys_membarrier -->
-    <var-decl name='urcu_bp_has_sys_membarrier' type-id='type-id-5' mangled-name='urcu_bp_has_sys_membarrier' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='109' column='1' elf-symbol-id='urcu_bp_has_sys_membarrier'/>
-    <!-- urcu_bp_gp urcu_bp_gp -->
-    <var-decl name='urcu_bp_gp' type-id='type-id-10' mangled-name='rcu_gp_bp' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='88' column='1' elf-symbol-id='rcu_gp_bp'/>
-    <!-- urcu_bp_reader* urcu_bp_reader -->
-    <var-decl name='urcu_bp_reader' type-id='type-id-44' mangled-name='urcu_bp_reader' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='104' column='1' elf-symbol-id='urcu_bp_reader'/>
-    <!-- const rcu_flavor_struct urcu_bp_flavor -->
-    <var-decl name='urcu_bp_flavor' type-id='type-id-40' mangled-name='rcu_flavor_bp' visibility='default' filepath='../include/urcu/flavor.h' line='90' column='1' elf-symbol-id='rcu_flavor_bp'/>
-    <!-- void urcu_bp_defer_exit() -->
-    <function-decl name='urcu_bp_defer_exit' mangled-name='urcu_bp_defer_exit' filepath='src/urcu-defer-impl.h' line='476' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_defer_exit'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_bp_defer_unregister_thread() -->
-    <function-decl name='urcu_bp_defer_unregister_thread' mangled-name='urcu_bp_defer_unregister_thread' filepath='src/urcu-defer-impl.h' line='456' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_defer_unregister_thread'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- int urcu_bp_defer_register_thread() -->
-    <function-decl name='urcu_bp_defer_register_thread' mangled-name='urcu_bp_defer_register_thread' filepath='src/urcu-defer-impl.h' line='432' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_defer_register_thread'>
-      <!-- int -->
-      <return type-id='type-id-5'/>
-    </function-decl>
-    <!-- void urcu_bp_defer_rcu(void (void*)*, void*) -->
-    <function-decl name='urcu_bp_defer_rcu' mangled-name='defer_rcu_bp' filepath='src/urcu-defer-impl.h' line='400' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='defer_rcu_bp'>
-      <!-- parameter of type 'void (void*)*' -->
-      <parameter type-id='type-id-26' name='fct' filepath='src/urcu-defer-impl.h' line='400' column='1'/>
-      <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-27' name='p' filepath='src/urcu-defer-impl.h' line='400' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_bp_defer_barrier() -->
-    <function-decl name='urcu_bp_defer_barrier' mangled-name='rcu_defer_barrier_bp' filepath='src/urcu-defer-impl.h' line='284' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_barrier_bp'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_bp_defer_barrier_thread() -->
-    <function-decl name='urcu_bp_defer_barrier_thread' mangled-name='rcu_defer_barrier_thread_bp' filepath='src/urcu-defer-impl.h' line='262' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_barrier_thread_bp'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_bp_unregister_rculfhash_atfork(urcu_atfork*) -->
-    <function-decl name='urcu_bp_unregister_rculfhash_atfork' mangled-name='urcu_bp_unregister_rculfhash_atfork' filepath='src/urcu-call-rcu-impl.h' line='1056' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_unregister_rculfhash_atfork'>
-      <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-43' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1056' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_bp_register_rculfhash_atfork(urcu_atfork*) -->
-    <function-decl name='urcu_bp_register_rculfhash_atfork' mangled-name='urcu_register_rculfhash_atfork_bp' filepath='src/urcu-call-rcu-impl.h' line='1044' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_register_rculfhash_atfork_bp'>
-      <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-43' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1044' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_bp_call_rcu_after_fork_child() -->
-    <function-decl name='urcu_bp_call_rcu_after_fork_child' mangled-name='call_rcu_after_fork_child_bp' filepath='src/urcu-call-rcu-impl.h' line='1000' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_after_fork_child_bp'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_bp_call_rcu_after_fork_parent() -->
-    <function-decl name='urcu_bp_call_rcu_after_fork_parent' mangled-name='urcu_bp_call_rcu_after_fork_parent' filepath='src/urcu-call-rcu-impl.h' line='976' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_call_rcu_after_fork_parent'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_bp_call_rcu_before_fork() -->
-    <function-decl name='urcu_bp_call_rcu_before_fork' mangled-name='urcu_bp_call_rcu_before_fork' filepath='src/urcu-call-rcu-impl.h' line='947' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_call_rcu_before_fork'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_bp_barrier() -->
-    <function-decl name='urcu_bp_barrier' mangled-name='rcu_barrier_bp' filepath='src/urcu-call-rcu-impl.h' line='874' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_barrier_bp'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_bp_free_all_cpu_call_rcu_data() -->
-    <function-decl name='urcu_bp_free_all_cpu_call_rcu_data' mangled-name='free_all_cpu_call_rcu_data_bp' filepath='src/urcu-call-rcu-impl.h' line='801' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='free_all_cpu_call_rcu_data_bp'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
+    <pointer-type-def type-id='type-id-33' size-in-bits='64' id='type-id-50'/>
     <!-- void urcu_bp_call_rcu_data_free(call_rcu_data*) -->
     <function-decl name='urcu_bp_call_rcu_data_free' mangled-name='call_rcu_data_free_bp' filepath='src/urcu-call-rcu-impl.h' line='764' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_data_free_bp'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='764' column='1'/>
+      <parameter type-id='type-id-50' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='764' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-15'/>
     </function-decl>
     <!-- void urcu_bp_call_rcu(rcu_head*, void (rcu_head*)*) -->
     <function-decl name='urcu_bp_call_rcu' mangled-name='call_rcu_bp' filepath='src/urcu-call-rcu-impl.h' line='725' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_bp'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42' name='head' filepath='src/urcu-call-rcu-impl.h' line='725' column='1'/>
+      <parameter type-id='type-id-22' name='head' filepath='src/urcu-call-rcu-impl.h' line='725' column='1'/>
       <!-- parameter of type 'void (rcu_head*)*' -->
-      <parameter type-id='type-id-23' name='func' filepath='src/urcu-call-rcu-impl.h' line='726' column='1'/>
+      <parameter type-id='type-id-20' name='func' filepath='src/urcu-call-rcu-impl.h' line='726' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-15'/>
     </function-decl>
     <!-- int urcu_bp_create_all_cpu_call_rcu_data(unsigned long int) -->
     <function-decl name='urcu_bp_create_all_cpu_call_rcu_data' mangled-name='create_all_cpu_call_rcu_data_bp' filepath='src/urcu-call-rcu-impl.h' line='645' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='create_all_cpu_call_rcu_data_bp'>
       <!-- parameter of type 'unsigned long int' -->
       <parameter type-id='type-id-3' name='flags' filepath='src/urcu-call-rcu-impl.h' line='645' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
     </function-decl>
     <!-- void urcu_bp_set_thread_call_rcu_data(call_rcu_data*) -->
     <function-decl name='urcu_bp_set_thread_call_rcu_data' mangled-name='urcu_bp_set_thread_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='630' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_set_thread_call_rcu_data'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='630' column='1'/>
+      <parameter type-id='type-id-50' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='630' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-15'/>
     </function-decl>
     <!-- call_rcu_data* urcu_bp_get_thread_call_rcu_data() -->
     <function-decl name='urcu_bp_get_thread_call_rcu_data' mangled-name='urcu_bp_get_thread_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='612' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_get_thread_call_rcu_data'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-50'/>
     </function-decl>
     <!-- call_rcu_data* urcu_bp_get_call_rcu_data() -->
     <function-decl name='urcu_bp_get_call_rcu_data' mangled-name='get_call_rcu_data_bp' filepath='src/urcu-call-rcu-impl.h' line='590' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_call_rcu_data_bp'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-50'/>
     </function-decl>
     <!-- call_rcu_data* urcu_bp_get_default_call_rcu_data() -->
     <function-decl name='urcu_bp_get_default_call_rcu_data' mangled-name='urcu_bp_get_default_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='563' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_get_default_call_rcu_data'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-50'/>
     </function-decl>
     <!-- int urcu_bp_set_cpu_call_rcu_data(int, call_rcu_data*) -->
     <function-decl name='urcu_bp_set_cpu_call_rcu_data' mangled-name='set_cpu_call_rcu_data_bp' filepath='src/urcu-call-rcu-impl.h' line='522' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='set_cpu_call_rcu_data_bp'>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='522' column='1'/>
+      <parameter type-id='type-id-1' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='522' column='1'/>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='522' column='1'/>
+      <parameter type-id='type-id-50' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='522' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
     </function-decl>
     <!-- call_rcu_data* urcu_bp_create_call_rcu_data(unsigned long int, int) -->
     <function-decl name='urcu_bp_create_call_rcu_data' mangled-name='create_call_rcu_data_bp' filepath='src/urcu-call-rcu-impl.h' line='498' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='create_call_rcu_data_bp'>
       <!-- parameter of type 'unsigned long int' -->
       <parameter type-id='type-id-3' name='flags' filepath='src/urcu-call-rcu-impl.h' line='498' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu_affinity' filepath='src/urcu-call-rcu-impl.h' line='499' column='1'/>
+      <parameter type-id='type-id-1' name='cpu_affinity' filepath='src/urcu-call-rcu-impl.h' line='499' column='1'/>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-50'/>
     </function-decl>
     <!-- pthread_t urcu_bp_get_call_rcu_thread(call_rcu_data*) -->
     <function-decl name='urcu_bp_get_call_rcu_thread' mangled-name='urcu_bp_get_call_rcu_thread' filepath='src/urcu-call-rcu-impl.h' line='476' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_get_call_rcu_thread'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='476' column='1'/>
+      <parameter type-id='type-id-50' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='476' column='1'/>
       <!-- typedef pthread_t -->
-      <return type-id='type-id-13'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- call_rcu_data* urcu_bp_get_cpu_call_rcu_data(int) -->
     <function-decl name='urcu_bp_get_cpu_call_rcu_data' mangled-name='urcu_bp_get_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='452' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_get_cpu_call_rcu_data'>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='452' column='1'/>
+      <parameter type-id='type-id-1' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='452' column='1'/>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-50'/>
     </function-decl>
+    <!-- void** -->
+    <pointer-type-def type-id='type-id-25' size-in-bits='64' id='type-id-51'/>
     <!-- void* urcu_bp_cmpxchg_pointer_sym(void**, void*, void*) -->
     <function-decl name='urcu_bp_cmpxchg_pointer_sym' mangled-name='rcu_cmpxchg_pointer_sym_bp' filepath='src/urcu-bp.c' line='774' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_cmpxchg_pointer_sym_bp'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-51' name='p' filepath='src/urcu-bp.c' line='774' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-27' name='old' filepath='src/urcu-bp.c' line='774' column='1'/>
+      <parameter type-id='type-id-25' name='old' filepath='src/urcu-bp.c' line='774' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-27' name='_new' filepath='src/urcu-bp.c' line='774' column='1'/>
+      <parameter type-id='type-id-25' name='_new' filepath='src/urcu-bp.c' line='774' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-27'/>
+      <return type-id='type-id-25'/>
     </function-decl>
     <!-- void* urcu_bp_xchg_pointer_sym(void**, void*) -->
     <function-decl name='urcu_bp_xchg_pointer_sym' mangled-name='urcu_bp_xchg_pointer_sym' filepath='src/urcu-bp.c' line='766' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_xchg_pointer_sym'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-51' name='p' filepath='src/urcu-bp.c' line='766' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-27' name='v' filepath='src/urcu-bp.c' line='766' column='1'/>
+      <parameter type-id='type-id-25' name='v' filepath='src/urcu-bp.c' line='766' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-27'/>
+      <return type-id='type-id-25'/>
     </function-decl>
     <!-- void* urcu_bp_set_pointer_sym(void**, void*) -->
     <function-decl name='urcu_bp_set_pointer_sym' mangled-name='urcu_bp_set_pointer_sym' filepath='src/urcu-bp.c' line='757' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_set_pointer_sym'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-51' name='p' filepath='src/urcu-bp.c' line='757' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-27' name='v' filepath='src/urcu-bp.c' line='757' column='1'/>
+      <parameter type-id='type-id-25' name='v' filepath='src/urcu-bp.c' line='757' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-27'/>
+      <return type-id='type-id-25'/>
     </function-decl>
     <!-- void* urcu_bp_dereference_sym(void*) -->
     <function-decl name='urcu_bp_dereference_sym' mangled-name='rcu_dereference_sym_bp' filepath='src/urcu-bp.c' line='750' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_dereference_sym_bp'>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-27' name='p' filepath='src/urcu-bp.c' line='750' column='1'/>
+      <parameter type-id='type-id-25' name='p' filepath='src/urcu-bp.c' line='750' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-27'/>
+      <return type-id='type-id-25'/>
     </function-decl>
     <!-- void urcu_bp_after_fork_child() -->
     <function-decl name='urcu_bp_after_fork_child' mangled-name='rcu_bp_after_fork_child' filepath='src/urcu-bp.c' line='735' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_bp_after_fork_child'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-15'/>
     </function-decl>
     <!-- void urcu_bp_after_fork_parent() -->
     <function-decl name='urcu_bp_after_fork_parent' mangled-name='urcu_bp_after_fork_parent' filepath='src/urcu-bp.c' line='698' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_after_fork_parent'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-15'/>
     </function-decl>
     <!-- void urcu_bp_before_fork() -->
     <function-decl name='urcu_bp_before_fork' mangled-name='urcu_bp_before_fork' filepath='src/urcu-bp.c' line='683' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_before_fork'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-15'/>
     </function-decl>
     <!-- void urcu_bp_register() -->
     <function-decl name='urcu_bp_register' mangled-name='rcu_bp_register' filepath='src/urcu-bp.c' line='538' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_bp_register'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-15'/>
     </function-decl>
     <!-- int urcu_bp_read_ongoing() -->
     <function-decl name='urcu_bp_read_ongoing' mangled-name='urcu_bp_read_ongoing' filepath='src/urcu-bp.c' line='370' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_read_ongoing'>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
     </function-decl>
     <!-- void urcu_bp_read_unlock() -->
     <function-decl name='urcu_bp_read_unlock' mangled-name='rcu_read_unlock_bp' filepath='src/urcu-bp.c' line='364' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_read_unlock_bp'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-15'/>
     </function-decl>
     <!-- void urcu_bp_read_lock() -->
     <function-decl name='urcu_bp_read_lock' mangled-name='urcu_bp_read_lock' filepath='src/urcu-bp.c' line='358' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_read_lock'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-15'/>
     </function-decl>
     <!-- void urcu_bp_synchronize_rcu() -->
     <function-decl name='urcu_bp_synchronize_rcu' mangled-name='urcu_bp_synchronize_rcu' filepath='src/urcu-bp.c' line='274' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_synchronize_rcu'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-15'/>
     </function-decl>
     <!-- int () -->
-    <function-type size-in-bits='64' id='type-id-41'>
+    <function-type size-in-bits='64' id='type-id-17'>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
     </function-type>
     <!-- void () -->
-    <function-type size-in-bits='64' id='type-id-45'>
+    <function-type size-in-bits='64' id='type-id-16'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-15'/>
     </function-type>
     <!-- void (rcu_head*) -->
-    <function-type size-in-bits='64' id='type-id-46'>
+    <function-type size-in-bits='64' id='type-id-23'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42'/>
+      <parameter type-id='type-id-22'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-15'/>
     </function-type>
     <!-- void (rcu_head*, void (rcu_head*)*) -->
-    <function-type size-in-bits='64' id='type-id-47'>
+    <function-type size-in-bits='64' id='type-id-24'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42'/>
+      <parameter type-id='type-id-22'/>
       <!-- parameter of type 'void (rcu_head*)*' -->
-      <parameter type-id='type-id-23'/>
+      <parameter type-id='type-id-20'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-15'/>
     </function-type>
     <!-- void (urcu_atfork*) -->
-    <function-type size-in-bits='64' id='type-id-48'>
+    <function-type size-in-bits='64' id='type-id-31'>
       <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-43'/>
+      <parameter type-id='type-id-30'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-15'/>
     </function-type>
     <!-- void (void (void*)*, void*) -->
-    <function-type size-in-bits='64' id='type-id-49'>
+    <function-type size-in-bits='64' id='type-id-28'>
       <!-- parameter of type 'void (void*)*' -->
-      <parameter type-id='type-id-26'/>
-      <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-27'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-25'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-15'/>
     </function-type>
     <!-- void (void*) -->
-    <function-type size-in-bits='64' id='type-id-50'>
+    <function-type size-in-bits='64' id='type-id-26'>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-27'/>
+      <parameter type-id='type-id-25'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-15'/>
     </function-type>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='urcu-pointer.c' comp-dir-path='src' language='LANG_C99'>
     <!-- void* rcu_cmpxchg_pointer_sym(void**, void*, void*) -->
     <function-decl name='rcu_cmpxchg_pointer_sym' mangled-name='rcu_cmpxchg_pointer_sym' filepath='src/urcu-pointer.c' line='53' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_cmpxchg_pointer_sym'>
       <!-- parameter of type 'void**' -->
-      <parameter type-id='type-id-51' name='p' filepath='src/urcu-pointer.c' line='53' column='1'/>
+      <parameter type-id='type-id-51' name='p' filepath='src/urcu-bp.c' line='774' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-27' name='old' filepath='src/urcu-pointer.c' line='53' column='1'/>
+      <parameter type-id='type-id-25' name='old' filepath='src/urcu-bp.c' line='774' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-27' name='_new' filepath='src/urcu-pointer.c' line='53' column='1'/>
+      <parameter type-id='type-id-25' name='_new' filepath='src/urcu-bp.c' line='774' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-27'/>
+      <return type-id='type-id-25'/>
     </function-decl>
     <!-- void* rcu_xchg_pointer_sym(void**, void*) -->
     <function-decl name='rcu_xchg_pointer_sym' mangled-name='rcu_xchg_pointer_sym' filepath='src/urcu-pointer.c' line='47' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_xchg_pointer_sym'>
       <!-- parameter of type 'void**' -->
-      <parameter type-id='type-id-51' name='p' filepath='src/urcu-pointer.c' line='47' column='1'/>
+      <parameter type-id='type-id-51' name='p' filepath='src/urcu-bp.c' line='766' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-27' name='v' filepath='src/urcu-pointer.c' line='47' column='1'/>
+      <parameter type-id='type-id-25' name='v' filepath='src/urcu-bp.c' line='766' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-27'/>
+      <return type-id='type-id-25'/>
     </function-decl>
     <!-- void* rcu_set_pointer_sym(void**, void*) -->
     <function-decl name='rcu_set_pointer_sym' mangled-name='rcu_set_pointer_sym' filepath='src/urcu-pointer.c' line='40' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_set_pointer_sym'>
       <!-- parameter of type 'void**' -->
-      <parameter type-id='type-id-51' name='p' filepath='src/urcu-pointer.c' line='40' column='1'/>
+      <parameter type-id='type-id-51' name='p' filepath='src/urcu-bp.c' line='757' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-27' name='v' filepath='src/urcu-pointer.c' line='40' column='1'/>
+      <parameter type-id='type-id-25' name='v' filepath='src/urcu-bp.c' line='757' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-27'/>
+      <return type-id='type-id-25'/>
     </function-decl>
     <!-- void* rcu_dereference_sym(void*) -->
     <function-decl name='rcu_dereference_sym' mangled-name='rcu_dereference_sym' filepath='src/urcu-pointer.c' line='35' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_dereference_sym'>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-27' name='p' filepath='src/urcu-pointer.c' line='35' column='1'/>
+      <parameter type-id='type-id-25' name='p' filepath='src/urcu-bp.c' line='750' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-27'/>
+      <return type-id='type-id-25'/>
     </function-decl>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='compat_futex.c' comp-dir-path='src' language='LANG_C99'>
-
-
-    <!-- char[48] -->
-    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='384' id='type-id-52'>
-      <!-- <anonymous range>[48] -->
-      <subrange length='48' type-id='type-id-3' id='type-id-53'/>
-
-    </array-type-def>
-    <!-- long long int -->
-    <type-decl name='long long int' size-in-bits='64' id='type-id-54'/>
-    <!-- long long unsigned int -->
-    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-55'/>
-    <!-- unsigned int[2] -->
-    <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='64' id='type-id-56'>
-      <!-- <anonymous range>[2] -->
-      <subrange length='2' type-id='type-id-3' id='type-id-57'/>
-
-    </array-type-def>
-    <!-- typedef __anonymous_union__ pthread_cond_t -->
-    <typedef-decl name='pthread_cond_t' type-id='type-id-58' filepath='/usr/include/bits/pthreadtypes.h' line='80' column='1' id='type-id-59'/>
-    <!-- union {__pthread_cond_s __data; char __size[48]; long long int __align;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='75' column='1' id='type-id-58'>
+    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
+    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-37' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='75' column='1' id='type-id-52'>
       <data-member access='private'>
-        <!-- __pthread_cond_s __data -->
-        <var-decl name='__data' type-id='type-id-60' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='77' column='1'/>
+        <!-- __pthread_cond_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-53' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='77' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- char __size[48] -->
-        <var-decl name='__size' type-id='type-id-52' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='78' column='1'/>
+        <!-- char __anonymous_union__::__size[48] -->
+        <var-decl name='__size' type-id='type-id-54' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='78' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- long long int __align -->
-        <var-decl name='__align' type-id='type-id-54' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='79' column='1'/>
+        <!-- long long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-55' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='79' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __pthread_cond_s -->
-    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='92' column='1' id='type-id-60'>
+    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='171' column='1' id='type-id-53'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <!-- union {long long unsigned int __wseq; struct {unsigned int __low; unsigned int __high;} __wseq32;} -->
-        <var-decl name='' type-id='type-id-61' visibility='default'/>
+        <!-- __anonymous_union__  -->
+        <var-decl name='' type-id='type-id-56' visibility='default'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- unsigned int __pthread_cond_s::__g_refs[2] -->
-        <var-decl name='__g_refs' type-id='type-id-56' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='112' column='1'/>
+        <var-decl name='__g_refs' type-id='type-id-57' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='191' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- unsigned int __pthread_cond_s::__g_size[2] -->
-        <var-decl name='__g_size' type-id='type-id-56' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='113' column='1'/>
+        <var-decl name='__g_size' type-id='type-id-57' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='192' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- unsigned int __pthread_cond_s::__g1_orig_size -->
-        <var-decl name='__g1_orig_size' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='114' column='1'/>
+        <var-decl name='__g1_orig_size' type-id='type-id-42' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='193' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='288'>
         <!-- unsigned int __pthread_cond_s::__wrefs -->
-        <var-decl name='__wrefs' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='115' column='1'/>
+        <var-decl name='__wrefs' type-id='type-id-42' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='194' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
         <!-- unsigned int __pthread_cond_s::__g_signals[2] -->
-        <var-decl name='__g_signals' type-id='type-id-56' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='116' column='1'/>
+        <var-decl name='__g_signals' type-id='type-id-57' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='195' column='1'/>
       </data-member>
     </class-decl>
-    <!-- union {long long unsigned int __wseq; struct {unsigned int __low; unsigned int __high;} __wseq32;} -->
-    <union-decl name='__anonymous_union__1' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='94' column='1' id='type-id-61'>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='173' column='1' id='type-id-56'>
       <data-member access='private'>
-        <!-- long long unsigned int __wseq -->
-        <var-decl name='__wseq' type-id='type-id-55' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='96' column='1'/>
+        <!-- long long unsigned int __anonymous_union__::__wseq -->
+        <var-decl name='__wseq' type-id='type-id-58' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='175' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- struct {unsigned int __low; unsigned int __high;} __wseq32 -->
-        <var-decl name='__wseq32' type-id='type-id-62' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='101' column='1'/>
+        <!-- __anonymous_struct__ __anonymous_union__::__wseq32 -->
+        <var-decl name='__wseq32' type-id='type-id-59' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='180' column='1'/>
       </data-member>
     </union-decl>
-    <!-- struct {unsigned int __low; unsigned int __high;} -->
-    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='97' column='1' id='type-id-62'>
+    <!-- long long unsigned int -->
+    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-58'/>
+    <!-- struct __anonymous_struct__ -->
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='176' column='1' id='type-id-59'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <!-- unsigned int __low -->
-        <var-decl name='__low' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='99' column='1'/>
+        <!-- unsigned int __anonymous_struct__::__low -->
+        <var-decl name='__low' type-id='type-id-42' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='178' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='32'>
-        <!-- unsigned int __high -->
-        <var-decl name='__high' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='100' column='1'/>
+        <!-- unsigned int __anonymous_struct__::__high -->
+        <var-decl name='__high' type-id='type-id-42' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='179' column='1'/>
       </data-member>
     </class-decl>
+
+    <!-- unsigned int[2] -->
+    <array-type-def dimensions='1' type-id='type-id-42' size-in-bits='64' id='type-id-57'>
+      <!-- <anonymous range>[2] -->
+      <subrange length='2' type-id='type-id-3' id='type-id-60'/>
+
+    </array-type-def>
+
+    <!-- char[48] -->
+    <array-type-def dimensions='1' type-id='type-id-47' size-in-bits='384' id='type-id-54'>
+      <!-- <anonymous range>[48] -->
+      <subrange length='48' type-id='type-id-3' id='type-id-61'/>
+
+    </array-type-def>
+    <!-- long long int -->
+    <type-decl name='long long int' size-in-bits='64' id='type-id-55'/>
+    <!-- typedef __anonymous_union__ pthread_cond_t -->
+    <typedef-decl name='pthread_cond_t' type-id='type-id-52' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='80' column='1' id='type-id-62'/>
+    <!-- pthread_cond_t __urcu_compat_futex_cond -->
+    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-62' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
+    <!-- int32_t* -->
+    <pointer-type-def type-id='type-id-36' size-in-bits='64' id='type-id-63'/>
     <!-- struct timespec -->
-    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='10' column='1' id='type-id-63'>
+    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='9' column='1' id='type-id-64'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- __time_t timespec::tv_sec -->
-        <var-decl name='tv_sec' type-id='type-id-64' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='12' column='1'/>
+        <var-decl name='tv_sec' type-id='type-id-65' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='11' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- __syscall_slong_t timespec::tv_nsec -->
-        <var-decl name='tv_nsec' type-id='type-id-65' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='16' column='1'/>
+        <var-decl name='tv_nsec' type-id='type-id-66' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='12' column='1'/>
       </data-member>
     </class-decl>
     <!-- typedef long int __time_t -->
-    <typedef-decl name='__time_t' type-id='type-id-6' filepath='/usr/include/bits/types.h' line='160' column='1' id='type-id-64'/>
+    <typedef-decl name='__time_t' type-id='type-id-41' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='148' column='1' id='type-id-65'/>
     <!-- typedef long int __syscall_slong_t -->
-    <typedef-decl name='__syscall_slong_t' type-id='type-id-6' filepath='/usr/include/bits/types.h' line='197' column='1' id='type-id-65'/>
+    <typedef-decl name='__syscall_slong_t' type-id='type-id-41' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='184' column='1' id='type-id-66'/>
     <!-- const timespec -->
-    <qualified-type-def type-id='type-id-63' const='yes' id='type-id-66'/>
+    <qualified-type-def type-id='type-id-64' const='yes' id='type-id-67'/>
     <!-- const timespec* -->
-    <pointer-type-def type-id='type-id-66' size-in-bits='64' id='type-id-67'/>
-    <!-- int32_t* -->
-    <pointer-type-def type-id='type-id-31' size-in-bits='64' id='type-id-68'/>
-    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
-    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-32' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
-    <!-- pthread_cond_t __urcu_compat_futex_cond -->
-    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-59' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
+    <pointer-type-def type-id='type-id-67' size-in-bits='64' id='type-id-68'/>
     <!-- int compat_futex_async(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
     <function-decl name='compat_futex_async' mangled-name='compat_futex_async' filepath='src/compat_futex.c' line='118' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_async'>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-68' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-63' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-1' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-31' name='val' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-36' name='val' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'const timespec*' -->
-      <parameter type-id='type-id-67' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-68' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-68' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-63' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-31' name='val3' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-36' name='val3' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
     </function-decl>
     <!-- int compat_futex_noasync(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
     <function-decl name='compat_futex_noasync' mangled-name='compat_futex_noasync' filepath='src/compat_futex.c' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_noasync'>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-68' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-63' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-1' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-31' name='val' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-36' name='val' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'const timespec*' -->
-      <parameter type-id='type-id-67' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-68' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-68' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-63' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-31' name='val3' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-36' name='val3' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
     </function-decl>
   </abi-instr>
 </abi-corpus>
index 6da0790a224d30f71ff54ecd770f12660db0b255..5bad4df0a3d0209f4a84aa6ca14c8035859b2023 100644 (file)
@@ -1,6 +1,5 @@
 <abi-corpus architecture='elf-amd-x86_64' soname='liburcu-cds.so.6'>
   <elf-needed>
-    <dependency name='liburcu-common.so.6'/>
     <dependency name='libpthread.so.0'/>
     <dependency name='libc.so.6'/>
   </elf-needed>
     <elf-symbol name='__cds_lfs_pop_all' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- _cds_lfht_new -->
     <elf-symbol name='_cds_lfht_new' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- _fini -->
+    <elf-symbol name='_fini' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- _init -->
+    <elf-symbol name='_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- cds_lfht_add -->
     <elf-symbol name='cds_lfht_add' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- cds_lfht_add_replace -->
     <elf-symbol name='cds_lfht_mm_order' size='32' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
   </elf-variable-symbols>
   <abi-instr version='1.0' address-size='64' path='rculfqueue.c' comp-dir-path='src' language='LANG_C99'>
-    <!-- int -->
-    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
-    <!-- void -->
-    <type-decl name='void' id='type-id-2'/>
     <!-- struct cds_lfq_node_rcu -->
-    <class-decl name='cds_lfq_node_rcu' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/rculfqueue.h' line='35' column='1' id='type-id-3'>
+    <class-decl name='cds_lfq_node_rcu' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/rculfqueue.h' line='35' column='1' id='type-id-1'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_lfq_node_rcu* cds_lfq_node_rcu::next -->
-        <var-decl name='next' type-id='type-id-4' visibility='default' filepath='../include/urcu/rculfqueue.h' line='36' column='1'/>
+        <var-decl name='next' type-id='type-id-2' visibility='default' filepath='../include/urcu/rculfqueue.h' line='36' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- int cds_lfq_node_rcu::dummy -->
-        <var-decl name='dummy' type-id='type-id-1' visibility='default' filepath='../include/urcu/rculfqueue.h' line='37' column='1'/>
+        <var-decl name='dummy' type-id='type-id-3' visibility='default' filepath='../include/urcu/rculfqueue.h' line='37' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_lfq_node_rcu* -->
+    <pointer-type-def type-id='type-id-1' size-in-bits='64' id='type-id-2'/>
+    <!-- int -->
+    <type-decl name='int' size-in-bits='32' id='type-id-3'/>
     <!-- struct cds_lfq_queue_rcu -->
-    <class-decl name='cds_lfq_queue_rcu' size-in-bits='192' is-struct='yes' visibility='default' filepath='../include/urcu/rculfqueue.h' line='40' column='1' id='type-id-5'>
+    <class-decl name='cds_lfq_queue_rcu' size-in-bits='192' is-struct='yes' visibility='default' filepath='../include/urcu/rculfqueue.h' line='40' column='1' id='type-id-4'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_lfq_node_rcu* cds_lfq_queue_rcu::head -->
-        <var-decl name='head' type-id='type-id-4' visibility='default' filepath='../include/urcu/rculfqueue.h' line='41' column='1'/>
+        <var-decl name='head' type-id='type-id-2' visibility='default' filepath='../include/urcu/rculfqueue.h' line='41' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- cds_lfq_node_rcu* cds_lfq_queue_rcu::tail -->
-        <var-decl name='tail' type-id='type-id-4' visibility='default' filepath='../include/urcu/rculfqueue.h' line='41' column='1'/>
+        <var-decl name='tail' type-id='type-id-2' visibility='default' filepath='../include/urcu/rculfqueue.h' line='41' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- void (rcu_head*, void (rcu_head*)*)* cds_lfq_queue_rcu::queue_call_rcu -->
-        <var-decl name='queue_call_rcu' type-id='type-id-6' visibility='default' filepath='../include/urcu/rculfqueue.h' line='42' column='1'/>
+        <var-decl name='queue_call_rcu' type-id='type-id-5' visibility='default' filepath='../include/urcu/rculfqueue.h' line='42' column='1'/>
       </data-member>
     </class-decl>
+    <!-- void -->
+    <type-decl name='void' id='type-id-6'/>
     <!-- struct rcu_head -->
     <class-decl name='rcu_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/call-rcu.h' line='57' column='1' id='type-id-7'>
       <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='next' type-id='type-id-10' visibility='default' filepath='../include/urcu/wfcqueue.h' line='60' column='1'/>
       </data-member>
     </class-decl>
-    <!-- cds_lfq_node_rcu* -->
-    <pointer-type-def type-id='type-id-3' size-in-bits='64' id='type-id-4'/>
-    <!-- cds_lfq_queue_rcu* -->
-    <pointer-type-def type-id='type-id-5' size-in-bits='64' id='type-id-11'/>
     <!-- cds_wfcq_node* -->
     <pointer-type-def type-id='type-id-8' size-in-bits='64' id='type-id-10'/>
     <!-- rcu_head* -->
-    <pointer-type-def type-id='type-id-7' size-in-bits='64' id='type-id-12'/>
+    <pointer-type-def type-id='type-id-7' size-in-bits='64' id='type-id-11'/>
     <!-- void (rcu_head*)* -->
-    <pointer-type-def type-id='type-id-13' size-in-bits='64' id='type-id-9'/>
+    <pointer-type-def type-id='type-id-12' size-in-bits='64' id='type-id-9'/>
     <!-- void (rcu_head*, void (rcu_head*)*)* -->
-    <pointer-type-def type-id='type-id-14' size-in-bits='64' id='type-id-6'/>
+    <pointer-type-def type-id='type-id-13' size-in-bits='64' id='type-id-5'/>
+    <!-- cds_lfq_queue_rcu* -->
+    <pointer-type-def type-id='type-id-4' size-in-bits='64' id='type-id-14'/>
     <!-- cds_lfq_node_rcu* cds_lfq_dequeue_rcu(cds_lfq_queue_rcu*) -->
     <function-decl name='cds_lfq_dequeue_rcu' mangled-name='cds_lfq_dequeue_rcu' filepath='src/rculfqueue.c' line='56' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfq_dequeue_rcu'>
       <!-- parameter of type 'cds_lfq_queue_rcu*' -->
-      <parameter type-id='type-id-11' name='q' filepath='src/rculfqueue.c' line='56' column='1'/>
+      <parameter type-id='type-id-14' name='q' filepath='src/rculfqueue.c' line='56' column='1'/>
       <!-- cds_lfq_node_rcu* -->
-      <return type-id='type-id-4'/>
+      <return type-id='type-id-2'/>
     </function-decl>
     <!-- void cds_lfq_enqueue_rcu(cds_lfq_queue_rcu*, cds_lfq_node_rcu*) -->
     <function-decl name='cds_lfq_enqueue_rcu' mangled-name='cds_lfq_enqueue_rcu' filepath='src/rculfqueue.c' line='50' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfq_enqueue_rcu'>
       <!-- parameter of type 'cds_lfq_queue_rcu*' -->
-      <parameter type-id='type-id-11' name='q' filepath='src/rculfqueue.c' line='50' column='1'/>
+      <parameter type-id='type-id-14' name='q' filepath='src/rculfqueue.c' line='50' column='1'/>
       <!-- parameter of type 'cds_lfq_node_rcu*' -->
-      <parameter type-id='type-id-4' name='node' filepath='src/rculfqueue.c' line='50' column='1'/>
+      <parameter type-id='type-id-2' name='node' filepath='src/rculfqueue.c' line='50' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- int cds_lfq_destroy_rcu(cds_lfq_queue_rcu*) -->
     <function-decl name='cds_lfq_destroy_rcu' mangled-name='cds_lfq_destroy_rcu' filepath='src/rculfqueue.c' line='45' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfq_destroy_rcu'>
       <!-- parameter of type 'cds_lfq_queue_rcu*' -->
-      <parameter type-id='type-id-11' name='q' filepath='src/rculfqueue.c' line='45' column='1'/>
+      <parameter type-id='type-id-14' name='q' filepath='src/rculfqueue.c' line='45' column='1'/>
       <!-- int -->
-      <return type-id='type-id-1'/>
+      <return type-id='type-id-3'/>
     </function-decl>
     <!-- void cds_lfq_init_rcu(cds_lfq_queue_rcu*, void (rcu_head*, void (rcu_head*)*)*) -->
     <function-decl name='cds_lfq_init_rcu' mangled-name='cds_lfq_init_rcu' filepath='src/rculfqueue.c' line='38' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfq_init_rcu'>
       <!-- parameter of type 'cds_lfq_queue_rcu*' -->
-      <parameter type-id='type-id-11' name='q' filepath='src/rculfqueue.c' line='38' column='1'/>
+      <parameter type-id='type-id-14' name='q' filepath='src/rculfqueue.c' line='38' column='1'/>
       <!-- parameter of type 'void (rcu_head*, void (rcu_head*)*)*' -->
-      <parameter type-id='type-id-6' name='queue_call_rcu' filepath='src/rculfqueue.c' line='39' column='1'/>
+      <parameter type-id='type-id-5' name='queue_call_rcu' filepath='src/rculfqueue.c' line='39' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- void cds_lfq_node_init_rcu(cds_lfq_node_rcu*) -->
     <function-decl name='cds_lfq_node_init_rcu' mangled-name='cds_lfq_node_init_rcu' filepath='src/rculfqueue.c' line='33' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfq_node_init_rcu'>
       <!-- parameter of type 'cds_lfq_node_rcu*' -->
-      <parameter type-id='type-id-4' name='node' filepath='src/rculfqueue.c' line='33' column='1'/>
+      <parameter type-id='type-id-2' name='node' filepath='src/rculfqueue.c' line='33' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- void (rcu_head*) -->
-    <function-type size-in-bits='64' id='type-id-13'>
+    <function-type size-in-bits='64' id='type-id-12'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-12'/>
+      <parameter type-id='type-id-11'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-type>
     <!-- void (rcu_head*, void (rcu_head*)*) -->
-    <function-type size-in-bits='64' id='type-id-14'>
+    <function-type size-in-bits='64' id='type-id-13'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-12'/>
+      <parameter type-id='type-id-11'/>
       <!-- parameter of type 'void (rcu_head*)*' -->
       <parameter type-id='type-id-9'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-type>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='rculfstack.c' comp-dir-path='src' language='LANG_C99'>
         <var-decl name='next' type-id='type-id-16' visibility='default' filepath='../include/urcu/rculfstack.h' line='38' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_lfs_node_rcu* -->
+    <pointer-type-def type-id='type-id-15' size-in-bits='64' id='type-id-16'/>
     <!-- struct cds_lfs_stack_rcu -->
     <class-decl name='cds_lfs_stack_rcu' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/rculfstack.h' line='41' column='1' id='type-id-17'>
       <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='head' type-id='type-id-16' visibility='default' filepath='../include/urcu/rculfstack.h' line='42' column='1'/>
       </data-member>
     </class-decl>
-    <!-- cds_lfs_node_rcu* -->
-    <pointer-type-def type-id='type-id-15' size-in-bits='64' id='type-id-16'/>
     <!-- cds_lfs_stack_rcu* -->
     <pointer-type-def type-id='type-id-17' size-in-bits='64' id='type-id-18'/>
     <!-- cds_lfs_node_rcu* cds_lfs_pop_rcu(cds_lfs_stack_rcu*) -->
       <!-- parameter of type 'cds_lfs_node_rcu*' -->
       <parameter type-id='type-id-16' name='node' filepath='src/rculfstack.c' line='48' column='1'/>
       <!-- int -->
-      <return type-id='type-id-1'/>
+      <return type-id='type-id-3'/>
     </function-decl>
     <!-- void cds_lfs_init_rcu(cds_lfs_stack_rcu*) -->
     <function-decl name='cds_lfs_init_rcu' mangled-name='cds_lfs_init_rcu' filepath='src/rculfstack.c' line='42' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_init_rcu'>
       <!-- parameter of type 'cds_lfs_stack_rcu*' -->
       <parameter type-id='type-id-18' name='s' filepath='src/rculfstack.c' line='42' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- void cds_lfs_node_init_rcu(cds_lfs_node_rcu*) -->
     <function-decl name='cds_lfs_node_init_rcu' mangled-name='cds_lfs_node_init_rcu' filepath='src/rculfstack.c' line='37' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_node_init_rcu'>
       <!-- parameter of type 'cds_lfs_node_rcu*' -->
       <parameter type-id='type-id-16' name='node' filepath='src/rculfstack.c' line='37' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='lfstack.c' comp-dir-path='src' language='LANG_C99'>
-
-    <!-- bool -->
-    <type-decl name='bool' size-in-bits='8' id='type-id-19'/>
-    <!-- char -->
-    <type-decl name='char' size-in-bits='8' id='type-id-20'/>
-    <!-- char[40] -->
-    <array-type-def dimensions='1' type-id='type-id-20' size-in-bits='320' id='type-id-21'>
-      <!-- <anonymous range>[40] -->
-      <subrange length='40' type-id='type-id-22' id='type-id-23'/>
-
-    </array-type-def>
-    <!-- long int -->
-    <type-decl name='long int' size-in-bits='64' id='type-id-24'/>
-    <!-- short int -->
-    <type-decl name='short int' size-in-bits='16' id='type-id-25'/>
-    <!-- unsigned int -->
-    <type-decl name='unsigned int' size-in-bits='32' id='type-id-26'/>
-    <!-- unsigned long int -->
-    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-22'/>
     <!-- struct cds_lfs_head -->
-    <class-decl name='cds_lfs_head' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/lfstack.h' line='69' column='1' id='type-id-27'>
+    <class-decl name='cds_lfs_head' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/lfstack.h' line='69' column='1' id='type-id-19'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_lfs_node cds_lfs_head::node -->
-        <var-decl name='node' type-id='type-id-28' visibility='default' filepath='../include/urcu/lfstack.h' line='70' column='1'/>
+        <var-decl name='node' type-id='type-id-20' visibility='default' filepath='../include/urcu/lfstack.h' line='70' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_lfs_node -->
-    <class-decl name='cds_lfs_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/lfstack.h' line='59' column='1' id='type-id-28'>
+    <class-decl name='cds_lfs_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/lfstack.h' line='59' column='1' id='type-id-20'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_lfs_node* cds_lfs_node::next -->
-        <var-decl name='next' type-id='type-id-29' visibility='default' filepath='../include/urcu/lfstack.h' line='60' column='1'/>
+        <var-decl name='next' type-id='type-id-21' visibility='default' filepath='../include/urcu/lfstack.h' line='60' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __anonymous_union__ cds_lfs_stack_ptr_t -->
-    <typedef-decl name='cds_lfs_stack_ptr_t' type-id='type-id-30' filepath='../include/urcu/lfstack.h' line='90' column='1' id='type-id-31'/>
-    <!-- union {__cds_lfs_stack* _s; cds_lfs_stack* s;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../include/urcu/lfstack.h' line='87' column='1' id='type-id-30'>
+    <!-- cds_lfs_node* -->
+    <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-21'/>
+    <!-- cds_lfs_head* -->
+    <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-22'/>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../include/urcu/lfstack.h' line='87' column='1' id='type-id-23'>
       <data-member access='private'>
-        <!-- __cds_lfs_stack* _s -->
-        <var-decl name='_s' type-id='type-id-32' visibility='default' filepath='../include/urcu/lfstack.h' line='88' column='1'/>
+        <!-- __cds_lfs_stack* __anonymous_union__::_s -->
+        <var-decl name='_s' type-id='type-id-24' visibility='default' filepath='../include/urcu/lfstack.h' line='88' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- cds_lfs_stack* s -->
-        <var-decl name='s' type-id='type-id-33' visibility='default' filepath='../include/urcu/lfstack.h' line='89' column='1'/>
+        <!-- cds_lfs_stack* __anonymous_union__::s -->
+        <var-decl name='s' type-id='type-id-25' visibility='default' filepath='../include/urcu/lfstack.h' line='89' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __cds_lfs_stack -->
-    <class-decl name='__cds_lfs_stack' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/lfstack.h' line='73' column='1' id='type-id-34'>
+    <class-decl name='__cds_lfs_stack' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/lfstack.h' line='73' column='1' id='type-id-26'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_lfs_head* __cds_lfs_stack::head -->
-        <var-decl name='head' type-id='type-id-35' visibility='default' filepath='../include/urcu/lfstack.h' line='74' column='1'/>
+        <var-decl name='head' type-id='type-id-22' visibility='default' filepath='../include/urcu/lfstack.h' line='74' column='1'/>
       </data-member>
     </class-decl>
+    <!-- __cds_lfs_stack* -->
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-24'/>
     <!-- struct cds_lfs_stack -->
-    <class-decl name='cds_lfs_stack' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/lfstack.h' line='77' column='1' id='type-id-36'>
+    <class-decl name='cds_lfs_stack' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/lfstack.h' line='77' column='1' id='type-id-27'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_lfs_head* cds_lfs_stack::head -->
-        <var-decl name='head' type-id='type-id-35' visibility='default' filepath='../include/urcu/lfstack.h' line='78' column='1'/>
+        <var-decl name='head' type-id='type-id-22' visibility='default' filepath='../include/urcu/lfstack.h' line='78' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- pthread_mutex_t cds_lfs_stack::lock -->
-        <var-decl name='lock' type-id='type-id-37' visibility='default' filepath='../include/urcu/lfstack.h' line='79' column='1'/>
+        <var-decl name='lock' type-id='type-id-28' visibility='default' filepath='../include/urcu/lfstack.h' line='79' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __anonymous_union__1 pthread_mutex_t -->
-    <typedef-decl name='pthread_mutex_t' type-id='type-id-38' filepath='/usr/include/bits/pthreadtypes.h' line='72' column='1' id='type-id-37'/>
-    <!-- union {__pthread_mutex_s __data; char __size[40]; long int __align;} -->
-    <union-decl name='__anonymous_union__1' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='67' column='1' id='type-id-38'>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='67' column='1' id='type-id-29'>
       <data-member access='private'>
-        <!-- __pthread_mutex_s __data -->
-        <var-decl name='__data' type-id='type-id-39' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='69' column='1'/>
+        <!-- __pthread_mutex_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-30' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='69' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- char __size[40] -->
-        <var-decl name='__size' type-id='type-id-21' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='70' column='1'/>
+        <!-- char __anonymous_union__::__size[40] -->
+        <var-decl name='__size' type-id='type-id-31' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='70' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- long int __align -->
-        <var-decl name='__align' type-id='type-id-24' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='71' column='1'/>
+        <!-- long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-32' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='71' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __pthread_mutex_s -->
-    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='22' column='1' id='type-id-39'>
+    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='118' column='1' id='type-id-30'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- int __pthread_mutex_s::__lock -->
-        <var-decl name='__lock' type-id='type-id-1' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='24' column='1'/>
+        <var-decl name='__lock' type-id='type-id-3' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='120' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='32'>
         <!-- unsigned int __pthread_mutex_s::__count -->
-        <var-decl name='__count' type-id='type-id-26' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='25' column='1'/>
+        <var-decl name='__count' type-id='type-id-33' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='121' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- int __pthread_mutex_s::__owner -->
-        <var-decl name='__owner' type-id='type-id-1' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='26' column='1'/>
+        <var-decl name='__owner' type-id='type-id-3' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='122' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='96'>
         <!-- unsigned int __pthread_mutex_s::__nusers -->
-        <var-decl name='__nusers' type-id='type-id-26' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='28' column='1'/>
+        <var-decl name='__nusers' type-id='type-id-33' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='124' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- int __pthread_mutex_s::__kind -->
-        <var-decl name='__kind' type-id='type-id-1' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='32' column='1'/>
+        <var-decl name='__kind' type-id='type-id-3' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='148' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='160'>
         <!-- short int __pthread_mutex_s::__spins -->
-        <var-decl name='__spins' type-id='type-id-25' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='34' column='1'/>
+        <var-decl name='__spins' type-id='type-id-34' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='176'>
         <!-- short int __pthread_mutex_s::__elision -->
-        <var-decl name='__elision' type-id='type-id-25' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='35' column='1'/>
+        <var-decl name='__elision' type-id='type-id-34' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- __pthread_list_t __pthread_mutex_s::__list -->
-        <var-decl name='__list' type-id='type-id-40' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='36' column='1'/>
+        <var-decl name='__list' type-id='type-id-35' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='155' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __pthread_internal_list __pthread_list_t -->
-    <typedef-decl name='__pthread_list_t' type-id='type-id-41' filepath='/usr/include/bits/thread-shared-types.h' line='53' column='1' id='type-id-40'/>
+    <!-- unsigned int -->
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-33'/>
+    <!-- short int -->
+    <type-decl name='short int' size-in-bits='16' id='type-id-34'/>
     <!-- struct __pthread_internal_list -->
-    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='49' column='1' id='type-id-41'>
+    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='82' column='1' id='type-id-36'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- __pthread_internal_list* __pthread_internal_list::__prev -->
-        <var-decl name='__prev' type-id='type-id-42' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='51' column='1'/>
+        <var-decl name='__prev' type-id='type-id-37' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='84' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- __pthread_internal_list* __pthread_internal_list::__next -->
-        <var-decl name='__next' type-id='type-id-42' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='52' column='1'/>
+        <var-decl name='__next' type-id='type-id-37' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='85' column='1'/>
       </data-member>
     </class-decl>
-    <!-- __cds_lfs_stack* -->
-    <pointer-type-def type-id='type-id-34' size-in-bits='64' id='type-id-32'/>
     <!-- __pthread_internal_list* -->
-    <pointer-type-def type-id='type-id-41' size-in-bits='64' id='type-id-42'/>
-    <!-- cds_lfs_head* -->
-    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-35'/>
-    <!-- cds_lfs_node* -->
-    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-29'/>
+    <pointer-type-def type-id='type-id-36' size-in-bits='64' id='type-id-37'/>
+    <!-- typedef __pthread_internal_list __pthread_list_t -->
+    <typedef-decl name='__pthread_list_t' type-id='type-id-36' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='86' column='1' id='type-id-35'/>
+    <!-- char -->
+    <type-decl name='char' size-in-bits='8' id='type-id-38'/>
+    <!-- unsigned long int -->
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-39'/>
+
+    <!-- char[40] -->
+    <array-type-def dimensions='1' type-id='type-id-38' size-in-bits='320' id='type-id-31'>
+      <!-- <anonymous range>[40] -->
+      <subrange length='40' type-id='type-id-39' id='type-id-40'/>
+
+    </array-type-def>
+    <!-- long int -->
+    <type-decl name='long int' size-in-bits='64' id='type-id-32'/>
+    <!-- typedef __anonymous_union__ pthread_mutex_t -->
+    <typedef-decl name='pthread_mutex_t' type-id='type-id-29' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='72' column='1' id='type-id-28'/>
     <!-- cds_lfs_stack* -->
-    <pointer-type-def type-id='type-id-36' size-in-bits='64' id='type-id-33'/>
+    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-25'/>
+    <!-- typedef __anonymous_union__ cds_lfs_stack_ptr_t -->
+    <typedef-decl name='cds_lfs_stack_ptr_t' type-id='type-id-23' filepath='../include/urcu/lfstack.h' line='90' column='1' id='type-id-41'/>
     <!-- cds_lfs_head* __cds_lfs_pop_all(cds_lfs_stack_ptr_t) -->
     <function-decl name='__cds_lfs_pop_all' mangled-name='__cds_lfs_pop_all' filepath='src/lfstack.c' line='88' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_lfs_pop_all'>
       <!-- parameter of type 'typedef cds_lfs_stack_ptr_t' -->
-      <parameter type-id='type-id-31' name='s' filepath='src/lfstack.c' line='88' column='1'/>
+      <parameter type-id='type-id-41' name='s' filepath='src/lfstack.c' line='88' column='1'/>
       <!-- cds_lfs_head* -->
-      <return type-id='type-id-35'/>
+      <return type-id='type-id-22'/>
     </function-decl>
     <!-- cds_lfs_node* __cds_lfs_pop(cds_lfs_stack_ptr_t) -->
     <function-decl name='__cds_lfs_pop' mangled-name='__cds_lfs_pop' filepath='src/lfstack.c' line='83' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_lfs_pop'>
       <!-- parameter of type 'typedef cds_lfs_stack_ptr_t' -->
-      <parameter type-id='type-id-31' name='s' filepath='src/lfstack.c' line='83' column='1'/>
+      <parameter type-id='type-id-41' name='s' filepath='src/lfstack.c' line='83' column='1'/>
       <!-- cds_lfs_node* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-21'/>
     </function-decl>
     <!-- void cds_lfs_pop_unlock(cds_lfs_stack*) -->
     <function-decl name='cds_lfs_pop_unlock' mangled-name='cds_lfs_pop_unlock' filepath='src/lfstack.c' line='78' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_pop_unlock'>
       <!-- parameter of type 'cds_lfs_stack*' -->
-      <parameter type-id='type-id-33' name='s' filepath='src/lfstack.c' line='78' column='1'/>
+      <parameter type-id='type-id-25' name='s' filepath='src/lfstack.c' line='78' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- void cds_lfs_pop_lock(cds_lfs_stack*) -->
     <function-decl name='cds_lfs_pop_lock' mangled-name='cds_lfs_pop_lock' filepath='src/lfstack.c' line='73' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_pop_lock'>
       <!-- parameter of type 'cds_lfs_stack*' -->
-      <parameter type-id='type-id-33' name='s' filepath='src/lfstack.c' line='73' column='1'/>
+      <parameter type-id='type-id-25' name='s' filepath='src/lfstack.c' line='78' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- cds_lfs_head* cds_lfs_pop_all_blocking(cds_lfs_stack*) -->
     <function-decl name='cds_lfs_pop_all_blocking' mangled-name='cds_lfs_pop_all_blocking' filepath='src/lfstack.c' line='68' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_pop_all_blocking'>
       <!-- parameter of type 'cds_lfs_stack*' -->
-      <parameter type-id='type-id-33' name='s' filepath='src/lfstack.c' line='68' column='1'/>
+      <parameter type-id='type-id-25' name='s' filepath='src/lfstack.c' line='68' column='1'/>
       <!-- cds_lfs_head* -->
-      <return type-id='type-id-35'/>
+      <return type-id='type-id-22'/>
     </function-decl>
     <!-- cds_lfs_node* cds_lfs_pop_blocking(cds_lfs_stack*) -->
     <function-decl name='cds_lfs_pop_blocking' mangled-name='cds_lfs_pop_blocking' filepath='src/lfstack.c' line='63' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_pop_blocking'>
       <!-- parameter of type 'cds_lfs_stack*' -->
-      <parameter type-id='type-id-33' name='s' filepath='src/lfstack.c' line='63' column='1'/>
+      <parameter type-id='type-id-25' name='s' filepath='src/lfstack.c' line='63' column='1'/>
       <!-- cds_lfs_node* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-21'/>
     </function-decl>
+    <!-- bool -->
+    <type-decl name='bool' size-in-bits='8' id='type-id-42'/>
     <!-- bool cds_lfs_push(cds_lfs_stack_ptr_t, cds_lfs_node*) -->
     <function-decl name='cds_lfs_push' mangled-name='cds_lfs_push' filepath='src/lfstack.c' line='58' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_push'>
       <!-- parameter of type 'typedef cds_lfs_stack_ptr_t' -->
-      <parameter type-id='type-id-31' name='s' filepath='src/lfstack.c' line='58' column='1'/>
+      <parameter type-id='type-id-41' name='s' filepath='src/lfstack.c' line='58' column='1'/>
       <!-- parameter of type 'cds_lfs_node*' -->
-      <parameter type-id='type-id-29' name='node' filepath='src/lfstack.c' line='58' column='1'/>
+      <parameter type-id='type-id-21' name='node' filepath='src/lfstack.c' line='58' column='1'/>
       <!-- bool -->
-      <return type-id='type-id-19'/>
+      <return type-id='type-id-42'/>
     </function-decl>
     <!-- bool cds_lfs_empty(cds_lfs_stack_ptr_t) -->
     <function-decl name='cds_lfs_empty' mangled-name='cds_lfs_empty' filepath='src/lfstack.c' line='53' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_empty'>
       <!-- parameter of type 'typedef cds_lfs_stack_ptr_t' -->
-      <parameter type-id='type-id-31' name='s' filepath='src/lfstack.c' line='53' column='1'/>
+      <parameter type-id='type-id-41' name='s' filepath='src/lfstack.c' line='53' column='1'/>
       <!-- bool -->
-      <return type-id='type-id-19'/>
+      <return type-id='type-id-42'/>
     </function-decl>
     <!-- void __cds_lfs_init(__cds_lfs_stack*) -->
     <function-decl name='__cds_lfs_init' mangled-name='__cds_lfs_init' filepath='src/lfstack.c' line='48' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_lfs_init'>
       <!-- parameter of type '__cds_lfs_stack*' -->
-      <parameter type-id='type-id-32' name='s' filepath='src/lfstack.c' line='48' column='1'/>
+      <parameter type-id='type-id-24' name='s' filepath='src/lfstack.c' line='48' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- void cds_lfs_destroy(cds_lfs_stack*) -->
     <function-decl name='cds_lfs_destroy' mangled-name='cds_lfs_destroy' filepath='src/lfstack.c' line='43' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_destroy'>
       <!-- parameter of type 'cds_lfs_stack*' -->
-      <parameter type-id='type-id-33' name='s' filepath='src/lfstack.c' line='43' column='1'/>
+      <parameter type-id='type-id-25' name='s' filepath='src/lfstack.c' line='78' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- void cds_lfs_init(cds_lfs_stack*) -->
     <function-decl name='cds_lfs_init' mangled-name='cds_lfs_init' filepath='src/lfstack.c' line='38' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_init'>
       <!-- parameter of type 'cds_lfs_stack*' -->
-      <parameter type-id='type-id-33' name='s' filepath='src/lfstack.c' line='38' column='1'/>
+      <parameter type-id='type-id-25' name='s' filepath='src/lfstack.c' line='78' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- void cds_lfs_node_init(cds_lfs_node*) -->
     <function-decl name='cds_lfs_node_init' mangled-name='cds_lfs_node_init' filepath='src/lfstack.c' line='33' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_node_init'>
       <!-- parameter of type 'cds_lfs_node*' -->
-      <parameter type-id='type-id-29' name='node' filepath='src/lfstack.c' line='33' column='1'/>
+      <parameter type-id='type-id-21' name='node' filepath='src/lfstack.c' line='33' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='workqueue.c' comp-dir-path='src' language='LANG_C99'>
       </data-member>
       <data-member access='public' layout-offset-in-bits='448'>
         <!-- unsigned long int urcu_workqueue::flags -->
-        <var-decl name='flags' type-id='type-id-22' visibility='default' filepath='src/workqueue.c' line='63' column='1'/>
+        <var-decl name='flags' type-id='type-id-39' visibility='default' filepath='src/workqueue.c' line='63' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='512'>
         <!-- int32_t urcu_workqueue::futex -->
       </data-member>
       <data-member access='public' layout-offset-in-bits='576'>
         <!-- unsigned long int urcu_workqueue::qlen -->
-        <var-decl name='qlen' type-id='type-id-22' visibility='default' filepath='src/workqueue.c' line='65' column='1'/>
+        <var-decl name='qlen' type-id='type-id-39' visibility='default' filepath='src/workqueue.c' line='65' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='640'>
         <!-- pthread_t urcu_workqueue::tid -->
       </data-member>
       <data-member access='public' layout-offset-in-bits='704'>
         <!-- int urcu_workqueue::cpu_affinity -->
-        <var-decl name='cpu_affinity' type-id='type-id-1' visibility='default' filepath='src/workqueue.c' line='67' column='1'/>
+        <var-decl name='cpu_affinity' type-id='type-id-3' visibility='default' filepath='src/workqueue.c' line='67' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='768'>
         <!-- unsigned long int urcu_workqueue::loop_count -->
-        <var-decl name='loop_count' type-id='type-id-22' visibility='default' filepath='src/workqueue.c' line='68' column='1'/>
+        <var-decl name='loop_count' type-id='type-id-39' visibility='default' filepath='src/workqueue.c' line='68' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='832'>
         <!-- void* urcu_workqueue::priv -->
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- pthread_mutex_t cds_wfcq_head::lock -->
-        <var-decl name='lock' type-id='type-id-37' visibility='default' filepath='../include/urcu/wfcqueue.h' line='74' column='1'/>
+        <var-decl name='lock' type-id='type-id-28' visibility='default' filepath='../include/urcu/wfcqueue.h' line='74' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __int32_t int32_t -->
-    <typedef-decl name='int32_t' type-id='type-id-50' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-46'/>
     <!-- typedef int __int32_t -->
-    <typedef-decl name='__int32_t' type-id='type-id-1' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-50'/>
+    <typedef-decl name='__int32_t' type-id='type-id-3' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='40' column='1' id='type-id-50'/>
+    <!-- typedef __int32_t int32_t -->
+    <typedef-decl name='int32_t' type-id='type-id-50' filepath='/usr/include/x86_64-linux-gnu/bits/stdint-intn.h' line='26' column='1' id='type-id-46'/>
     <!-- typedef unsigned long int pthread_t -->
-    <typedef-decl name='pthread_t' type-id='type-id-22' filepath='/usr/include/bits/pthreadtypes.h' line='27' column='1' id='type-id-47'/>
-    <!-- struct urcu_workqueue_completion -->
-    <class-decl name='urcu_workqueue_completion' size-in-bits='128' is-struct='yes' visibility='default' filepath='src/workqueue.c' line='79' column='1' id='type-id-51'>
-      <data-member access='public' layout-offset-in-bits='0'>
-        <!-- int urcu_workqueue_completion::barrier_count -->
-        <var-decl name='barrier_count' type-id='type-id-1' visibility='default' filepath='src/workqueue.c' line='80' column='1'/>
-      </data-member>
-      <data-member access='public' layout-offset-in-bits='32'>
-        <!-- int32_t urcu_workqueue_completion::futex -->
-        <var-decl name='futex' type-id='type-id-46' visibility='default' filepath='src/workqueue.c' line='81' column='1'/>
-      </data-member>
-      <data-member access='public' layout-offset-in-bits='64'>
-        <!-- urcu_ref urcu_workqueue_completion::ref -->
-        <var-decl name='ref' type-id='type-id-52' visibility='default' filepath='src/workqueue.c' line='82' column='1'/>
-      </data-member>
-    </class-decl>
-    <!-- struct urcu_ref -->
-    <class-decl name='urcu_ref' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/ref.h' line='23' column='1' id='type-id-52'>
-      <data-member access='public' layout-offset-in-bits='0'>
-        <!-- long int urcu_ref::refcount -->
-        <var-decl name='refcount' type-id='type-id-24' visibility='default' filepath='../include/urcu/ref.h' line='24' column='1'/>
-      </data-member>
-    </class-decl>
-    <!-- struct urcu_work -->
-    <class-decl name='urcu_work' size-in-bits='128' is-struct='yes' visibility='default' filepath='src/workqueue.h' line='53' column='1' id='type-id-53'>
-      <data-member access='public' layout-offset-in-bits='0'>
-        <!-- cds_wfcq_node urcu_work::next -->
-        <var-decl name='next' type-id='type-id-8' visibility='default' filepath='src/workqueue.h' line='54' column='1'/>
-      </data-member>
-      <data-member access='public' layout-offset-in-bits='64'>
-        <!-- void (urcu_work*)* urcu_work::func -->
-        <var-decl name='func' type-id='type-id-54' visibility='default' filepath='src/workqueue.h' line='55' column='1'/>
-      </data-member>
-    </class-decl>
-    <!-- urcu_work* -->
-    <pointer-type-def type-id='type-id-53' size-in-bits='64' id='type-id-55'/>
+    <typedef-decl name='pthread_t' type-id='type-id-39' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='27' column='1' id='type-id-47'/>
+    <!-- void* -->
+    <pointer-type-def type-id='type-id-6' size-in-bits='64' id='type-id-48'/>
     <!-- urcu_workqueue* -->
-    <pointer-type-def type-id='type-id-43' size-in-bits='64' id='type-id-56'/>
-    <!-- urcu_workqueue_completion* -->
-    <pointer-type-def type-id='type-id-51' size-in-bits='64' id='type-id-57'/>
-    <!-- void (urcu_work*)* -->
-    <pointer-type-def type-id='type-id-58' size-in-bits='64' id='type-id-54'/>
+    <pointer-type-def type-id='type-id-43' size-in-bits='64' id='type-id-51'/>
     <!-- void (urcu_workqueue*, void*)* -->
-    <pointer-type-def type-id='type-id-59' size-in-bits='64' id='type-id-49'/>
-    <!-- void* -->
-    <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-48'/>
+    <pointer-type-def type-id='type-id-52' size-in-bits='64' id='type-id-49'/>
     <!-- void urcu_workqueue_create_worker(urcu_workqueue*) -->
     <function-decl name='urcu_workqueue_create_worker' mangled-name='urcu_workqueue_create_worker' filepath='src/workqueue.c' line='458' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_workqueue_create_worker'>
       <!-- parameter of type 'urcu_workqueue*' -->
-      <parameter type-id='type-id-56' name='workqueue' filepath='src/workqueue.c' line='458' column='1'/>
+      <parameter type-id='type-id-51' name='workqueue' filepath='src/workqueue.c' line='458' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- void urcu_workqueue_resume_worker(urcu_workqueue*) -->
     <function-decl name='urcu_workqueue_resume_worker' mangled-name='urcu_workqueue_resume_worker' filepath='src/workqueue.c' line='451' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_workqueue_resume_worker'>
       <!-- parameter of type 'urcu_workqueue*' -->
-      <parameter type-id='type-id-56' name='workqueue' filepath='src/workqueue.c' line='451' column='1'/>
+      <parameter type-id='type-id-51' name='workqueue' filepath='src/workqueue.c' line='451' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- void urcu_workqueue_pause_worker(urcu_workqueue*) -->
     <function-decl name='urcu_workqueue_pause_worker' mangled-name='urcu_workqueue_pause_worker' filepath='src/workqueue.c' line='440' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_workqueue_pause_worker'>
       <!-- parameter of type 'urcu_workqueue*' -->
-      <parameter type-id='type-id-56' name='workqueue' filepath='src/workqueue.c' line='440' column='1'/>
+      <parameter type-id='type-id-51' name='workqueue' filepath='src/workqueue.c' line='451' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- void urcu_workqueue_flush_queued_work(urcu_workqueue*) -->
     <function-decl name='urcu_workqueue_flush_queued_work' mangled-name='urcu_workqueue_flush_queued_work' filepath='src/workqueue.c' line='427' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_workqueue_flush_queued_work'>
       <!-- parameter of type 'urcu_workqueue*' -->
-      <parameter type-id='type-id-56' name='workqueue' filepath='src/workqueue.c' line='427' column='1'/>
+      <parameter type-id='type-id-51' name='workqueue' filepath='src/workqueue.c' line='458' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
+    <!-- struct urcu_workqueue_completion -->
+    <class-decl name='urcu_workqueue_completion' size-in-bits='128' is-struct='yes' visibility='default' filepath='src/workqueue.c' line='79' column='1' id='type-id-53'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- int urcu_workqueue_completion::barrier_count -->
+        <var-decl name='barrier_count' type-id='type-id-3' visibility='default' filepath='src/workqueue.c' line='80' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <!-- int32_t urcu_workqueue_completion::futex -->
+        <var-decl name='futex' type-id='type-id-46' visibility='default' filepath='src/workqueue.c' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- urcu_ref urcu_workqueue_completion::ref -->
+        <var-decl name='ref' type-id='type-id-54' visibility='default' filepath='src/workqueue.c' line='82' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- struct urcu_ref -->
+    <class-decl name='urcu_ref' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/ref.h' line='23' column='1' id='type-id-54'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- long int urcu_ref::refcount -->
+        <var-decl name='refcount' type-id='type-id-32' visibility='default' filepath='../include/urcu/ref.h' line='24' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- urcu_workqueue_completion* -->
+    <pointer-type-def type-id='type-id-53' size-in-bits='64' id='type-id-55'/>
     <!-- void urcu_workqueue_queue_completion(urcu_workqueue*, urcu_workqueue_completion*) -->
     <function-decl name='urcu_workqueue_queue_completion' mangled-name='urcu_workqueue_queue_completion' filepath='src/workqueue.c' line='410' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_workqueue_queue_completion'>
       <!-- parameter of type 'urcu_workqueue*' -->
-      <parameter type-id='type-id-56' name='workqueue' filepath='src/workqueue.c' line='410' column='1'/>
+      <parameter type-id='type-id-51' name='workqueue' filepath='src/workqueue.c' line='410' column='1'/>
       <!-- parameter of type 'urcu_workqueue_completion*' -->
-      <parameter type-id='type-id-57' name='completion' filepath='src/workqueue.c' line='411' column='1'/>
+      <parameter type-id='type-id-55' name='completion' filepath='src/workqueue.c' line='411' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- void urcu_workqueue_wait_completion(urcu_workqueue_completion*) -->
     <function-decl name='urcu_workqueue_wait_completion' mangled-name='urcu_workqueue_wait_completion' filepath='src/workqueue.c' line='397' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_workqueue_wait_completion'>
       <!-- parameter of type 'urcu_workqueue_completion*' -->
-      <parameter type-id='type-id-57' name='completion' filepath='src/workqueue.c' line='397' column='1'/>
+      <parameter type-id='type-id-55' name='completion' filepath='src/workqueue.c' line='397' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- void urcu_workqueue_destroy_completion(urcu_workqueue_completion*) -->
     <function-decl name='urcu_workqueue_destroy_completion' mangled-name='urcu_workqueue_destroy_completion' filepath='src/workqueue.c' line='392' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_workqueue_destroy_completion'>
       <!-- parameter of type 'urcu_workqueue_completion*' -->
-      <parameter type-id='type-id-57' name='completion' filepath='src/workqueue.c' line='392' column='1'/>
+      <parameter type-id='type-id-55' name='completion' filepath='src/workqueue.c' line='392' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- urcu_workqueue_completion* urcu_workqueue_create_completion() -->
     <function-decl name='urcu_workqueue_create_completion' mangled-name='urcu_workqueue_create_completion' filepath='src/workqueue.c' line='380' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_workqueue_create_completion'>
       <!-- urcu_workqueue_completion* -->
-      <return type-id='type-id-57'/>
+      <return type-id='type-id-55'/>
     </function-decl>
+    <!-- struct urcu_work -->
+    <class-decl name='urcu_work' size-in-bits='128' is-struct='yes' visibility='default' filepath='src/workqueue.h' line='53' column='1' id='type-id-56'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_wfcq_node urcu_work::next -->
+        <var-decl name='next' type-id='type-id-8' visibility='default' filepath='src/workqueue.h' line='54' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- void (urcu_work*)* urcu_work::func -->
+        <var-decl name='func' type-id='type-id-57' visibility='default' filepath='src/workqueue.h' line='55' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- urcu_work* -->
+    <pointer-type-def type-id='type-id-56' size-in-bits='64' id='type-id-58'/>
+    <!-- void (urcu_work*)* -->
+    <pointer-type-def type-id='type-id-59' size-in-bits='64' id='type-id-57'/>
     <!-- void urcu_workqueue_queue_work(urcu_workqueue*, urcu_work*, void (urcu_work*)*) -->
     <function-decl name='urcu_workqueue_queue_work' mangled-name='urcu_workqueue_queue_work' filepath='src/workqueue.c' line='346' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_workqueue_queue_work'>
       <!-- parameter of type 'urcu_workqueue*' -->
-      <parameter type-id='type-id-56' name='workqueue' filepath='src/workqueue.c' line='346' column='1'/>
+      <parameter type-id='type-id-51' name='workqueue' filepath='src/workqueue.c' line='346' column='1'/>
       <!-- parameter of type 'urcu_work*' -->
-      <parameter type-id='type-id-55' name='work' filepath='src/workqueue.c' line='347' column='1'/>
+      <parameter type-id='type-id-58' name='work' filepath='src/workqueue.c' line='347' column='1'/>
       <!-- parameter of type 'void (urcu_work*)*' -->
-      <parameter type-id='type-id-54' name='func' filepath='src/workqueue.c' line='348' column='1'/>
+      <parameter type-id='type-id-57' name='func' filepath='src/workqueue.c' line='348' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- void urcu_workqueue_destroy(urcu_workqueue*) -->
     <function-decl name='urcu_workqueue_destroy' mangled-name='urcu_workqueue_destroy' filepath='src/workqueue.c' line='334' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_workqueue_destroy'>
       <!-- parameter of type 'urcu_workqueue*' -->
-      <parameter type-id='type-id-56' name='workqueue' filepath='src/workqueue.c' line='334' column='1'/>
+      <parameter type-id='type-id-51' name='workqueue' filepath='src/workqueue.c' line='458' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- urcu_workqueue* urcu_workqueue_create(unsigned long int, int, void*, void (urcu_workqueue*, void*)*, void (urcu_workqueue*, void*)*, void (urcu_workqueue*, void*)*, void (urcu_workqueue*, void*)*, void (urcu_workqueue*, void*)*, void (urcu_workqueue*, void*)*, void (urcu_workqueue*, void*)*) -->
     <function-decl name='urcu_workqueue_create' mangled-name='urcu_workqueue_create' filepath='src/workqueue.c' line='269' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_workqueue_create'>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-22' name='flags' filepath='src/workqueue.c' line='269' column='1'/>
+      <parameter type-id='type-id-39' name='flags' filepath='src/workqueue.c' line='269' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-1' name='cpu_affinity' filepath='src/workqueue.c' line='270' column='1'/>
+      <parameter type-id='type-id-3' name='cpu_affinity' filepath='src/workqueue.c' line='270' column='1'/>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-48' name='priv' filepath='src/workqueue.c' line='270' column='1'/>
       <!-- parameter of type 'void (urcu_workqueue*, void*)*' -->
       <!-- parameter of type 'void (urcu_workqueue*, void*)*' -->
       <parameter type-id='type-id-49' name='worker_after_resume_fct' filepath='src/workqueue.c' line='277' column='1'/>
       <!-- urcu_workqueue* -->
-      <return type-id='type-id-56'/>
+      <return type-id='type-id-51'/>
     </function-decl>
     <!-- void (urcu_work*) -->
-    <function-type size-in-bits='64' id='type-id-58'>
+    <function-type size-in-bits='64' id='type-id-59'>
       <!-- parameter of type 'urcu_work*' -->
-      <parameter type-id='type-id-55'/>
+      <parameter type-id='type-id-58'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-type>
     <!-- void (urcu_workqueue*, void*) -->
-    <function-type size-in-bits='64' id='type-id-59'>
+    <function-type size-in-bits='64' id='type-id-52'>
       <!-- parameter of type 'urcu_workqueue*' -->
-      <parameter type-id='type-id-56'/>
+      <parameter type-id='type-id-51'/>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-48'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-type>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='rculfhash.c' comp-dir-path='src' language='LANG_C99'>
-
-
-
-    <!-- cds_lfht_node*[64] -->
-    <array-type-def dimensions='1' type-id='type-id-60' size-in-bits='4096' id='type-id-61'>
-      <!-- <anonymous range>[64] -->
-      <subrange length='64' type-id='type-id-22' id='type-id-62'/>
-
-    </array-type-def>
-    <!-- cds_lfht_node*[] -->
-    <array-type-def dimensions='1' type-id='type-id-60' size-in-bits='infinite' id='type-id-63'>
-      <!-- <anonymous range>[] -->
-      <subrange length='infinite' type-id='type-id-22' id='type-id-64'/>
-
-    </array-type-def>
-    <!-- char[56] -->
-    <array-type-def dimensions='1' type-id='type-id-20' size-in-bits='448' id='type-id-65'>
-      <!-- <anonymous range>[56] -->
-      <subrange length='56' type-id='type-id-22' id='type-id-66'/>
-
-    </array-type-def>
     <!-- struct cds_lfht -->
-    <class-decl name='cds_lfht' size-in-bits='5248' is-struct='yes' visibility='default' filepath='../src/rculfhash-internal.h' line='70' column='1' id='type-id-67'>
+    <class-decl name='cds_lfht' size-in-bits='5248' is-struct='yes' visibility='default' filepath='../src/rculfhash-internal.h' line='70' column='1' id='type-id-60'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned long int cds_lfht::max_nr_buckets -->
-        <var-decl name='max_nr_buckets' type-id='type-id-22' visibility='default' filepath='../src/rculfhash-internal.h' line='72' column='1'/>
+        <var-decl name='max_nr_buckets' type-id='type-id-39' visibility='default' filepath='../src/rculfhash-internal.h' line='72' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- const cds_lfht_mm_type* cds_lfht::mm -->
-        <var-decl name='mm' type-id='type-id-68' visibility='default' filepath='../src/rculfhash-internal.h' line='73' column='1'/>
+        <var-decl name='mm' type-id='type-id-61' visibility='default' filepath='../src/rculfhash-internal.h' line='73' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- const rcu_flavor_struct* cds_lfht::flavor -->
-        <var-decl name='flavor' type-id='type-id-69' visibility='default' filepath='../src/rculfhash-internal.h' line='74' column='1'/>
+        <var-decl name='flavor' type-id='type-id-62' visibility='default' filepath='../src/rculfhash-internal.h' line='74' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- long int cds_lfht::count -->
-        <var-decl name='count' type-id='type-id-24' visibility='default' filepath='../src/rculfhash-internal.h' line='76' column='1'/>
+        <var-decl name='count' type-id='type-id-32' visibility='default' filepath='../src/rculfhash-internal.h' line='76' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- pthread_mutex_t cds_lfht::resize_mutex -->
-        <var-decl name='resize_mutex' type-id='type-id-37' visibility='default' filepath='../src/rculfhash-internal.h' line='85' column='1'/>
+        <var-decl name='resize_mutex' type-id='type-id-28' visibility='default' filepath='../src/rculfhash-internal.h' line='85' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='576'>
         <!-- pthread_attr_t* cds_lfht::resize_attr -->
-        <var-decl name='resize_attr' type-id='type-id-70' visibility='default' filepath='../src/rculfhash-internal.h' line='86' column='1'/>
+        <var-decl name='resize_attr' type-id='type-id-63' visibility='default' filepath='../src/rculfhash-internal.h' line='86' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='640'>
         <!-- unsigned int cds_lfht::in_progress_destroy -->
-        <var-decl name='in_progress_destroy' type-id='type-id-26' visibility='default' filepath='../src/rculfhash-internal.h' line='87' column='1'/>
+        <var-decl name='in_progress_destroy' type-id='type-id-33' visibility='default' filepath='../src/rculfhash-internal.h' line='87' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='704'>
         <!-- unsigned long int cds_lfht::resize_target -->
-        <var-decl name='resize_target' type-id='type-id-22' visibility='default' filepath='../src/rculfhash-internal.h' line='88' column='1'/>
+        <var-decl name='resize_target' type-id='type-id-39' visibility='default' filepath='../src/rculfhash-internal.h' line='88' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='768'>
         <!-- int cds_lfht::resize_initiated -->
-        <var-decl name='resize_initiated' type-id='type-id-1' visibility='default' filepath='../src/rculfhash-internal.h' line='89' column='1'/>
+        <var-decl name='resize_initiated' type-id='type-id-3' visibility='default' filepath='../src/rculfhash-internal.h' line='89' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='800'>
         <!-- int cds_lfht::flags -->
-        <var-decl name='flags' type-id='type-id-1' visibility='default' filepath='../src/rculfhash-internal.h' line='94' column='1'/>
+        <var-decl name='flags' type-id='type-id-3' visibility='default' filepath='../src/rculfhash-internal.h' line='94' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='832'>
         <!-- unsigned long int cds_lfht::min_alloc_buckets_order -->
-        <var-decl name='min_alloc_buckets_order' type-id='type-id-22' visibility='default' filepath='../src/rculfhash-internal.h' line='95' column='1'/>
+        <var-decl name='min_alloc_buckets_order' type-id='type-id-39' visibility='default' filepath='../src/rculfhash-internal.h' line='95' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='896'>
         <!-- unsigned long int cds_lfht::min_nr_alloc_buckets -->
-        <var-decl name='min_nr_alloc_buckets' type-id='type-id-22' visibility='default' filepath='../src/rculfhash-internal.h' line='96' column='1'/>
+        <var-decl name='min_nr_alloc_buckets' type-id='type-id-39' visibility='default' filepath='../src/rculfhash-internal.h' line='96' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='960'>
         <!-- ht_items_count* cds_lfht::split_count -->
-        <var-decl name='split_count' type-id='type-id-71' visibility='default' filepath='../src/rculfhash-internal.h' line='97' column='1'/>
+        <var-decl name='split_count' type-id='type-id-64' visibility='default' filepath='../src/rculfhash-internal.h' line='97' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1024'>
         <!-- unsigned long int cds_lfht::size -->
-        <var-decl name='size' type-id='type-id-22' visibility='default' filepath='../src/rculfhash-internal.h' line='102' column='1'/>
+        <var-decl name='size' type-id='type-id-39' visibility='default' filepath='../src/rculfhash-internal.h' line='102' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1088'>
         <!-- cds_lfht_node* (cds_lfht*, unsigned long int)* cds_lfht::bucket_at -->
-        <var-decl name='bucket_at' type-id='type-id-72' visibility='default' filepath='../src/rculfhash-internal.h' line='107' column='1'/>
+        <var-decl name='bucket_at' type-id='type-id-65' visibility='default' filepath='../src/rculfhash-internal.h' line='107' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1152'>
-        <!-- union {cds_lfht_node* tbl_order[64]; cds_lfht_node* tbl_chunk[]; cds_lfht_node* tbl_mmap;} -->
-        <var-decl name='' type-id='type-id-73' visibility='default'/>
+        <!-- __anonymous_union__  -->
+        <var-decl name='' type-id='type-id-66' visibility='default'/>
       </data-member>
     </class-decl>
     <!-- struct cds_lfht_mm_type -->
-    <class-decl name='cds_lfht_mm_type' size-in-bits='256' is-struct='yes' visibility='default' filepath='../include/urcu/rculfhash.h' line='120' column='1' id='type-id-74'>
+    <class-decl name='cds_lfht_mm_type' size-in-bits='256' is-struct='yes' visibility='default' filepath='../include/urcu/rculfhash.h' line='120' column='1' id='type-id-67'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_lfht* (unsigned long int, unsigned long int)* cds_lfht_mm_type::alloc_cds_lfht -->
-        <var-decl name='alloc_cds_lfht' type-id='type-id-75' visibility='default' filepath='../include/urcu/rculfhash.h' line='121' column='1'/>
+        <var-decl name='alloc_cds_lfht' type-id='type-id-68' visibility='default' filepath='../include/urcu/rculfhash.h' line='121' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
-        <!-- void ()* cds_lfht_mm_type::alloc_bucket_table -->
-        <var-decl name='alloc_bucket_table' type-id='type-id-76' visibility='default' filepath='../include/urcu/rculfhash.h' line='123' column='1'/>
+        <!-- void (cds_lfht*, unsigned long int)* cds_lfht_mm_type::alloc_bucket_table -->
+        <var-decl name='alloc_bucket_table' type-id='type-id-69' visibility='default' filepath='../include/urcu/rculfhash.h' line='123' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
-        <!-- void ()* cds_lfht_mm_type::free_bucket_table -->
-        <var-decl name='free_bucket_table' type-id='type-id-76' visibility='default' filepath='../include/urcu/rculfhash.h' line='124' column='1'/>
+        <!-- void (cds_lfht*, unsigned long int)* cds_lfht_mm_type::free_bucket_table -->
+        <var-decl name='free_bucket_table' type-id='type-id-69' visibility='default' filepath='../include/urcu/rculfhash.h' line='124' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- cds_lfht_node* (cds_lfht*, unsigned long int)* cds_lfht_mm_type::bucket_at -->
-        <var-decl name='bucket_at' type-id='type-id-72' visibility='default' filepath='../include/urcu/rculfhash.h' line='125' column='1'/>
+        <var-decl name='bucket_at' type-id='type-id-65' visibility='default' filepath='../include/urcu/rculfhash.h' line='125' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_lfht* -->
+    <pointer-type-def type-id='type-id-60' size-in-bits='64' id='type-id-70'/>
+    <!-- cds_lfht* (unsigned long int, unsigned long int)* -->
+    <pointer-type-def type-id='type-id-71' size-in-bits='64' id='type-id-68'/>
+    <!-- void (cds_lfht*, unsigned long int)* -->
+    <pointer-type-def type-id='type-id-72' size-in-bits='64' id='type-id-69'/>
     <!-- struct cds_lfht_node -->
-    <class-decl name='cds_lfht_node' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/rculfhash.h' line='63' column='1' id='type-id-77'>
+    <class-decl name='cds_lfht_node' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/rculfhash.h' line='63' column='1' id='type-id-73'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_lfht_node* cds_lfht_node::next -->
-        <var-decl name='next' type-id='type-id-60' visibility='default' filepath='../include/urcu/rculfhash.h' line='64' column='1'/>
+        <var-decl name='next' type-id='type-id-74' visibility='default' filepath='../include/urcu/rculfhash.h' line='64' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- unsigned long int cds_lfht_node::reverse_hash -->
-        <var-decl name='reverse_hash' type-id='type-id-22' visibility='default' filepath='../include/urcu/rculfhash.h' line='65' column='1'/>
+        <var-decl name='reverse_hash' type-id='type-id-39' visibility='default' filepath='../include/urcu/rculfhash.h' line='65' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_lfht_node* -->
+    <pointer-type-def type-id='type-id-73' size-in-bits='64' id='type-id-74'/>
+    <!-- cds_lfht_node* (cds_lfht*, unsigned long int)* -->
+    <pointer-type-def type-id='type-id-75' size-in-bits='64' id='type-id-65'/>
+    <!-- const cds_lfht_mm_type -->
+    <qualified-type-def type-id='type-id-67' const='yes' id='type-id-76'/>
+    <!-- const cds_lfht_mm_type* -->
+    <pointer-type-def type-id='type-id-76' size-in-bits='64' id='type-id-61'/>
     <!-- struct rcu_flavor_struct -->
-    <class-decl name='rcu_flavor_struct' size-in-bits='896' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='42' column='1' id='type-id-78'>
+    <class-decl name='rcu_flavor_struct' size-in-bits='896' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='42' column='1' id='type-id-77'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- void ()* rcu_flavor_struct::read_lock -->
-        <var-decl name='read_lock' type-id='type-id-79' visibility='default' filepath='../include/urcu/flavor.h' line='43' column='1'/>
+        <var-decl name='read_lock' type-id='type-id-78' visibility='default' filepath='../include/urcu/flavor.h' line='43' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void ()* rcu_flavor_struct::read_unlock -->
-        <var-decl name='read_unlock' type-id='type-id-79' visibility='default' filepath='../include/urcu/flavor.h' line='44' column='1'/>
+        <var-decl name='read_unlock' type-id='type-id-78' visibility='default' filepath='../include/urcu/flavor.h' line='44' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- int ()* rcu_flavor_struct::read_ongoing -->
-        <var-decl name='read_ongoing' type-id='type-id-80' visibility='default' filepath='../include/urcu/flavor.h' line='45' column='1'/>
+        <var-decl name='read_ongoing' type-id='type-id-79' visibility='default' filepath='../include/urcu/flavor.h' line='45' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- void ()* rcu_flavor_struct::read_quiescent_state -->
-        <var-decl name='read_quiescent_state' type-id='type-id-79' visibility='default' filepath='../include/urcu/flavor.h' line='46' column='1'/>
+        <var-decl name='read_quiescent_state' type-id='type-id-78' visibility='default' filepath='../include/urcu/flavor.h' line='46' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- void (rcu_head*, void (rcu_head*)*)* rcu_flavor_struct::update_call_rcu -->
-        <var-decl name='update_call_rcu' type-id='type-id-6' visibility='default' filepath='../include/urcu/flavor.h' line='47' column='1'/>
+        <var-decl name='update_call_rcu' type-id='type-id-5' visibility='default' filepath='../include/urcu/flavor.h' line='47' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
         <!-- void ()* rcu_flavor_struct::update_synchronize_rcu -->
-        <var-decl name='update_synchronize_rcu' type-id='type-id-79' visibility='default' filepath='../include/urcu/flavor.h' line='49' column='1'/>
+        <var-decl name='update_synchronize_rcu' type-id='type-id-78' visibility='default' filepath='../include/urcu/flavor.h' line='49' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='384'>
         <!-- void (void (void*)*, void*)* rcu_flavor_struct::update_defer_rcu -->
-        <var-decl name='update_defer_rcu' type-id='type-id-81' visibility='default' filepath='../include/urcu/flavor.h' line='50' column='1'/>
+        <var-decl name='update_defer_rcu' type-id='type-id-80' visibility='default' filepath='../include/urcu/flavor.h' line='50' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='448'>
         <!-- void ()* rcu_flavor_struct::thread_offline -->
-        <var-decl name='thread_offline' type-id='type-id-79' visibility='default' filepath='../include/urcu/flavor.h' line='52' column='1'/>
+        <var-decl name='thread_offline' type-id='type-id-78' visibility='default' filepath='../include/urcu/flavor.h' line='52' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='512'>
         <!-- void ()* rcu_flavor_struct::thread_online -->
-        <var-decl name='thread_online' type-id='type-id-79' visibility='default' filepath='../include/urcu/flavor.h' line='53' column='1'/>
+        <var-decl name='thread_online' type-id='type-id-78' visibility='default' filepath='../include/urcu/flavor.h' line='53' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='576'>
         <!-- void ()* rcu_flavor_struct::register_thread -->
-        <var-decl name='register_thread' type-id='type-id-79' visibility='default' filepath='../include/urcu/flavor.h' line='54' column='1'/>
+        <var-decl name='register_thread' type-id='type-id-78' visibility='default' filepath='../include/urcu/flavor.h' line='54' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='640'>
         <!-- void ()* rcu_flavor_struct::unregister_thread -->
-        <var-decl name='unregister_thread' type-id='type-id-79' visibility='default' filepath='../include/urcu/flavor.h' line='55' column='1'/>
+        <var-decl name='unregister_thread' type-id='type-id-78' visibility='default' filepath='../include/urcu/flavor.h' line='55' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='704'>
         <!-- void ()* rcu_flavor_struct::barrier -->
-        <var-decl name='barrier' type-id='type-id-79' visibility='default' filepath='../include/urcu/flavor.h' line='57' column='1'/>
+        <var-decl name='barrier' type-id='type-id-78' visibility='default' filepath='../include/urcu/flavor.h' line='57' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='768'>
         <!-- void (urcu_atfork*)* rcu_flavor_struct::register_rculfhash_atfork -->
-        <var-decl name='register_rculfhash_atfork' type-id='type-id-82' visibility='default' filepath='../include/urcu/flavor.h' line='59' column='1'/>
+        <var-decl name='register_rculfhash_atfork' type-id='type-id-81' visibility='default' filepath='../include/urcu/flavor.h' line='59' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='832'>
         <!-- void (urcu_atfork*)* rcu_flavor_struct::unregister_rculfhash_atfork -->
-        <var-decl name='unregister_rculfhash_atfork' type-id='type-id-82' visibility='default' filepath='../include/urcu/flavor.h' line='60' column='1'/>
+        <var-decl name='unregister_rculfhash_atfork' type-id='type-id-81' visibility='default' filepath='../include/urcu/flavor.h' line='60' column='1'/>
       </data-member>
     </class-decl>
+    <!-- void ()* -->
+    <pointer-type-def type-id='type-id-82' size-in-bits='64' id='type-id-78'/>
+    <!-- int ()* -->
+    <pointer-type-def type-id='type-id-83' size-in-bits='64' id='type-id-79'/>
+    <!-- void (void*)* -->
+    <pointer-type-def type-id='type-id-84' size-in-bits='64' id='type-id-85'/>
+    <!-- void (void (void*)*, void*)* -->
+    <pointer-type-def type-id='type-id-86' size-in-bits='64' id='type-id-80'/>
     <!-- struct urcu_atfork -->
-    <class-decl name='urcu_atfork' size-in-bits='256' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='32' column='1' id='type-id-83'>
+    <class-decl name='urcu_atfork' size-in-bits='256' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='32' column='1' id='type-id-87'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- void (void*)* urcu_atfork::before_fork -->
-        <var-decl name='before_fork' type-id='type-id-84' visibility='default' filepath='../include/urcu/flavor.h' line='33' column='1'/>
+        <var-decl name='before_fork' type-id='type-id-85' visibility='default' filepath='../include/urcu/flavor.h' line='33' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void (void*)* urcu_atfork::after_fork_parent -->
-        <var-decl name='after_fork_parent' type-id='type-id-84' visibility='default' filepath='../include/urcu/flavor.h' line='34' column='1'/>
+        <var-decl name='after_fork_parent' type-id='type-id-85' visibility='default' filepath='../include/urcu/flavor.h' line='34' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- void (void*)* urcu_atfork::after_fork_child -->
-        <var-decl name='after_fork_child' type-id='type-id-84' visibility='default' filepath='../include/urcu/flavor.h' line='35' column='1'/>
+        <var-decl name='after_fork_child' type-id='type-id-85' visibility='default' filepath='../include/urcu/flavor.h' line='35' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- void* urcu_atfork::priv -->
         <var-decl name='priv' type-id='type-id-48' visibility='default' filepath='../include/urcu/flavor.h' line='36' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef pthread_attr_t pthread_attr_t -->
-    <typedef-decl name='pthread_attr_t' type-id='type-id-85' filepath='/usr/include/bits/pthreadtypes.h' line='62' column='1' id='type-id-86'/>
+    <!-- urcu_atfork* -->
+    <pointer-type-def type-id='type-id-87' size-in-bits='64' id='type-id-88'/>
+    <!-- void (urcu_atfork*)* -->
+    <pointer-type-def type-id='type-id-89' size-in-bits='64' id='type-id-81'/>
+    <!-- const rcu_flavor_struct -->
+    <qualified-type-def type-id='type-id-77' const='yes' id='type-id-90'/>
+    <!-- const rcu_flavor_struct* -->
+    <pointer-type-def type-id='type-id-90' size-in-bits='64' id='type-id-62'/>
     <!-- union pthread_attr_t -->
-    <union-decl name='pthread_attr_t' size-in-bits='448' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='56' column='1' id='type-id-85'>
+    <union-decl name='pthread_attr_t' size-in-bits='448' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='56' column='1' id='type-id-91'>
       <data-member access='private'>
         <!-- char pthread_attr_t::__size[56] -->
-        <var-decl name='__size' type-id='type-id-65' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='58' column='1'/>
+        <var-decl name='__size' type-id='type-id-92' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='58' column='1'/>
       </data-member>
       <data-member access='private'>
         <!-- long int pthread_attr_t::__align -->
-        <var-decl name='__align' type-id='type-id-24' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='59' column='1'/>
+        <var-decl name='__align' type-id='type-id-32' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='59' column='1'/>
       </data-member>
     </union-decl>
+
+    <!-- char[56] -->
+    <array-type-def dimensions='1' type-id='type-id-38' size-in-bits='448' id='type-id-92'>
+      <!-- <anonymous range>[56] -->
+      <subrange length='56' type-id='type-id-39' id='type-id-93'/>
+
+    </array-type-def>
+    <!-- typedef pthread_attr_t pthread_attr_t -->
+    <typedef-decl name='pthread_attr_t' type-id='type-id-91' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='62' column='1' id='type-id-94'/>
+    <!-- pthread_attr_t* -->
+    <pointer-type-def type-id='type-id-94' size-in-bits='64' id='type-id-63'/>
     <!-- struct ht_items_count -->
-    <class-decl name='ht_items_count' size-in-bits='1024' is-struct='yes' visibility='default' filepath='src/rculfhash.c' line='338' column='1' id='type-id-87'>
+    <class-decl name='ht_items_count' size-in-bits='1024' is-struct='yes' visibility='default' filepath='src/rculfhash.c' line='338' column='1' id='type-id-95'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned long int ht_items_count::add -->
-        <var-decl name='add' type-id='type-id-22' visibility='default' filepath='src/rculfhash.c' line='339' column='1'/>
+        <var-decl name='add' type-id='type-id-39' visibility='default' filepath='src/rculfhash.c' line='339' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- unsigned long int ht_items_count::del -->
-        <var-decl name='del' type-id='type-id-22' visibility='default' filepath='src/rculfhash.c' line='339' column='1'/>
+        <var-decl name='del' type-id='type-id-39' visibility='default' filepath='src/rculfhash.c' line='339' column='1'/>
       </data-member>
     </class-decl>
-    <!-- union {cds_lfht_node* tbl_order[64]; cds_lfht_node* tbl_chunk[]; cds_lfht_node* tbl_mmap;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='4096' is-anonymous='yes' visibility='default' filepath='../src/rculfhash-internal.h' line='113' column='1' id='type-id-73'>
+    <!-- ht_items_count* -->
+    <pointer-type-def type-id='type-id-95' size-in-bits='64' id='type-id-64'/>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='4096' is-anonymous='yes' visibility='default' filepath='../src/rculfhash-internal.h' line='113' column='1' id='type-id-66'>
       <data-member access='private'>
-        <!-- cds_lfht_node* tbl_order[64] -->
-        <var-decl name='tbl_order' type-id='type-id-61' visibility='default' filepath='../src/rculfhash-internal.h' line='122' column='1'/>
+        <!-- cds_lfht_node* __anonymous_union__::tbl_order[64] -->
+        <var-decl name='tbl_order' type-id='type-id-96' visibility='default' filepath='../src/rculfhash-internal.h' line='122' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- cds_lfht_node* tbl_chunk[] -->
-        <var-decl name='tbl_chunk' type-id='type-id-63' visibility='default' filepath='../src/rculfhash-internal.h' line='134' column='1'/>
+        <!-- cds_lfht_node* __anonymous_union__::tbl_chunk[1] -->
+        <var-decl name='tbl_chunk' type-id='type-id-97' visibility='default' filepath='../src/rculfhash-internal.h' line='134' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- cds_lfht_node* tbl_mmap -->
-        <var-decl name='tbl_mmap' type-id='type-id-60' visibility='default' filepath='../src/rculfhash-internal.h' line='140' column='1'/>
+        <!-- cds_lfht_node* __anonymous_union__::tbl_mmap -->
+        <var-decl name='tbl_mmap' type-id='type-id-74' visibility='default' filepath='../src/rculfhash-internal.h' line='140' column='1'/>
       </data-member>
     </union-decl>
-    <!-- struct cds_lfht_iter -->
-    <class-decl name='cds_lfht_iter' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/rculfhash.h' line='69' column='1' id='type-id-88'>
-      <data-member access='public' layout-offset-in-bits='0'>
-        <!-- cds_lfht_node* cds_lfht_iter::node -->
-        <var-decl name='node' type-id='type-id-60' visibility='default' filepath='../include/urcu/rculfhash.h' line='70' column='1'/>
-      </data-member>
-      <data-member access='public' layout-offset-in-bits='64'>
-        <!-- cds_lfht_node* cds_lfht_iter::next -->
-        <var-decl name='next' type-id='type-id-60' visibility='default' filepath='../include/urcu/rculfhash.h' line='70' column='1'/>
-      </data-member>
-    </class-decl>
-    <!-- typedef int (cds_lfht_node*, void*)* cds_lfht_match_fct -->
-    <typedef-decl name='cds_lfht_match_fct' type-id='type-id-89' filepath='../include/urcu/rculfhash.h' line='98' column='1' id='type-id-90'/>
-    <!-- cds_lfht* -->
-    <pointer-type-def type-id='type-id-67' size-in-bits='64' id='type-id-91'/>
-    <!-- cds_lfht* (unsigned long int, unsigned long int)* -->
-    <pointer-type-def type-id='type-id-92' size-in-bits='64' id='type-id-75'/>
-    <!-- cds_lfht_iter* -->
-    <pointer-type-def type-id='type-id-88' size-in-bits='64' id='type-id-93'/>
-    <!-- cds_lfht_node* -->
-    <pointer-type-def type-id='type-id-77' size-in-bits='64' id='type-id-60'/>
-    <!-- cds_lfht_node* (cds_lfht*, unsigned long int)* -->
-    <pointer-type-def type-id='type-id-94' size-in-bits='64' id='type-id-72'/>
-    <!-- const cds_lfht_mm_type -->
-    <qualified-type-def type-id='type-id-74' const='yes' id='type-id-95'/>
-    <!-- const cds_lfht_mm_type* -->
-    <pointer-type-def type-id='type-id-95' size-in-bits='64' id='type-id-68'/>
-    <!-- const rcu_flavor_struct -->
-    <qualified-type-def type-id='type-id-78' const='yes' id='type-id-96'/>
-    <!-- const rcu_flavor_struct* -->
-    <pointer-type-def type-id='type-id-96' size-in-bits='64' id='type-id-69'/>
-    <!-- ht_items_count* -->
-    <pointer-type-def type-id='type-id-87' size-in-bits='64' id='type-id-71'/>
-    <!-- int ()* -->
-    <pointer-type-def type-id='type-id-97' size-in-bits='64' id='type-id-80'/>
-    <!-- int (cds_lfht_node*, void*)* -->
-    <pointer-type-def type-id='type-id-98' size-in-bits='64' id='type-id-89'/>
-    <!-- long int* -->
-    <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-99'/>
-    <!-- pthread_attr_t* -->
-    <pointer-type-def type-id='type-id-86' size-in-bits='64' id='type-id-70'/>
-    <!-- pthread_attr_t** -->
-    <pointer-type-def type-id='type-id-70' size-in-bits='64' id='type-id-100'/>
-    <!-- unsigned long int* -->
-    <pointer-type-def type-id='type-id-22' size-in-bits='64' id='type-id-101'/>
-    <!-- urcu_atfork* -->
-    <pointer-type-def type-id='type-id-83' size-in-bits='64' id='type-id-102'/>
-    <!-- void ()* -->
-    <pointer-type-def type-id='type-id-103' size-in-bits='64' id='type-id-79'/>
-    <!-- void ()* -->
-    <pointer-type-def type-id='type-id-104' size-in-bits='64' id='type-id-76'/>
-    <!-- void (urcu_atfork*)* -->
-    <pointer-type-def type-id='type-id-105' size-in-bits='64' id='type-id-82'/>
-    <!-- void (void (void*)*, void*)* -->
-    <pointer-type-def type-id='type-id-106' size-in-bits='64' id='type-id-81'/>
-    <!-- void (void*)* -->
-    <pointer-type-def type-id='type-id-107' size-in-bits='64' id='type-id-84'/>
+
+    <!-- cds_lfht_node*[64] -->
+    <array-type-def dimensions='1' type-id='type-id-74' size-in-bits='4096' id='type-id-96'>
+      <!-- <anonymous range>[64] -->
+      <subrange length='64' type-id='type-id-39' id='type-id-98'/>
+
+    </array-type-def>
+
+    <!-- cds_lfht_node*[1] -->
+    <array-type-def dimensions='1' type-id='type-id-74' size-in-bits='64' id='type-id-97'>
+      <!-- <anonymous range>[1] -->
+      <subrange length='1' type-id='type-id-39' id='type-id-99'/>
+
+    </array-type-def>
     <!-- void cds_lfht_resize(cds_lfht*, unsigned long int) -->
     <function-decl name='cds_lfht_resize' mangled-name='cds_lfht_resize' filepath='src/rculfhash.c' line='2028' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_resize'>
       <!-- parameter of type 'cds_lfht*' -->
-      <parameter type-id='type-id-91' name='ht' filepath='src/rculfhash.c' line='2028' column='1'/>
+      <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='2028' column='1'/>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-22' name='new_size' filepath='src/rculfhash.c' line='2028' column='1'/>
+      <parameter type-id='type-id-39' name='new_size' filepath='src/rculfhash.c' line='2028' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
+    <!-- long int* -->
+    <pointer-type-def type-id='type-id-32' size-in-bits='64' id='type-id-100'/>
+    <!-- unsigned long int* -->
+    <pointer-type-def type-id='type-id-39' size-in-bits='64' id='type-id-101'/>
     <!-- void cds_lfht_count_nodes(cds_lfht*, long int*, unsigned long int*, long int*) -->
     <function-decl name='cds_lfht_count_nodes' mangled-name='cds_lfht_count_nodes' filepath='src/rculfhash.c' line='1906' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_count_nodes'>
       <!-- parameter of type 'cds_lfht*' -->
-      <parameter type-id='type-id-91' name='ht' filepath='src/rculfhash.c' line='1906' column='1'/>
+      <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='1906' column='1'/>
       <!-- parameter of type 'long int*' -->
-      <parameter type-id='type-id-99' name='approx_before' filepath='src/rculfhash.c' line='1907' column='1'/>
+      <parameter type-id='type-id-100' name='approx_before' filepath='src/rculfhash.c' line='1907' column='1'/>
       <!-- parameter of type 'unsigned long int*' -->
       <parameter type-id='type-id-101' name='count' filepath='src/rculfhash.c' line='1908' column='1'/>
       <!-- parameter of type 'long int*' -->
-      <parameter type-id='type-id-99' name='approx_after' filepath='src/rculfhash.c' line='1909' column='1'/>
+      <parameter type-id='type-id-100' name='approx_after' filepath='src/rculfhash.c' line='1909' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
+    <!-- pthread_attr_t** -->
+    <pointer-type-def type-id='type-id-63' size-in-bits='64' id='type-id-102'/>
     <!-- int cds_lfht_destroy(cds_lfht*, pthread_attr_t**) -->
     <function-decl name='cds_lfht_destroy' mangled-name='cds_lfht_destroy' filepath='src/rculfhash.c' line='1881' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_destroy'>
       <!-- parameter of type 'cds_lfht*' -->
-      <parameter type-id='type-id-91' name='ht' filepath='src/rculfhash.c' line='1881' column='1'/>
+      <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='1881' column='1'/>
       <!-- parameter of type 'pthread_attr_t**' -->
-      <parameter type-id='type-id-100' name='attr' filepath='src/rculfhash.c' line='1881' column='1'/>
+      <parameter type-id='type-id-102' name='attr' filepath='src/rculfhash.c' line='1881' column='1'/>
       <!-- int -->
-      <return type-id='type-id-1'/>
+      <return type-id='type-id-3'/>
     </function-decl>
     <!-- int cds_lfht_is_node_deleted(cds_lfht_node*) -->
     <function-decl name='cds_lfht_is_node_deleted' mangled-name='cds_lfht_is_node_deleted' filepath='src/rculfhash.c' line='1838' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_is_node_deleted'>
       <!-- parameter of type 'cds_lfht_node*' -->
-      <parameter type-id='type-id-60' name='node' filepath='src/rculfhash.c' line='1838' column='1'/>
+      <parameter type-id='type-id-74' name='node' filepath='src/rculfhash.c' line='1838' column='1'/>
       <!-- int -->
-      <return type-id='type-id-1'/>
+      <return type-id='type-id-3'/>
     </function-decl>
     <!-- int cds_lfht_del(cds_lfht*, cds_lfht_node*) -->
     <function-decl name='cds_lfht_del' mangled-name='cds_lfht_del' filepath='src/rculfhash.c' line='1822' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_del'>
       <!-- parameter of type 'cds_lfht*' -->
-      <parameter type-id='type-id-91' name='ht' filepath='src/rculfhash.c' line='1822' column='1'/>
+      <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='1822' column='1'/>
       <!-- parameter of type 'cds_lfht_node*' -->
-      <parameter type-id='type-id-60' name='node' filepath='src/rculfhash.c' line='1822' column='1'/>
+      <parameter type-id='type-id-74' name='node' filepath='src/rculfhash.c' line='1822' column='1'/>
       <!-- int -->
-      <return type-id='type-id-1'/>
+      <return type-id='type-id-3'/>
     </function-decl>
+    <!-- struct cds_lfht_iter -->
+    <class-decl name='cds_lfht_iter' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/rculfhash.h' line='69' column='1' id='type-id-103'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_lfht_node* cds_lfht_iter::node -->
+        <var-decl name='node' type-id='type-id-74' visibility='default' filepath='../include/urcu/rculfhash.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- cds_lfht_node* cds_lfht_iter::next -->
+        <var-decl name='next' type-id='type-id-74' visibility='default' filepath='../include/urcu/rculfhash.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- cds_lfht_iter* -->
+    <pointer-type-def type-id='type-id-103' size-in-bits='64' id='type-id-104'/>
+    <!-- int (cds_lfht_node*, void*)* -->
+    <pointer-type-def type-id='type-id-105' size-in-bits='64' id='type-id-106'/>
+    <!-- typedef int (cds_lfht_node*, void*)* cds_lfht_match_fct -->
+    <typedef-decl name='cds_lfht_match_fct' type-id='type-id-106' filepath='../include/urcu/rculfhash.h' line='98' column='1' id='type-id-107'/>
     <!-- int cds_lfht_replace(cds_lfht*, cds_lfht_iter*, unsigned long int, cds_lfht_match_fct, void*, cds_lfht_node*) -->
     <function-decl name='cds_lfht_replace' mangled-name='cds_lfht_replace' filepath='src/rculfhash.c' line='1801' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_replace'>
       <!-- parameter of type 'cds_lfht*' -->
-      <parameter type-id='type-id-91' name='ht' filepath='src/rculfhash.c' line='1801' column='1'/>
+      <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='1801' column='1'/>
       <!-- parameter of type 'cds_lfht_iter*' -->
-      <parameter type-id='type-id-93' name='old_iter' filepath='src/rculfhash.c' line='1802' column='1'/>
+      <parameter type-id='type-id-104' name='old_iter' filepath='src/rculfhash.c' line='1802' column='1'/>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-22' name='hash' filepath='src/rculfhash.c' line='1803' column='1'/>
+      <parameter type-id='type-id-39' name='hash' filepath='src/rculfhash.c' line='1803' column='1'/>
       <!-- parameter of type 'typedef cds_lfht_match_fct' -->
-      <parameter type-id='type-id-90' name='match' filepath='src/rculfhash.c' line='1804' column='1'/>
+      <parameter type-id='type-id-107' name='match' filepath='src/rculfhash.c' line='1804' column='1'/>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-48' name='key' filepath='src/rculfhash.c' line='1805' column='1'/>
       <!-- parameter of type 'cds_lfht_node*' -->
-      <parameter type-id='type-id-60' name='new_node' filepath='src/rculfhash.c' line='1806' column='1'/>
+      <parameter type-id='type-id-74' name='new_node' filepath='src/rculfhash.c' line='1806' column='1'/>
       <!-- int -->
-      <return type-id='type-id-1'/>
+      <return type-id='type-id-3'/>
     </function-decl>
     <!-- cds_lfht_node* cds_lfht_add_replace(cds_lfht*, unsigned long int, cds_lfht_match_fct, void*, cds_lfht_node*) -->
     <function-decl name='cds_lfht_add_replace' mangled-name='cds_lfht_add_replace' filepath='src/rculfhash.c' line='1778' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_add_replace'>
       <!-- parameter of type 'cds_lfht*' -->
-      <parameter type-id='type-id-91' name='ht' filepath='src/rculfhash.c' line='1778' column='1'/>
+      <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='1778' column='1'/>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-22' name='hash' filepath='src/rculfhash.c' line='1779' column='1'/>
+      <parameter type-id='type-id-39' name='hash' filepath='src/rculfhash.c' line='1779' column='1'/>
       <!-- parameter of type 'typedef cds_lfht_match_fct' -->
-      <parameter type-id='type-id-90' name='match' filepath='src/rculfhash.c' line='1780' column='1'/>
+      <parameter type-id='type-id-107' name='match' filepath='src/rculfhash.c' line='1780' column='1'/>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-48' name='key' filepath='src/rculfhash.c' line='1781' column='1'/>
       <!-- parameter of type 'cds_lfht_node*' -->
-      <parameter type-id='type-id-60' name='node' filepath='src/rculfhash.c' line='1782' column='1'/>
+      <parameter type-id='type-id-74' name='node' filepath='src/rculfhash.c' line='1782' column='1'/>
       <!-- cds_lfht_node* -->
-      <return type-id='type-id-60'/>
+      <return type-id='type-id-74'/>
     </function-decl>
     <!-- cds_lfht_node* cds_lfht_add_unique(cds_lfht*, unsigned long int, cds_lfht_match_fct, void*, cds_lfht_node*) -->
     <function-decl name='cds_lfht_add_unique' mangled-name='cds_lfht_add_unique' filepath='src/rculfhash.c' line='1761' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_add_unique'>
       <!-- parameter of type 'cds_lfht*' -->
-      <parameter type-id='type-id-91' name='ht' filepath='src/rculfhash.c' line='1761' column='1'/>
+      <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='1778' column='1'/>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-22' name='hash' filepath='src/rculfhash.c' line='1762' column='1'/>
+      <parameter type-id='type-id-39' name='hash' filepath='src/rculfhash.c' line='1779' column='1'/>
       <!-- parameter of type 'typedef cds_lfht_match_fct' -->
-      <parameter type-id='type-id-90' name='match' filepath='src/rculfhash.c' line='1763' column='1'/>
+      <parameter type-id='type-id-107' name='match' filepath='src/rculfhash.c' line='1780' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-48' name='key' filepath='src/rculfhash.c' line='1764' column='1'/>
+      <parameter type-id='type-id-48' name='key' filepath='src/rculfhash.c' line='1781' column='1'/>
       <!-- parameter of type 'cds_lfht_node*' -->
-      <parameter type-id='type-id-60' name='node' filepath='src/rculfhash.c' line='1765' column='1'/>
+      <parameter type-id='type-id-74' name='node' filepath='src/rculfhash.c' line='1782' column='1'/>
       <!-- cds_lfht_node* -->
-      <return type-id='type-id-60'/>
+      <return type-id='type-id-74'/>
     </function-decl>
     <!-- void cds_lfht_add(cds_lfht*, unsigned long int, cds_lfht_node*) -->
     <function-decl name='cds_lfht_add' mangled-name='cds_lfht_add' filepath='src/rculfhash.c' line='1750' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_add'>
       <!-- parameter of type 'cds_lfht*' -->
-      <parameter type-id='type-id-91' name='ht' filepath='src/rculfhash.c' line='1750' column='1'/>
+      <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='1750' column='1'/>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-22' name='hash' filepath='src/rculfhash.c' line='1750' column='1'/>
+      <parameter type-id='type-id-39' name='hash' filepath='src/rculfhash.c' line='1750' column='1'/>
       <!-- parameter of type 'cds_lfht_node*' -->
-      <parameter type-id='type-id-60' name='node' filepath='src/rculfhash.c' line='1751' column='1'/>
+      <parameter type-id='type-id-74' name='node' filepath='src/rculfhash.c' line='1751' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- void cds_lfht_first(cds_lfht*, cds_lfht_iter*) -->
     <function-decl name='cds_lfht_first' mangled-name='cds_lfht_first' filepath='src/rculfhash.c' line='1739' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_first'>
       <!-- parameter of type 'cds_lfht*' -->
-      <parameter type-id='type-id-91' name='ht' filepath='src/rculfhash.c' line='1739' column='1'/>
+      <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='1739' column='1'/>
       <!-- parameter of type 'cds_lfht_iter*' -->
-      <parameter type-id='type-id-93' name='iter' filepath='src/rculfhash.c' line='1739' column='1'/>
+      <parameter type-id='type-id-104' name='iter' filepath='src/rculfhash.c' line='1739' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- void cds_lfht_next(cds_lfht*, cds_lfht_iter*) -->
     <function-decl name='cds_lfht_next' mangled-name='cds_lfht_next' filepath='src/rculfhash.c' line='1715' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_next'>
       <!-- parameter of type 'cds_lfht*' -->
-      <parameter type-id='type-id-91' name='ht' filepath='src/rculfhash.c' line='1715' column='1'/>
+      <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='1715' column='1'/>
       <!-- parameter of type 'cds_lfht_iter*' -->
-      <parameter type-id='type-id-93' name='iter' filepath='src/rculfhash.c' line='1716' column='1'/>
+      <parameter type-id='type-id-104' name='iter' filepath='src/rculfhash.c' line='1716' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- void cds_lfht_next_duplicate(cds_lfht*, cds_lfht_match_fct, void*, cds_lfht_iter*) -->
     <function-decl name='cds_lfht_next_duplicate' mangled-name='cds_lfht_next_duplicate' filepath='src/rculfhash.c' line='1680' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_next_duplicate'>
       <!-- parameter of type 'cds_lfht*' -->
-      <parameter type-id='type-id-91' name='ht' filepath='src/rculfhash.c' line='1680' column='1'/>
+      <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='1680' column='1'/>
       <!-- parameter of type 'typedef cds_lfht_match_fct' -->
-      <parameter type-id='type-id-90' name='match' filepath='src/rculfhash.c' line='1681' column='1'/>
+      <parameter type-id='type-id-107' name='match' filepath='src/rculfhash.c' line='1681' column='1'/>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-48' name='key' filepath='src/rculfhash.c' line='1682' column='1'/>
       <!-- parameter of type 'cds_lfht_iter*' -->
-      <parameter type-id='type-id-93' name='iter' filepath='src/rculfhash.c' line='1682' column='1'/>
+      <parameter type-id='type-id-104' name='iter' filepath='src/rculfhash.c' line='1682' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- void cds_lfht_lookup(cds_lfht*, unsigned long int, cds_lfht_match_fct, void*, cds_lfht_iter*) -->
     <function-decl name='cds_lfht_lookup' mangled-name='cds_lfht_lookup' filepath='src/rculfhash.c' line='1640' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_lookup'>
       <!-- parameter of type 'cds_lfht*' -->
-      <parameter type-id='type-id-91' name='ht' filepath='src/rculfhash.c' line='1640' column='1'/>
+      <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='1640' column='1'/>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-22' name='hash' filepath='src/rculfhash.c' line='1640' column='1'/>
+      <parameter type-id='type-id-39' name='hash' filepath='src/rculfhash.c' line='1640' column='1'/>
       <!-- parameter of type 'typedef cds_lfht_match_fct' -->
-      <parameter type-id='type-id-90' name='match' filepath='src/rculfhash.c' line='1641' column='1'/>
+      <parameter type-id='type-id-107' name='match' filepath='src/rculfhash.c' line='1641' column='1'/>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-48' name='key' filepath='src/rculfhash.c' line='1641' column='1'/>
       <!-- parameter of type 'cds_lfht_iter*' -->
-      <parameter type-id='type-id-93' name='iter' filepath='src/rculfhash.c' line='1642' column='1'/>
+      <parameter type-id='type-id-104' name='iter' filepath='src/rculfhash.c' line='1642' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- cds_lfht* _cds_lfht_new(unsigned long int, unsigned long int, unsigned long int, int, const cds_lfht_mm_type*, const rcu_flavor_struct*, pthread_attr_t*) -->
     <function-decl name='_cds_lfht_new' mangled-name='_cds_lfht_new' filepath='src/rculfhash.c' line='1581' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_cds_lfht_new'>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-22' name='init_size' filepath='src/rculfhash.c' line='1581' column='1'/>
+      <parameter type-id='type-id-39' name='init_size' filepath='src/rculfhash.c' line='1581' column='1'/>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-22' name='min_nr_alloc_buckets' filepath='src/rculfhash.c' line='1582' column='1'/>
+      <parameter type-id='type-id-39' name='min_nr_alloc_buckets' filepath='src/rculfhash.c' line='1582' column='1'/>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-22' name='max_nr_buckets' filepath='src/rculfhash.c' line='1583' column='1'/>
+      <parameter type-id='type-id-39' name='max_nr_buckets' filepath='src/rculfhash.c' line='1583' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-1' name='flags' filepath='src/rculfhash.c' line='1584' column='1'/>
+      <parameter type-id='type-id-3' name='flags' filepath='src/rculfhash.c' line='1584' column='1'/>
       <!-- parameter of type 'const cds_lfht_mm_type*' -->
-      <parameter type-id='type-id-68' name='mm' filepath='src/rculfhash.c' line='1585' column='1'/>
+      <parameter type-id='type-id-61' name='mm' filepath='src/rculfhash.c' line='1585' column='1'/>
       <!-- parameter of type 'const rcu_flavor_struct*' -->
-      <parameter type-id='type-id-69' name='flavor' filepath='src/rculfhash.c' line='1586' column='1'/>
+      <parameter type-id='type-id-62' name='flavor' filepath='src/rculfhash.c' line='1586' column='1'/>
       <!-- parameter of type 'pthread_attr_t*' -->
-      <parameter type-id='type-id-70' name='attr' filepath='src/rculfhash.c' line='1587' column='1'/>
+      <parameter type-id='type-id-63' name='attr' filepath='src/rculfhash.c' line='1587' column='1'/>
       <!-- cds_lfht* -->
-      <return type-id='type-id-91'/>
+      <return type-id='type-id-70'/>
     </function-decl>
     <!-- int cds_lfht_get_count_order_ulong(unsigned long int) -->
     <function-decl name='cds_lfht_get_count_order_ulong' mangled-name='cds_lfht_get_count_order_ulong' filepath='src/rculfhash.c' line='598' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_get_count_order_ulong'>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-22' name='x' filepath='src/rculfhash.c' line='598' column='1'/>
+      <parameter type-id='type-id-39' name='x' filepath='src/rculfhash.c' line='598' column='1'/>
       <!-- int -->
-      <return type-id='type-id-1'/>
+      <return type-id='type-id-3'/>
     </function-decl>
     <!-- unsigned int cds_lfht_fls_ulong(unsigned long int) -->
     <function-decl name='cds_lfht_fls_ulong' mangled-name='cds_lfht_fls_ulong' filepath='src/rculfhash.c' line='572' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_fls_ulong'>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-22' name='x' filepath='src/rculfhash.c' line='572' column='1'/>
+      <parameter type-id='type-id-39' name='x' filepath='src/rculfhash.c' line='572' column='1'/>
       <!-- unsigned int -->
-      <return type-id='type-id-26'/>
+      <return type-id='type-id-33'/>
     </function-decl>
     <!-- cds_lfht* (unsigned long int, unsigned long int) -->
-    <function-type size-in-bits='64' id='type-id-92'>
+    <function-type size-in-bits='64' id='type-id-71'>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-22'/>
+      <parameter type-id='type-id-39'/>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-22'/>
+      <parameter type-id='type-id-39'/>
       <!-- cds_lfht* -->
-      <return type-id='type-id-91'/>
+      <return type-id='type-id-70'/>
     </function-type>
     <!-- cds_lfht_node* (cds_lfht*, unsigned long int) -->
-    <function-type size-in-bits='64' id='type-id-94'>
+    <function-type size-in-bits='64' id='type-id-75'>
       <!-- parameter of type 'cds_lfht*' -->
-      <parameter type-id='type-id-91'/>
+      <parameter type-id='type-id-70'/>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-22'/>
+      <parameter type-id='type-id-39'/>
       <!-- cds_lfht_node* -->
-      <return type-id='type-id-60'/>
+      <return type-id='type-id-74'/>
     </function-type>
     <!-- int () -->
-    <function-type size-in-bits='64' id='type-id-97'>
+    <function-type size-in-bits='64' id='type-id-83'>
       <!-- int -->
-      <return type-id='type-id-1'/>
+      <return type-id='type-id-3'/>
     </function-type>
     <!-- int (cds_lfht_node*, void*) -->
-    <function-type size-in-bits='64' id='type-id-98'>
+    <function-type size-in-bits='64' id='type-id-105'>
       <!-- parameter of type 'cds_lfht_node*' -->
-      <parameter type-id='type-id-60'/>
+      <parameter type-id='type-id-74'/>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-48'/>
       <!-- int -->
-      <return type-id='type-id-1'/>
+      <return type-id='type-id-3'/>
     </function-type>
     <!-- void () -->
-    <function-type size-in-bits='64' id='type-id-103'>
+    <function-type size-in-bits='64' id='type-id-82'>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-type>
     <!-- void (cds_lfht*, unsigned long int) -->
-    <function-type size-in-bits='64' id='type-id-104'>
+    <function-type size-in-bits='64' id='type-id-72'>
       <!-- parameter of type 'cds_lfht*' -->
-      <parameter type-id='type-id-91' name='ht'/>
+      <parameter type-id='type-id-70'/>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-22' name='new_size'/>
+      <parameter type-id='type-id-39'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-type>
     <!-- void (urcu_atfork*) -->
-    <function-type size-in-bits='64' id='type-id-105'>
+    <function-type size-in-bits='64' id='type-id-89'>
       <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-102'/>
+      <parameter type-id='type-id-88'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-type>
     <!-- void (void (void*)*, void*) -->
-    <function-type size-in-bits='64' id='type-id-106'>
+    <function-type size-in-bits='64' id='type-id-86'>
       <!-- parameter of type 'void (void*)*' -->
-      <parameter type-id='type-id-84'/>
+      <parameter type-id='type-id-85'/>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-48'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-type>
     <!-- void (void*) -->
-    <function-type size-in-bits='64' id='type-id-107'>
+    <function-type size-in-bits='64' id='type-id-84'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-48'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-type>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='rculfhash-mm-order.c' comp-dir-path='src' language='LANG_C99'>
     <!-- const cds_lfht_mm_type cds_lfht_mm_order -->
-    <var-decl name='cds_lfht_mm_order' type-id='type-id-95' mangled-name='cds_lfht_mm_order' visibility='default' filepath='../include/urcu/rculfhash.h' line='129' column='1' elf-symbol-id='cds_lfht_mm_order'/>
+    <var-decl name='cds_lfht_mm_order' type-id='type-id-76' mangled-name='cds_lfht_mm_order' visibility='default' filepath='../include/urcu/rculfhash.h' line='129' column='1' elf-symbol-id='cds_lfht_mm_order'/>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='rculfhash-mm-chunk.c' comp-dir-path='src' language='LANG_C99'>
     <!-- const cds_lfht_mm_type cds_lfht_mm_chunk -->
-    <var-decl name='cds_lfht_mm_chunk' type-id='type-id-95' mangled-name='cds_lfht_mm_chunk' visibility='default' filepath='../include/urcu/rculfhash.h' line='130' column='1' elf-symbol-id='cds_lfht_mm_chunk'/>
+    <var-decl name='cds_lfht_mm_chunk' type-id='type-id-76' mangled-name='cds_lfht_mm_chunk' visibility='default' filepath='../include/urcu/rculfhash.h' line='130' column='1' elf-symbol-id='cds_lfht_mm_chunk'/>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='rculfhash-mm-mmap.c' comp-dir-path='src' language='LANG_C99'>
     <!-- const cds_lfht_mm_type cds_lfht_mm_mmap -->
-    <var-decl name='cds_lfht_mm_mmap' type-id='type-id-95' mangled-name='cds_lfht_mm_mmap' visibility='default' filepath='../include/urcu/rculfhash.h' line='131' column='1' elf-symbol-id='cds_lfht_mm_mmap'/>
+    <var-decl name='cds_lfht_mm_mmap' type-id='type-id-76' mangled-name='cds_lfht_mm_mmap' visibility='default' filepath='../include/urcu/rculfhash.h' line='131' column='1' elf-symbol-id='cds_lfht_mm_mmap'/>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='compat_futex.c' comp-dir-path='src' language='LANG_C99'>
-
-
-    <!-- char[48] -->
-    <array-type-def dimensions='1' type-id='type-id-20' size-in-bits='384' id='type-id-108'>
-      <!-- <anonymous range>[48] -->
-      <subrange length='48' type-id='type-id-22' id='type-id-109'/>
-
-    </array-type-def>
-    <!-- long long int -->
-    <type-decl name='long long int' size-in-bits='64' id='type-id-110'/>
-    <!-- long long unsigned int -->
-    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-111'/>
-    <!-- unsigned int[2] -->
-    <array-type-def dimensions='1' type-id='type-id-26' size-in-bits='64' id='type-id-112'>
-      <!-- <anonymous range>[2] -->
-      <subrange length='2' type-id='type-id-22' id='type-id-113'/>
-
-    </array-type-def>
-    <!-- typedef __anonymous_union__ pthread_cond_t -->
-    <typedef-decl name='pthread_cond_t' type-id='type-id-114' filepath='/usr/include/bits/pthreadtypes.h' line='80' column='1' id='type-id-115'/>
-    <!-- union {__pthread_cond_s __data; char __size[48]; long long int __align;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='75' column='1' id='type-id-114'>
+    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
+    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-28' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='75' column='1' id='type-id-108'>
       <data-member access='private'>
-        <!-- __pthread_cond_s __data -->
-        <var-decl name='__data' type-id='type-id-116' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='77' column='1'/>
+        <!-- __pthread_cond_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-109' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='77' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- char __size[48] -->
-        <var-decl name='__size' type-id='type-id-108' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='78' column='1'/>
+        <!-- char __anonymous_union__::__size[48] -->
+        <var-decl name='__size' type-id='type-id-110' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='78' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- long long int __align -->
-        <var-decl name='__align' type-id='type-id-110' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='79' column='1'/>
+        <!-- long long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-111' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='79' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __pthread_cond_s -->
-    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='92' column='1' id='type-id-116'>
+    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='171' column='1' id='type-id-109'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <!-- union {long long unsigned int __wseq; struct {unsigned int __low; unsigned int __high;} __wseq32;} -->
-        <var-decl name='' type-id='type-id-117' visibility='default'/>
+        <!-- __anonymous_union__  -->
+        <var-decl name='' type-id='type-id-112' visibility='default'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- unsigned int __pthread_cond_s::__g_refs[2] -->
-        <var-decl name='__g_refs' type-id='type-id-112' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='112' column='1'/>
+        <var-decl name='__g_refs' type-id='type-id-113' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='191' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- unsigned int __pthread_cond_s::__g_size[2] -->
-        <var-decl name='__g_size' type-id='type-id-112' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='113' column='1'/>
+        <var-decl name='__g_size' type-id='type-id-113' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='192' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- unsigned int __pthread_cond_s::__g1_orig_size -->
-        <var-decl name='__g1_orig_size' type-id='type-id-26' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='114' column='1'/>
+        <var-decl name='__g1_orig_size' type-id='type-id-33' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='193' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='288'>
         <!-- unsigned int __pthread_cond_s::__wrefs -->
-        <var-decl name='__wrefs' type-id='type-id-26' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='115' column='1'/>
+        <var-decl name='__wrefs' type-id='type-id-33' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='194' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
         <!-- unsigned int __pthread_cond_s::__g_signals[2] -->
-        <var-decl name='__g_signals' type-id='type-id-112' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='116' column='1'/>
+        <var-decl name='__g_signals' type-id='type-id-113' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='195' column='1'/>
       </data-member>
     </class-decl>
-    <!-- union {long long unsigned int __wseq; struct {unsigned int __low; unsigned int __high;} __wseq32;} -->
-    <union-decl name='__anonymous_union__1' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='94' column='1' id='type-id-117'>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='173' column='1' id='type-id-112'>
       <data-member access='private'>
-        <!-- long long unsigned int __wseq -->
-        <var-decl name='__wseq' type-id='type-id-111' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='96' column='1'/>
+        <!-- long long unsigned int __anonymous_union__::__wseq -->
+        <var-decl name='__wseq' type-id='type-id-114' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='175' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- struct {unsigned int __low; unsigned int __high;} __wseq32 -->
-        <var-decl name='__wseq32' type-id='type-id-118' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='101' column='1'/>
+        <!-- __anonymous_struct__ __anonymous_union__::__wseq32 -->
+        <var-decl name='__wseq32' type-id='type-id-115' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='180' column='1'/>
       </data-member>
     </union-decl>
-    <!-- struct {unsigned int __low; unsigned int __high;} -->
-    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='97' column='1' id='type-id-118'>
+    <!-- long long unsigned int -->
+    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-114'/>
+    <!-- struct __anonymous_struct__ -->
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='176' column='1' id='type-id-115'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <!-- unsigned int __low -->
-        <var-decl name='__low' type-id='type-id-26' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='99' column='1'/>
+        <!-- unsigned int __anonymous_struct__::__low -->
+        <var-decl name='__low' type-id='type-id-33' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='178' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='32'>
-        <!-- unsigned int __high -->
-        <var-decl name='__high' type-id='type-id-26' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='100' column='1'/>
+        <!-- unsigned int __anonymous_struct__::__high -->
+        <var-decl name='__high' type-id='type-id-33' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='179' column='1'/>
       </data-member>
     </class-decl>
+
+    <!-- unsigned int[2] -->
+    <array-type-def dimensions='1' type-id='type-id-33' size-in-bits='64' id='type-id-113'>
+      <!-- <anonymous range>[2] -->
+      <subrange length='2' type-id='type-id-39' id='type-id-116'/>
+
+    </array-type-def>
+
+    <!-- char[48] -->
+    <array-type-def dimensions='1' type-id='type-id-38' size-in-bits='384' id='type-id-110'>
+      <!-- <anonymous range>[48] -->
+      <subrange length='48' type-id='type-id-39' id='type-id-117'/>
+
+    </array-type-def>
+    <!-- long long int -->
+    <type-decl name='long long int' size-in-bits='64' id='type-id-111'/>
+    <!-- typedef __anonymous_union__ pthread_cond_t -->
+    <typedef-decl name='pthread_cond_t' type-id='type-id-108' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='80' column='1' id='type-id-118'/>
+    <!-- pthread_cond_t __urcu_compat_futex_cond -->
+    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-118' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
+    <!-- int32_t* -->
+    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-119'/>
     <!-- struct timespec -->
-    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='10' column='1' id='type-id-119'>
+    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='9' column='1' id='type-id-120'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- __time_t timespec::tv_sec -->
-        <var-decl name='tv_sec' type-id='type-id-120' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='12' column='1'/>
+        <var-decl name='tv_sec' type-id='type-id-121' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='11' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- __syscall_slong_t timespec::tv_nsec -->
-        <var-decl name='tv_nsec' type-id='type-id-121' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='16' column='1'/>
+        <var-decl name='tv_nsec' type-id='type-id-122' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='12' column='1'/>
       </data-member>
     </class-decl>
     <!-- typedef long int __time_t -->
-    <typedef-decl name='__time_t' type-id='type-id-24' filepath='/usr/include/bits/types.h' line='160' column='1' id='type-id-120'/>
+    <typedef-decl name='__time_t' type-id='type-id-32' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='148' column='1' id='type-id-121'/>
     <!-- typedef long int __syscall_slong_t -->
-    <typedef-decl name='__syscall_slong_t' type-id='type-id-24' filepath='/usr/include/bits/types.h' line='197' column='1' id='type-id-121'/>
+    <typedef-decl name='__syscall_slong_t' type-id='type-id-32' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='184' column='1' id='type-id-122'/>
     <!-- const timespec -->
-    <qualified-type-def type-id='type-id-119' const='yes' id='type-id-122'/>
+    <qualified-type-def type-id='type-id-120' const='yes' id='type-id-123'/>
     <!-- const timespec* -->
-    <pointer-type-def type-id='type-id-122' size-in-bits='64' id='type-id-123'/>
-    <!-- int32_t* -->
-    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-124'/>
-    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
-    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-37' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
-    <!-- pthread_cond_t __urcu_compat_futex_cond -->
-    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-115' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
+    <pointer-type-def type-id='type-id-123' size-in-bits='64' id='type-id-124'/>
     <!-- int compat_futex_async(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
     <function-decl name='compat_futex_async' mangled-name='compat_futex_async' filepath='src/compat_futex.c' line='118' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_async'>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-124' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-119' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-1' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-3' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
       <parameter type-id='type-id-46' name='val' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'const timespec*' -->
-      <parameter type-id='type-id-123' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-124' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-124' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-119' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
       <parameter type-id='type-id-46' name='val3' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- int -->
-      <return type-id='type-id-1'/>
+      <return type-id='type-id-3'/>
     </function-decl>
     <!-- int compat_futex_noasync(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
     <function-decl name='compat_futex_noasync' mangled-name='compat_futex_noasync' filepath='src/compat_futex.c' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_noasync'>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-124' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-119' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-1' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-3' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
       <parameter type-id='type-id-46' name='val' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'const timespec*' -->
-      <parameter type-id='type-id-123' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-124' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-124' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-119' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
       <parameter type-id='type-id-46' name='val3' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- int -->
-      <return type-id='type-id-1'/>
+      <return type-id='type-id-3'/>
     </function-decl>
   </abi-instr>
 </abi-corpus>
index 07daf21a5d9ae9cd44ae287f28250c2097022be3..4773d91eed60643f7bc58746b876233896805426 100644 (file)
     <elf-symbol name='__cds_wfs_pop_with_state_blocking' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- __cds_wfs_pop_with_state_nonblocking -->
     <elf-symbol name='__cds_wfs_pop_with_state_nonblocking' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- _fini -->
+    <elf-symbol name='_fini' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- _init -->
+    <elf-symbol name='_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- cds_wfcq_dequeue_blocking -->
     <elf-symbol name='cds_wfcq_dequeue_blocking' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- cds_wfcq_dequeue_lock -->
     <elf-symbol name='__urcu_compat_futex_lock' size='40' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
   </elf-variable-symbols>
   <abi-instr version='1.0' address-size='64' path='wfqueue.c' comp-dir-path='src' language='LANG_C99'>
-
-    <!-- char -->
-    <type-decl name='char' size-in-bits='8' id='type-id-1'/>
-    <!-- char[40] -->
-    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='320' id='type-id-2'>
-      <!-- <anonymous range>[40] -->
-      <subrange length='40' type-id='type-id-3' id='type-id-4'/>
-
-    </array-type-def>
-    <!-- int -->
-    <type-decl name='int' size-in-bits='32' id='type-id-5'/>
-    <!-- long int -->
-    <type-decl name='long int' size-in-bits='64' id='type-id-6'/>
-    <!-- short int -->
-    <type-decl name='short int' size-in-bits='16' id='type-id-7'/>
-    <!-- unsigned int -->
-    <type-decl name='unsigned int' size-in-bits='32' id='type-id-8'/>
-    <!-- unsigned long int -->
-    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-3'/>
-    <!-- void -->
-    <type-decl name='void' id='type-id-9'/>
     <!-- struct cds_wfq_node -->
-    <class-decl name='cds_wfq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfqueue.h' line='48' column='1' id='type-id-10'>
+    <class-decl name='cds_wfq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfqueue.h' line='48' column='1' id='type-id-1'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfq_node* cds_wfq_node::next -->
-        <var-decl name='next' type-id='type-id-11' visibility='default' filepath='../include/urcu/wfqueue.h' line='49' column='1'/>
+        <var-decl name='next' type-id='type-id-2' visibility='default' filepath='../include/urcu/wfqueue.h' line='49' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_wfq_node* -->
+    <pointer-type-def type-id='type-id-1' size-in-bits='64' id='type-id-2'/>
     <!-- struct cds_wfq_queue -->
-    <class-decl name='cds_wfq_queue' size-in-bits='512' is-struct='yes' visibility='default' filepath='../include/urcu/wfqueue.h' line='52' column='1' id='type-id-12'>
+    <class-decl name='cds_wfq_queue' size-in-bits='512' is-struct='yes' visibility='default' filepath='../include/urcu/wfqueue.h' line='52' column='1' id='type-id-3'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfq_node* cds_wfq_queue::head -->
-        <var-decl name='head' type-id='type-id-11' visibility='default' filepath='../include/urcu/wfqueue.h' line='53' column='1'/>
+        <var-decl name='head' type-id='type-id-2' visibility='default' filepath='../include/urcu/wfqueue.h' line='53' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- cds_wfq_node** cds_wfq_queue::tail -->
-        <var-decl name='tail' type-id='type-id-13' visibility='default' filepath='../include/urcu/wfqueue.h' line='53' column='1'/>
+        <var-decl name='tail' type-id='type-id-4' visibility='default' filepath='../include/urcu/wfqueue.h' line='53' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- cds_wfq_node cds_wfq_queue::dummy -->
-        <var-decl name='dummy' type-id='type-id-10' visibility='default' filepath='../include/urcu/wfqueue.h' line='54' column='1'/>
+        <var-decl name='dummy' type-id='type-id-1' visibility='default' filepath='../include/urcu/wfqueue.h' line='54' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- pthread_mutex_t cds_wfq_queue::lock -->
-        <var-decl name='lock' type-id='type-id-14' visibility='default' filepath='../include/urcu/wfqueue.h' line='55' column='1'/>
+        <var-decl name='lock' type-id='type-id-5' visibility='default' filepath='../include/urcu/wfqueue.h' line='55' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __anonymous_union__ pthread_mutex_t -->
-    <typedef-decl name='pthread_mutex_t' type-id='type-id-15' filepath='/usr/include/bits/pthreadtypes.h' line='72' column='1' id='type-id-14'/>
-    <!-- union {__pthread_mutex_s __data; char __size[40]; long int __align;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='67' column='1' id='type-id-15'>
+    <!-- cds_wfq_node** -->
+    <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-4'/>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='67' column='1' id='type-id-6'>
       <data-member access='private'>
-        <!-- __pthread_mutex_s __data -->
-        <var-decl name='__data' type-id='type-id-16' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='69' column='1'/>
+        <!-- __pthread_mutex_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-7' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='69' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- char __size[40] -->
-        <var-decl name='__size' type-id='type-id-2' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='70' column='1'/>
+        <!-- char __anonymous_union__::__size[40] -->
+        <var-decl name='__size' type-id='type-id-8' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='70' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- long int __align -->
-        <var-decl name='__align' type-id='type-id-6' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='71' column='1'/>
+        <!-- long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-9' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='71' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __pthread_mutex_s -->
-    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='22' column='1' id='type-id-16'>
+    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='118' column='1' id='type-id-7'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- int __pthread_mutex_s::__lock -->
-        <var-decl name='__lock' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='24' column='1'/>
+        <var-decl name='__lock' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='120' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='32'>
         <!-- unsigned int __pthread_mutex_s::__count -->
-        <var-decl name='__count' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='25' column='1'/>
+        <var-decl name='__count' type-id='type-id-11' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='121' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- int __pthread_mutex_s::__owner -->
-        <var-decl name='__owner' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='26' column='1'/>
+        <var-decl name='__owner' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='122' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='96'>
         <!-- unsigned int __pthread_mutex_s::__nusers -->
-        <var-decl name='__nusers' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='28' column='1'/>
+        <var-decl name='__nusers' type-id='type-id-11' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='124' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- int __pthread_mutex_s::__kind -->
-        <var-decl name='__kind' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='32' column='1'/>
+        <var-decl name='__kind' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='148' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='160'>
         <!-- short int __pthread_mutex_s::__spins -->
-        <var-decl name='__spins' type-id='type-id-7' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='34' column='1'/>
+        <var-decl name='__spins' type-id='type-id-12' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='176'>
         <!-- short int __pthread_mutex_s::__elision -->
-        <var-decl name='__elision' type-id='type-id-7' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='35' column='1'/>
+        <var-decl name='__elision' type-id='type-id-12' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- __pthread_list_t __pthread_mutex_s::__list -->
-        <var-decl name='__list' type-id='type-id-17' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='36' column='1'/>
+        <var-decl name='__list' type-id='type-id-13' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='155' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __pthread_internal_list __pthread_list_t -->
-    <typedef-decl name='__pthread_list_t' type-id='type-id-18' filepath='/usr/include/bits/thread-shared-types.h' line='53' column='1' id='type-id-17'/>
+    <!-- int -->
+    <type-decl name='int' size-in-bits='32' id='type-id-10'/>
+    <!-- unsigned int -->
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-11'/>
+    <!-- short int -->
+    <type-decl name='short int' size-in-bits='16' id='type-id-12'/>
     <!-- struct __pthread_internal_list -->
-    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='49' column='1' id='type-id-18'>
+    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='82' column='1' id='type-id-14'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- __pthread_internal_list* __pthread_internal_list::__prev -->
-        <var-decl name='__prev' type-id='type-id-19' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='51' column='1'/>
+        <var-decl name='__prev' type-id='type-id-15' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='84' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- __pthread_internal_list* __pthread_internal_list::__next -->
-        <var-decl name='__next' type-id='type-id-19' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='52' column='1'/>
+        <var-decl name='__next' type-id='type-id-15' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='85' column='1'/>
       </data-member>
     </class-decl>
     <!-- __pthread_internal_list* -->
-    <pointer-type-def type-id='type-id-18' size-in-bits='64' id='type-id-19'/>
-    <!-- cds_wfq_node* -->
-    <pointer-type-def type-id='type-id-10' size-in-bits='64' id='type-id-11'/>
-    <!-- cds_wfq_node** -->
-    <pointer-type-def type-id='type-id-11' size-in-bits='64' id='type-id-13'/>
+    <pointer-type-def type-id='type-id-14' size-in-bits='64' id='type-id-15'/>
+    <!-- typedef __pthread_internal_list __pthread_list_t -->
+    <typedef-decl name='__pthread_list_t' type-id='type-id-14' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='86' column='1' id='type-id-13'/>
+    <!-- char -->
+    <type-decl name='char' size-in-bits='8' id='type-id-16'/>
+    <!-- unsigned long int -->
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-17'/>
+
+    <!-- char[40] -->
+    <array-type-def dimensions='1' type-id='type-id-16' size-in-bits='320' id='type-id-8'>
+      <!-- <anonymous range>[40] -->
+      <subrange length='40' type-id='type-id-17' id='type-id-18'/>
+
+    </array-type-def>
+    <!-- long int -->
+    <type-decl name='long int' size-in-bits='64' id='type-id-9'/>
+    <!-- typedef __anonymous_union__ pthread_mutex_t -->
+    <typedef-decl name='pthread_mutex_t' type-id='type-id-6' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='72' column='1' id='type-id-5'/>
     <!-- cds_wfq_queue* -->
-    <pointer-type-def type-id='type-id-12' size-in-bits='64' id='type-id-20'/>
+    <pointer-type-def type-id='type-id-3' size-in-bits='64' id='type-id-19'/>
     <!-- cds_wfq_node* cds_wfq_dequeue_blocking(cds_wfq_queue*) -->
     <function-decl name='cds_wfq_dequeue_blocking' mangled-name='cds_wfq_dequeue_blocking' filepath='src/wfqueue.c' line='59' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfq_dequeue_blocking'>
       <!-- parameter of type 'cds_wfq_queue*' -->
-      <parameter type-id='type-id-20' name='q' filepath='src/wfqueue.c' line='59' column='1'/>
+      <parameter type-id='type-id-19' name='q' filepath='src/wfqueue.c' line='59' column='1'/>
       <!-- cds_wfq_node* -->
-      <return type-id='type-id-11'/>
+      <return type-id='type-id-2'/>
     </function-decl>
     <!-- cds_wfq_node* __cds_wfq_dequeue_blocking(cds_wfq_queue*) -->
     <function-decl name='__cds_wfq_dequeue_blocking' mangled-name='__cds_wfq_dequeue_blocking' filepath='src/wfqueue.c' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfq_dequeue_blocking'>
       <!-- parameter of type 'cds_wfq_queue*' -->
-      <parameter type-id='type-id-20' name='q' filepath='src/wfqueue.c' line='54' column='1'/>
+      <parameter type-id='type-id-19' name='q' filepath='src/wfqueue.c' line='59' column='1'/>
       <!-- cds_wfq_node* -->
-      <return type-id='type-id-11'/>
+      <return type-id='type-id-2'/>
     </function-decl>
+    <!-- void -->
+    <type-decl name='void' id='type-id-20'/>
     <!-- void cds_wfq_enqueue(cds_wfq_queue*, cds_wfq_node*) -->
     <function-decl name='cds_wfq_enqueue' mangled-name='cds_wfq_enqueue' filepath='src/wfqueue.c' line='49' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfq_enqueue'>
       <!-- parameter of type 'cds_wfq_queue*' -->
-      <parameter type-id='type-id-20' name='q' filepath='src/wfqueue.c' line='49' column='1'/>
+      <parameter type-id='type-id-19' name='q' filepath='src/wfqueue.c' line='49' column='1'/>
       <!-- parameter of type 'cds_wfq_node*' -->
-      <parameter type-id='type-id-11' name='node' filepath='src/wfqueue.c' line='49' column='1'/>
+      <parameter type-id='type-id-2' name='node' filepath='src/wfqueue.c' line='49' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-20'/>
     </function-decl>
     <!-- void cds_wfq_destroy(cds_wfq_queue*) -->
     <function-decl name='cds_wfq_destroy' mangled-name='cds_wfq_destroy' filepath='src/wfqueue.c' line='44' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfq_destroy'>
       <!-- parameter of type 'cds_wfq_queue*' -->
-      <parameter type-id='type-id-20' name='q' filepath='src/wfqueue.c' line='44' column='1'/>
+      <parameter type-id='type-id-19' name='q' filepath='src/wfqueue.c' line='44' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-20'/>
     </function-decl>
     <!-- void cds_wfq_init(cds_wfq_queue*) -->
     <function-decl name='cds_wfq_init' mangled-name='cds_wfq_init' filepath='src/wfqueue.c' line='39' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfq_init'>
       <!-- parameter of type 'cds_wfq_queue*' -->
-      <parameter type-id='type-id-20' name='q' filepath='src/wfqueue.c' line='39' column='1'/>
+      <parameter type-id='type-id-19' name='q' filepath='src/wfqueue.c' line='44' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-20'/>
     </function-decl>
     <!-- void cds_wfq_node_init(cds_wfq_node*) -->
     <function-decl name='cds_wfq_node_init' mangled-name='cds_wfq_node_init' filepath='src/wfqueue.c' line='34' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfq_node_init'>
       <!-- parameter of type 'cds_wfq_node*' -->
-      <parameter type-id='type-id-11' name='node' filepath='src/wfqueue.c' line='34' column='1'/>
+      <parameter type-id='type-id-2' name='node' filepath='src/wfqueue.c' line='34' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-20'/>
     </function-decl>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='wfcqueue.c' comp-dir-path='src' language='LANG_C99'>
-    <!-- bool -->
-    <type-decl name='bool' size-in-bits='8' id='type-id-21'/>
-    <!-- unnamed&#45;enum&#45;underlying&#45;type -->
-    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-22'/>
     <!-- struct cds_wfcq_node -->
-    <class-decl name='cds_wfcq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='59' column='1' id='type-id-23'>
+    <class-decl name='cds_wfcq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='59' column='1' id='type-id-21'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node* cds_wfcq_node::next -->
-        <var-decl name='next' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='60' column='1'/>
+        <var-decl name='next' type-id='type-id-22' visibility='default' filepath='../include/urcu/wfcqueue.h' line='60' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __anonymous_union__ cds_wfcq_head_ptr_t -->
-    <typedef-decl name='cds_wfcq_head_ptr_t' type-id='type-id-25' filepath='../include/urcu/wfcqueue.h' line='86' column='1' id='type-id-26'/>
-    <!-- union {__cds_wfcq_head* _h; cds_wfcq_head* h;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='83' column='1' id='type-id-25'>
+    <!-- cds_wfcq_node* -->
+    <pointer-type-def type-id='type-id-21' size-in-bits='64' id='type-id-22'/>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='83' column='1' id='type-id-23'>
       <data-member access='private'>
-        <!-- __cds_wfcq_head* _h -->
-        <var-decl name='_h' type-id='type-id-27' visibility='default' filepath='../include/urcu/wfcqueue.h' line='84' column='1'/>
+        <!-- __cds_wfcq_head* __anonymous_union__::_h -->
+        <var-decl name='_h' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='84' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- cds_wfcq_head* h -->
-        <var-decl name='h' type-id='type-id-28' visibility='default' filepath='../include/urcu/wfcqueue.h' line='85' column='1'/>
+        <!-- cds_wfcq_head* __anonymous_union__::h -->
+        <var-decl name='h' type-id='type-id-25' visibility='default' filepath='../include/urcu/wfcqueue.h' line='85' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __cds_wfcq_head -->
-    <class-decl name='__cds_wfcq_head' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='68' column='1' id='type-id-29'>
+    <class-decl name='__cds_wfcq_head' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='68' column='1' id='type-id-26'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node __cds_wfcq_head::node -->
-        <var-decl name='node' type-id='type-id-23' visibility='default' filepath='../include/urcu/wfcqueue.h' line='69' column='1'/>
+        <var-decl name='node' type-id='type-id-21' visibility='default' filepath='../include/urcu/wfcqueue.h' line='69' column='1'/>
       </data-member>
     </class-decl>
+    <!-- __cds_wfcq_head* -->
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-24'/>
     <!-- struct cds_wfcq_head -->
-    <class-decl name='cds_wfcq_head' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='72' column='1' id='type-id-30'>
+    <class-decl name='cds_wfcq_head' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='72' column='1' id='type-id-27'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node cds_wfcq_head::node -->
-        <var-decl name='node' type-id='type-id-23' visibility='default' filepath='../include/urcu/wfcqueue.h' line='73' column='1'/>
+        <var-decl name='node' type-id='type-id-21' visibility='default' filepath='../include/urcu/wfcqueue.h' line='73' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- pthread_mutex_t cds_wfcq_head::lock -->
-        <var-decl name='lock' type-id='type-id-14' visibility='default' filepath='../include/urcu/wfcqueue.h' line='74' column='1'/>
+        <var-decl name='lock' type-id='type-id-5' visibility='default' filepath='../include/urcu/wfcqueue.h' line='74' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_wfcq_head* -->
+    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-25'/>
+    <!-- typedef __anonymous_union__ cds_wfcq_head_ptr_t -->
+    <typedef-decl name='cds_wfcq_head_ptr_t' type-id='type-id-23' filepath='../include/urcu/wfcqueue.h' line='86' column='1' id='type-id-28'/>
     <!-- struct cds_wfcq_tail -->
-    <class-decl name='cds_wfcq_tail' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='127' column='1' id='type-id-31'>
+    <class-decl name='cds_wfcq_tail' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='127' column='1' id='type-id-29'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node* cds_wfcq_tail::p -->
-        <var-decl name='p' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='128' column='1'/>
+        <var-decl name='p' type-id='type-id-22' visibility='default' filepath='../include/urcu/wfcqueue.h' line='128' column='1'/>
       </data-member>
     </class-decl>
-    <!-- enum cds_wfcq_ret -->
-    <enum-decl name='cds_wfcq_ret' filepath='../include/urcu/wfcqueue.h' line='48' column='1' id='type-id-32'>
-      <underlying-type type-id='type-id-22'/>
-      <enumerator name='CDS_WFCQ_RET_WOULDBLOCK' value='-1'/>
-      <enumerator name='CDS_WFCQ_RET_DEST_EMPTY' value='0'/>
-      <enumerator name='CDS_WFCQ_RET_DEST_NON_EMPTY' value='1'/>
-      <enumerator name='CDS_WFCQ_RET_SRC_EMPTY' value='2'/>
-    </enum-decl>
-    <!-- __cds_wfcq_head* -->
-    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-27'/>
-    <!-- cds_wfcq_head* -->
-    <pointer-type-def type-id='type-id-30' size-in-bits='64' id='type-id-28'/>
-    <!-- cds_wfcq_node* -->
-    <pointer-type-def type-id='type-id-23' size-in-bits='64' id='type-id-24'/>
     <!-- cds_wfcq_tail* -->
-    <pointer-type-def type-id='type-id-31' size-in-bits='64' id='type-id-33'/>
-    <!-- int* -->
-    <pointer-type-def type-id='type-id-5' size-in-bits='64' id='type-id-34'/>
+    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-30'/>
     <!-- cds_wfcq_node* __cds_wfcq_next_nonblocking(cds_wfcq_head_ptr_t, cds_wfcq_tail*, cds_wfcq_node*) -->
     <function-decl name='__cds_wfcq_next_nonblocking' mangled-name='__cds_wfcq_next_nonblocking' filepath='src/wfcqueue.c' line='178' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfcq_next_nonblocking'>
       <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
-      <parameter type-id='type-id-26' name='head' filepath='src/wfcqueue.c' line='179' column='1'/>
+      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='179' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='tail' filepath='src/wfcqueue.c' line='180' column='1'/>
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='180' column='1'/>
       <!-- parameter of type 'cds_wfcq_node*' -->
-      <parameter type-id='type-id-24' name='node' filepath='src/wfcqueue.c' line='181' column='1'/>
+      <parameter type-id='type-id-22' name='node' filepath='src/wfcqueue.c' line='181' column='1'/>
       <!-- cds_wfcq_node* -->
-      <return type-id='type-id-24'/>
+      <return type-id='type-id-22'/>
     </function-decl>
     <!-- cds_wfcq_node* __cds_wfcq_next_blocking(cds_wfcq_head_ptr_t, cds_wfcq_tail*, cds_wfcq_node*) -->
     <function-decl name='__cds_wfcq_next_blocking' mangled-name='__cds_wfcq_next_blocking' filepath='src/wfcqueue.c' line='170' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfcq_next_blocking'>
       <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
-      <parameter type-id='type-id-26' name='head' filepath='src/wfcqueue.c' line='171' column='1'/>
+      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='179' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='tail' filepath='src/wfcqueue.c' line='172' column='1'/>
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='180' column='1'/>
       <!-- parameter of type 'cds_wfcq_node*' -->
-      <parameter type-id='type-id-24' name='node' filepath='src/wfcqueue.c' line='173' column='1'/>
+      <parameter type-id='type-id-22' name='node' filepath='src/wfcqueue.c' line='181' column='1'/>
       <!-- cds_wfcq_node* -->
-      <return type-id='type-id-24'/>
+      <return type-id='type-id-22'/>
     </function-decl>
     <!-- cds_wfcq_node* __cds_wfcq_first_nonblocking(cds_wfcq_head_ptr_t, cds_wfcq_tail*) -->
     <function-decl name='__cds_wfcq_first_nonblocking' mangled-name='__cds_wfcq_first_nonblocking' filepath='src/wfcqueue.c' line='163' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfcq_first_nonblocking'>
       <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
-      <parameter type-id='type-id-26' name='head' filepath='src/wfcqueue.c' line='164' column='1'/>
+      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='164' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='tail' filepath='src/wfcqueue.c' line='165' column='1'/>
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='165' column='1'/>
       <!-- cds_wfcq_node* -->
-      <return type-id='type-id-24'/>
+      <return type-id='type-id-22'/>
     </function-decl>
     <!-- cds_wfcq_node* __cds_wfcq_first_blocking(cds_wfcq_head_ptr_t, cds_wfcq_tail*) -->
     <function-decl name='__cds_wfcq_first_blocking' mangled-name='__cds_wfcq_first_blocking' filepath='src/wfcqueue.c' line='156' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfcq_first_blocking'>
       <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
-      <parameter type-id='type-id-26' name='head' filepath='src/wfcqueue.c' line='157' column='1'/>
+      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='164' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='tail' filepath='src/wfcqueue.c' line='158' column='1'/>
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='165' column='1'/>
       <!-- cds_wfcq_node* -->
-      <return type-id='type-id-24'/>
+      <return type-id='type-id-22'/>
     </function-decl>
+    <!-- unnamed&#45;enum&#45;underlying&#45;type -->
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-31'/>
+    <!-- enum cds_wfcq_ret -->
+    <enum-decl name='cds_wfcq_ret' filepath='../include/urcu/wfcqueue.h' line='48' column='1' id='type-id-32'>
+      <underlying-type type-id='type-id-31'/>
+      <enumerator name='CDS_WFCQ_RET_WOULDBLOCK' value='-1'/>
+      <enumerator name='CDS_WFCQ_RET_DEST_EMPTY' value='0'/>
+      <enumerator name='CDS_WFCQ_RET_DEST_NON_EMPTY' value='1'/>
+      <enumerator name='CDS_WFCQ_RET_SRC_EMPTY' value='2'/>
+    </enum-decl>
     <!-- cds_wfcq_ret __cds_wfcq_splice_nonblocking(cds_wfcq_head_ptr_t, cds_wfcq_tail*, cds_wfcq_head_ptr_t, cds_wfcq_tail*) -->
     <function-decl name='__cds_wfcq_splice_nonblocking' mangled-name='__cds_wfcq_splice_nonblocking' filepath='src/wfcqueue.c' line='146' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfcq_splice_nonblocking'>
       <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
-      <parameter type-id='type-id-26' name='dest_q_head' filepath='src/wfcqueue.c' line='147' column='1'/>
+      <parameter type-id='type-id-28' name='dest_q_head' filepath='src/wfcqueue.c' line='147' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='dest_q_tail' filepath='src/wfcqueue.c' line='148' column='1'/>
+      <parameter type-id='type-id-30' name='dest_q_tail' filepath='src/wfcqueue.c' line='148' column='1'/>
       <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
-      <parameter type-id='type-id-26' name='src_q_head' filepath='src/wfcqueue.c' line='149' column='1'/>
+      <parameter type-id='type-id-28' name='src_q_head' filepath='src/wfcqueue.c' line='149' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='src_q_tail' filepath='src/wfcqueue.c' line='150' column='1'/>
+      <parameter type-id='type-id-30' name='src_q_tail' filepath='src/wfcqueue.c' line='150' column='1'/>
       <!-- enum cds_wfcq_ret -->
       <return type-id='type-id-32'/>
     </function-decl>
     <!-- cds_wfcq_ret __cds_wfcq_splice_blocking(cds_wfcq_head_ptr_t, cds_wfcq_tail*, cds_wfcq_head_ptr_t, cds_wfcq_tail*) -->
     <function-decl name='__cds_wfcq_splice_blocking' mangled-name='__cds_wfcq_splice_blocking' filepath='src/wfcqueue.c' line='136' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfcq_splice_blocking'>
       <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
-      <parameter type-id='type-id-26' name='dest_q_head' filepath='src/wfcqueue.c' line='137' column='1'/>
+      <parameter type-id='type-id-28' name='dest_q_head' filepath='src/wfcqueue.c' line='147' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='dest_q_tail' filepath='src/wfcqueue.c' line='138' column='1'/>
+      <parameter type-id='type-id-30' name='dest_q_tail' filepath='src/wfcqueue.c' line='148' column='1'/>
       <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
-      <parameter type-id='type-id-26' name='src_q_head' filepath='src/wfcqueue.c' line='139' column='1'/>
+      <parameter type-id='type-id-28' name='src_q_head' filepath='src/wfcqueue.c' line='149' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='src_q_tail' filepath='src/wfcqueue.c' line='140' column='1'/>
+      <parameter type-id='type-id-30' name='src_q_tail' filepath='src/wfcqueue.c' line='150' column='1'/>
       <!-- enum cds_wfcq_ret -->
       <return type-id='type-id-32'/>
     </function-decl>
+    <!-- int* -->
+    <pointer-type-def type-id='type-id-10' size-in-bits='64' id='type-id-33'/>
     <!-- cds_wfcq_node* __cds_wfcq_dequeue_with_state_nonblocking(cds_wfcq_head_ptr_t, cds_wfcq_tail*, int*) -->
     <function-decl name='__cds_wfcq_dequeue_with_state_nonblocking' mangled-name='__cds_wfcq_dequeue_with_state_nonblocking' filepath='src/wfcqueue.c' line='128' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfcq_dequeue_with_state_nonblocking'>
       <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
-      <parameter type-id='type-id-26' name='head' filepath='src/wfcqueue.c' line='129' column='1'/>
+      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='129' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='tail' filepath='src/wfcqueue.c' line='130' column='1'/>
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='130' column='1'/>
       <!-- parameter of type 'int*' -->
-      <parameter type-id='type-id-34' name='state' filepath='src/wfcqueue.c' line='131' column='1'/>
+      <parameter type-id='type-id-33' name='state' filepath='src/wfcqueue.c' line='131' column='1'/>
       <!-- cds_wfcq_node* -->
-      <return type-id='type-id-24'/>
+      <return type-id='type-id-22'/>
     </function-decl>
     <!-- cds_wfcq_node* __cds_wfcq_dequeue_nonblocking(cds_wfcq_head_ptr_t, cds_wfcq_tail*) -->
     <function-decl name='__cds_wfcq_dequeue_nonblocking' mangled-name='__cds_wfcq_dequeue_nonblocking' filepath='src/wfcqueue.c' line='121' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfcq_dequeue_nonblocking'>
       <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
-      <parameter type-id='type-id-26' name='head' filepath='src/wfcqueue.c' line='122' column='1'/>
+      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='164' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='tail' filepath='src/wfcqueue.c' line='123' column='1'/>
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='165' column='1'/>
       <!-- cds_wfcq_node* -->
-      <return type-id='type-id-24'/>
+      <return type-id='type-id-22'/>
     </function-decl>
     <!-- cds_wfcq_node* __cds_wfcq_dequeue_with_state_blocking(cds_wfcq_head_ptr_t, cds_wfcq_tail*, int*) -->
     <function-decl name='__cds_wfcq_dequeue_with_state_blocking' mangled-name='__cds_wfcq_dequeue_with_state_blocking' filepath='src/wfcqueue.c' line='113' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfcq_dequeue_with_state_blocking'>
       <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
-      <parameter type-id='type-id-26' name='head' filepath='src/wfcqueue.c' line='114' column='1'/>
+      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='129' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='tail' filepath='src/wfcqueue.c' line='115' column='1'/>
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='130' column='1'/>
       <!-- parameter of type 'int*' -->
-      <parameter type-id='type-id-34' name='state' filepath='src/wfcqueue.c' line='116' column='1'/>
+      <parameter type-id='type-id-33' name='state' filepath='src/wfcqueue.c' line='131' column='1'/>
       <!-- cds_wfcq_node* -->
-      <return type-id='type-id-24'/>
+      <return type-id='type-id-22'/>
     </function-decl>
     <!-- cds_wfcq_node* __cds_wfcq_dequeue_blocking(cds_wfcq_head_ptr_t, cds_wfcq_tail*) -->
     <function-decl name='__cds_wfcq_dequeue_blocking' mangled-name='__cds_wfcq_dequeue_blocking' filepath='src/wfcqueue.c' line='106' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfcq_dequeue_blocking'>
       <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
-      <parameter type-id='type-id-26' name='head' filepath='src/wfcqueue.c' line='107' column='1'/>
+      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='164' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='tail' filepath='src/wfcqueue.c' line='108' column='1'/>
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='165' column='1'/>
       <!-- cds_wfcq_node* -->
-      <return type-id='type-id-24'/>
+      <return type-id='type-id-22'/>
     </function-decl>
     <!-- cds_wfcq_ret cds_wfcq_splice_blocking(cds_wfcq_head*, cds_wfcq_tail*, cds_wfcq_head*, cds_wfcq_tail*) -->
     <function-decl name='cds_wfcq_splice_blocking' mangled-name='cds_wfcq_splice_blocking' filepath='src/wfcqueue.c' line='96' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfcq_splice_blocking'>
       <!-- parameter of type 'cds_wfcq_head*' -->
-      <parameter type-id='type-id-28' name='dest_q_head' filepath='src/wfcqueue.c' line='97' column='1'/>
+      <parameter type-id='type-id-25' name='dest_q_head' filepath='src/wfcqueue.c' line='97' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='dest_q_tail' filepath='src/wfcqueue.c' line='98' column='1'/>
+      <parameter type-id='type-id-30' name='dest_q_tail' filepath='src/wfcqueue.c' line='98' column='1'/>
       <!-- parameter of type 'cds_wfcq_head*' -->
-      <parameter type-id='type-id-28' name='src_q_head' filepath='src/wfcqueue.c' line='99' column='1'/>
+      <parameter type-id='type-id-25' name='src_q_head' filepath='src/wfcqueue.c' line='99' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='src_q_tail' filepath='src/wfcqueue.c' line='100' column='1'/>
+      <parameter type-id='type-id-30' name='src_q_tail' filepath='src/wfcqueue.c' line='100' column='1'/>
       <!-- enum cds_wfcq_ret -->
       <return type-id='type-id-32'/>
     </function-decl>
     <!-- cds_wfcq_node* cds_wfcq_dequeue_with_state_blocking(cds_wfcq_head*, cds_wfcq_tail*, int*) -->
     <function-decl name='cds_wfcq_dequeue_with_state_blocking' mangled-name='cds_wfcq_dequeue_with_state_blocking' filepath='src/wfcqueue.c' line='88' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfcq_dequeue_with_state_blocking'>
       <!-- parameter of type 'cds_wfcq_head*' -->
-      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='89' column='1'/>
+      <parameter type-id='type-id-25' name='head' filepath='src/wfcqueue.c' line='89' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='tail' filepath='src/wfcqueue.c' line='90' column='1'/>
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='90' column='1'/>
       <!-- parameter of type 'int*' -->
-      <parameter type-id='type-id-34' name='state' filepath='src/wfcqueue.c' line='91' column='1'/>
+      <parameter type-id='type-id-33' name='state' filepath='src/wfcqueue.c' line='91' column='1'/>
       <!-- cds_wfcq_node* -->
-      <return type-id='type-id-24'/>
+      <return type-id='type-id-22'/>
     </function-decl>
     <!-- cds_wfcq_node* cds_wfcq_dequeue_blocking(cds_wfcq_head*, cds_wfcq_tail*) -->
     <function-decl name='cds_wfcq_dequeue_blocking' mangled-name='cds_wfcq_dequeue_blocking' filepath='src/wfcqueue.c' line='81' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfcq_dequeue_blocking'>
       <!-- parameter of type 'cds_wfcq_head*' -->
-      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='82' column='1'/>
+      <parameter type-id='type-id-25' name='head' filepath='src/wfcqueue.c' line='82' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='tail' filepath='src/wfcqueue.c' line='83' column='1'/>
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='83' column='1'/>
       <!-- cds_wfcq_node* -->
-      <return type-id='type-id-24'/>
+      <return type-id='type-id-22'/>
     </function-decl>
     <!-- void cds_wfcq_dequeue_unlock(cds_wfcq_head*, cds_wfcq_tail*) -->
     <function-decl name='cds_wfcq_dequeue_unlock' mangled-name='cds_wfcq_dequeue_unlock' filepath='src/wfcqueue.c' line='75' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfcq_dequeue_unlock'>
       <!-- parameter of type 'cds_wfcq_head*' -->
-      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='75' column='1'/>
+      <parameter type-id='type-id-25' name='head' filepath='src/wfcqueue.c' line='75' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='tail' filepath='src/wfcqueue.c' line='76' column='1'/>
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='76' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-20'/>
     </function-decl>
     <!-- void cds_wfcq_dequeue_lock(cds_wfcq_head*, cds_wfcq_tail*) -->
     <function-decl name='cds_wfcq_dequeue_lock' mangled-name='cds_wfcq_dequeue_lock' filepath='src/wfcqueue.c' line='69' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfcq_dequeue_lock'>
       <!-- parameter of type 'cds_wfcq_head*' -->
-      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='69' column='1'/>
+      <parameter type-id='type-id-25' name='head' filepath='src/wfcqueue.c' line='75' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='tail' filepath='src/wfcqueue.c' line='70' column='1'/>
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='76' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-20'/>
     </function-decl>
+    <!-- bool -->
+    <type-decl name='bool' size-in-bits='8' id='type-id-34'/>
     <!-- bool cds_wfcq_enqueue(cds_wfcq_head_ptr_t, cds_wfcq_tail*, cds_wfcq_node*) -->
     <function-decl name='cds_wfcq_enqueue' mangled-name='cds_wfcq_enqueue' filepath='src/wfcqueue.c' line='62' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfcq_enqueue'>
       <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
-      <parameter type-id='type-id-26' name='head' filepath='src/wfcqueue.c' line='62' column='1'/>
+      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='62' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='tail' filepath='src/wfcqueue.c' line='63' column='1'/>
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='63' column='1'/>
       <!-- parameter of type 'cds_wfcq_node*' -->
-      <parameter type-id='type-id-24' name='node' filepath='src/wfcqueue.c' line='64' column='1'/>
+      <parameter type-id='type-id-22' name='node' filepath='src/wfcqueue.c' line='64' column='1'/>
       <!-- bool -->
-      <return type-id='type-id-21'/>
+      <return type-id='type-id-34'/>
     </function-decl>
     <!-- bool cds_wfcq_empty(cds_wfcq_head_ptr_t, cds_wfcq_tail*) -->
     <function-decl name='cds_wfcq_empty' mangled-name='cds_wfcq_empty' filepath='src/wfcqueue.c' line='55' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfcq_empty'>
       <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
-      <parameter type-id='type-id-26' name='head' filepath='src/wfcqueue.c' line='55' column='1'/>
+      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='55' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='tail' filepath='src/wfcqueue.c' line='56' column='1'/>
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='56' column='1'/>
       <!-- bool -->
-      <return type-id='type-id-21'/>
+      <return type-id='type-id-34'/>
     </function-decl>
     <!-- void __cds_wfcq_init(__cds_wfcq_head*, cds_wfcq_tail*) -->
     <function-decl name='__cds_wfcq_init' mangled-name='__cds_wfcq_init' filepath='src/wfcqueue.c' line='49' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfcq_init'>
       <!-- parameter of type '__cds_wfcq_head*' -->
-      <parameter type-id='type-id-27' name='head' filepath='src/wfcqueue.c' line='49' column='1'/>
+      <parameter type-id='type-id-24' name='head' filepath='src/wfcqueue.c' line='49' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='tail' filepath='src/wfcqueue.c' line='50' column='1'/>
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='50' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-20'/>
     </function-decl>
     <!-- void cds_wfcq_destroy(cds_wfcq_head*, cds_wfcq_tail*) -->
     <function-decl name='cds_wfcq_destroy' mangled-name='cds_wfcq_destroy' filepath='src/wfcqueue.c' line='43' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfcq_destroy'>
       <!-- parameter of type 'cds_wfcq_head*' -->
-      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='43' column='1'/>
+      <parameter type-id='type-id-25' name='head' filepath='src/wfcqueue.c' line='75' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='tail' filepath='src/wfcqueue.c' line='44' column='1'/>
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='76' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-20'/>
     </function-decl>
     <!-- void cds_wfcq_init(cds_wfcq_head*, cds_wfcq_tail*) -->
     <function-decl name='cds_wfcq_init' mangled-name='cds_wfcq_init' filepath='src/wfcqueue.c' line='37' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfcq_init'>
       <!-- parameter of type 'cds_wfcq_head*' -->
-      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='37' column='1'/>
+      <parameter type-id='type-id-25' name='head' filepath='src/wfcqueue.c' line='75' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='tail' filepath='src/wfcqueue.c' line='38' column='1'/>
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='76' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-20'/>
     </function-decl>
     <!-- void cds_wfcq_node_init(cds_wfcq_node*) -->
     <function-decl name='cds_wfcq_node_init' mangled-name='cds_wfcq_node_init' filepath='src/wfcqueue.c' line='32' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfcq_node_init'>
       <!-- parameter of type 'cds_wfcq_node*' -->
-      <parameter type-id='type-id-24' name='node' filepath='src/wfcqueue.c' line='32' column='1'/>
+      <parameter type-id='type-id-22' name='node' filepath='src/wfcqueue.c' line='32' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-20'/>
     </function-decl>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='wfstack.c' comp-dir-path='src' language='LANG_C99'>
         <var-decl name='next' type-id='type-id-37' visibility='default' filepath='../include/urcu/wfstack.h' line='73' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __anonymous_union__ cds_wfs_stack_ptr_t -->
-    <typedef-decl name='cds_wfs_stack_ptr_t' type-id='type-id-38' filepath='../include/urcu/wfstack.h' line='103' column='1' id='type-id-39'/>
-    <!-- union {__cds_wfs_stack* _s; cds_wfs_stack* s;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../include/urcu/wfstack.h' line='100' column='1' id='type-id-38'>
+    <!-- cds_wfs_node* -->
+    <pointer-type-def type-id='type-id-36' size-in-bits='64' id='type-id-37'/>
+    <!-- cds_wfs_head* -->
+    <pointer-type-def type-id='type-id-35' size-in-bits='64' id='type-id-38'/>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../include/urcu/wfstack.h' line='100' column='1' id='type-id-39'>
       <data-member access='private'>
-        <!-- __cds_wfs_stack* _s -->
+        <!-- __cds_wfs_stack* __anonymous_union__::_s -->
         <var-decl name='_s' type-id='type-id-40' visibility='default' filepath='../include/urcu/wfstack.h' line='101' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- cds_wfs_stack* s -->
+        <!-- cds_wfs_stack* __anonymous_union__::s -->
         <var-decl name='s' type-id='type-id-41' visibility='default' filepath='../include/urcu/wfstack.h' line='102' column='1'/>
       </data-member>
     </union-decl>
     <class-decl name='__cds_wfs_stack' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfstack.h' line='86' column='1' id='type-id-42'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfs_head* __cds_wfs_stack::head -->
-        <var-decl name='head' type-id='type-id-43' visibility='default' filepath='../include/urcu/wfstack.h' line='87' column='1'/>
+        <var-decl name='head' type-id='type-id-38' visibility='default' filepath='../include/urcu/wfstack.h' line='87' column='1'/>
       </data-member>
     </class-decl>
+    <!-- __cds_wfs_stack* -->
+    <pointer-type-def type-id='type-id-42' size-in-bits='64' id='type-id-40'/>
     <!-- struct cds_wfs_stack -->
-    <class-decl name='cds_wfs_stack' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfstack.h' line='90' column='1' id='type-id-44'>
+    <class-decl name='cds_wfs_stack' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfstack.h' line='90' column='1' id='type-id-43'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfs_head* cds_wfs_stack::head -->
-        <var-decl name='head' type-id='type-id-43' visibility='default' filepath='../include/urcu/wfstack.h' line='91' column='1'/>
+        <var-decl name='head' type-id='type-id-38' visibility='default' filepath='../include/urcu/wfstack.h' line='91' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- pthread_mutex_t cds_wfs_stack::lock -->
-        <var-decl name='lock' type-id='type-id-14' visibility='default' filepath='../include/urcu/wfstack.h' line='92' column='1'/>
+        <var-decl name='lock' type-id='type-id-5' visibility='default' filepath='../include/urcu/wfstack.h' line='92' column='1'/>
       </data-member>
     </class-decl>
-    <!-- __cds_wfs_stack* -->
-    <pointer-type-def type-id='type-id-42' size-in-bits='64' id='type-id-40'/>
-    <!-- cds_wfs_head* -->
-    <pointer-type-def type-id='type-id-35' size-in-bits='64' id='type-id-43'/>
-    <!-- cds_wfs_node* -->
-    <pointer-type-def type-id='type-id-36' size-in-bits='64' id='type-id-37'/>
     <!-- cds_wfs_stack* -->
-    <pointer-type-def type-id='type-id-44' size-in-bits='64' id='type-id-41'/>
+    <pointer-type-def type-id='type-id-43' size-in-bits='64' id='type-id-41'/>
+    <!-- typedef __anonymous_union__ cds_wfs_stack_ptr_t -->
+    <typedef-decl name='cds_wfs_stack_ptr_t' type-id='type-id-39' filepath='../include/urcu/wfstack.h' line='103' column='1' id='type-id-44'/>
     <!-- cds_wfs_head* __cds_wfs_pop_all(cds_wfs_stack_ptr_t) -->
     <function-decl name='__cds_wfs_pop_all' mangled-name='__cds_wfs_pop_all' filepath='src/wfstack.c' line='126' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfs_pop_all'>
       <!-- parameter of type 'typedef cds_wfs_stack_ptr_t' -->
-      <parameter type-id='type-id-39' name='u_stack' filepath='src/wfstack.c' line='126' column='1'/>
+      <parameter type-id='type-id-44' name='u_stack' filepath='src/wfstack.c' line='126' column='1'/>
       <!-- cds_wfs_head* -->
-      <return type-id='type-id-43'/>
+      <return type-id='type-id-38'/>
     </function-decl>
     <!-- cds_wfs_node* __cds_wfs_pop_with_state_nonblocking(cds_wfs_stack_ptr_t, int*) -->
     <function-decl name='__cds_wfs_pop_with_state_nonblocking' mangled-name='__cds_wfs_pop_with_state_nonblocking' filepath='src/wfstack.c' line='120' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfs_pop_with_state_nonblocking'>
       <!-- parameter of type 'typedef cds_wfs_stack_ptr_t' -->
-      <parameter type-id='type-id-39' name='u_stack' filepath='src/wfstack.c' line='120' column='1'/>
+      <parameter type-id='type-id-44' name='u_stack' filepath='src/wfstack.c' line='120' column='1'/>
       <!-- parameter of type 'int*' -->
-      <parameter type-id='type-id-34' name='state' filepath='src/wfstack.c' line='121' column='1'/>
+      <parameter type-id='type-id-33' name='state' filepath='src/wfstack.c' line='121' column='1'/>
       <!-- cds_wfs_node* -->
       <return type-id='type-id-37'/>
     </function-decl>
     <!-- cds_wfs_node* __cds_wfs_pop_nonblocking(cds_wfs_stack_ptr_t) -->
     <function-decl name='__cds_wfs_pop_nonblocking' mangled-name='__cds_wfs_pop_nonblocking' filepath='src/wfstack.c' line='114' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfs_pop_nonblocking'>
       <!-- parameter of type 'typedef cds_wfs_stack_ptr_t' -->
-      <parameter type-id='type-id-39' name='u_stack' filepath='src/wfstack.c' line='114' column='1'/>
+      <parameter type-id='type-id-44' name='u_stack' filepath='src/wfstack.c' line='114' column='1'/>
       <!-- cds_wfs_node* -->
       <return type-id='type-id-37'/>
     </function-decl>
     <!-- cds_wfs_node* __cds_wfs_pop_with_state_blocking(cds_wfs_stack_ptr_t, int*) -->
     <function-decl name='__cds_wfs_pop_with_state_blocking' mangled-name='__cds_wfs_pop_with_state_blocking' filepath='src/wfstack.c' line='108' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfs_pop_with_state_blocking'>
       <!-- parameter of type 'typedef cds_wfs_stack_ptr_t' -->
-      <parameter type-id='type-id-39' name='u_stack' filepath='src/wfstack.c' line='108' column='1'/>
+      <parameter type-id='type-id-44' name='u_stack' filepath='src/wfstack.c' line='120' column='1'/>
       <!-- parameter of type 'int*' -->
-      <parameter type-id='type-id-34' name='state' filepath='src/wfstack.c' line='109' column='1'/>
+      <parameter type-id='type-id-33' name='state' filepath='src/wfstack.c' line='121' column='1'/>
       <!-- cds_wfs_node* -->
       <return type-id='type-id-37'/>
     </function-decl>
     <!-- cds_wfs_node* __cds_wfs_pop_blocking(cds_wfs_stack_ptr_t) -->
     <function-decl name='__cds_wfs_pop_blocking' mangled-name='__cds_wfs_pop_blocking' filepath='src/wfstack.c' line='102' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfs_pop_blocking'>
       <!-- parameter of type 'typedef cds_wfs_stack_ptr_t' -->
-      <parameter type-id='type-id-39' name='u_stack' filepath='src/wfstack.c' line='102' column='1'/>
+      <parameter type-id='type-id-44' name='u_stack' filepath='src/wfstack.c' line='114' column='1'/>
       <!-- cds_wfs_node* -->
       <return type-id='type-id-37'/>
     </function-decl>
       <!-- parameter of type 'cds_wfs_stack*' -->
       <parameter type-id='type-id-41' name='s' filepath='src/wfstack.c' line='97' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-20'/>
     </function-decl>
     <!-- void cds_wfs_pop_lock(cds_wfs_stack*) -->
     <function-decl name='cds_wfs_pop_lock' mangled-name='cds_wfs_pop_lock' filepath='src/wfstack.c' line='92' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfs_pop_lock'>
       <!-- parameter of type 'cds_wfs_stack*' -->
-      <parameter type-id='type-id-41' name='s' filepath='src/wfstack.c' line='92' column='1'/>
+      <parameter type-id='type-id-41' name='s' filepath='src/wfstack.c' line='97' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-20'/>
     </function-decl>
     <!-- cds_wfs_node* cds_wfs_next_nonblocking(cds_wfs_node*) -->
     <function-decl name='cds_wfs_next_nonblocking' mangled-name='cds_wfs_next_nonblocking' filepath='src/wfstack.c' line='87' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfs_next_nonblocking'>
     <!-- cds_wfs_node* cds_wfs_next_blocking(cds_wfs_node*) -->
     <function-decl name='cds_wfs_next_blocking' mangled-name='cds_wfs_next_blocking' filepath='src/wfstack.c' line='82' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfs_next_blocking'>
       <!-- parameter of type 'cds_wfs_node*' -->
-      <parameter type-id='type-id-37' name='node' filepath='src/wfstack.c' line='82' column='1'/>
+      <parameter type-id='type-id-37' name='node' filepath='src/wfstack.c' line='87' column='1'/>
       <!-- cds_wfs_node* -->
       <return type-id='type-id-37'/>
     </function-decl>
     <!-- cds_wfs_node* cds_wfs_first(cds_wfs_head*) -->
     <function-decl name='cds_wfs_first' mangled-name='cds_wfs_first' filepath='src/wfstack.c' line='77' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfs_first'>
       <!-- parameter of type 'cds_wfs_head*' -->
-      <parameter type-id='type-id-43' name='head' filepath='src/wfstack.c' line='77' column='1'/>
+      <parameter type-id='type-id-38' name='head' filepath='src/wfstack.c' line='77' column='1'/>
       <!-- cds_wfs_node* -->
       <return type-id='type-id-37'/>
     </function-decl>
       <!-- parameter of type 'cds_wfs_stack*' -->
       <parameter type-id='type-id-41' name='s' filepath='src/wfstack.c' line='72' column='1'/>
       <!-- cds_wfs_head* -->
-      <return type-id='type-id-43'/>
+      <return type-id='type-id-38'/>
     </function-decl>
     <!-- cds_wfs_node* cds_wfs_pop_with_state_blocking(cds_wfs_stack*, int*) -->
     <function-decl name='cds_wfs_pop_with_state_blocking' mangled-name='cds_wfs_pop_with_state_blocking' filepath='src/wfstack.c' line='67' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfs_pop_with_state_blocking'>
       <!-- parameter of type 'cds_wfs_stack*' -->
       <parameter type-id='type-id-41' name='s' filepath='src/wfstack.c' line='67' column='1'/>
       <!-- parameter of type 'int*' -->
-      <parameter type-id='type-id-34' name='state' filepath='src/wfstack.c' line='67' column='1'/>
+      <parameter type-id='type-id-33' name='state' filepath='src/wfstack.c' line='67' column='1'/>
       <!-- cds_wfs_node* -->
       <return type-id='type-id-37'/>
     </function-decl>
     <!-- int cds_wfs_push(cds_wfs_stack_ptr_t, cds_wfs_node*) -->
     <function-decl name='cds_wfs_push' mangled-name='cds_wfs_push' filepath='src/wfstack.c' line='56' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfs_push'>
       <!-- parameter of type 'typedef cds_wfs_stack_ptr_t' -->
-      <parameter type-id='type-id-39' name='u_stack' filepath='src/wfstack.c' line='56' column='1'/>
+      <parameter type-id='type-id-44' name='u_stack' filepath='src/wfstack.c' line='56' column='1'/>
       <!-- parameter of type 'cds_wfs_node*' -->
       <parameter type-id='type-id-37' name='node' filepath='src/wfstack.c' line='56' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-10'/>
     </function-decl>
     <!-- bool cds_wfs_empty(cds_wfs_stack_ptr_t) -->
     <function-decl name='cds_wfs_empty' mangled-name='cds_wfs_empty' filepath='src/wfstack.c' line='51' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfs_empty'>
       <!-- parameter of type 'typedef cds_wfs_stack_ptr_t' -->
-      <parameter type-id='type-id-39' name='u_stack' filepath='src/wfstack.c' line='51' column='1'/>
+      <parameter type-id='type-id-44' name='u_stack' filepath='src/wfstack.c' line='51' column='1'/>
       <!-- bool -->
-      <return type-id='type-id-21'/>
+      <return type-id='type-id-34'/>
     </function-decl>
     <!-- void __cds_wfs_init(__cds_wfs_stack*) -->
     <function-decl name='__cds_wfs_init' mangled-name='__cds_wfs_init' filepath='src/wfstack.c' line='46' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfs_init'>
       <!-- parameter of type '__cds_wfs_stack*' -->
       <parameter type-id='type-id-40' name='s' filepath='src/wfstack.c' line='46' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-20'/>
     </function-decl>
     <!-- void cds_wfs_destroy(cds_wfs_stack*) -->
     <function-decl name='cds_wfs_destroy' mangled-name='cds_wfs_destroy' filepath='src/wfstack.c' line='41' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfs_destroy'>
       <!-- parameter of type 'cds_wfs_stack*' -->
-      <parameter type-id='type-id-41' name='s' filepath='src/wfstack.c' line='41' column='1'/>
+      <parameter type-id='type-id-41' name='s' filepath='src/wfstack.c' line='97' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-20'/>
     </function-decl>
     <!-- void cds_wfs_init(cds_wfs_stack*) -->
     <function-decl name='cds_wfs_init' mangled-name='cds_wfs_init' filepath='src/wfstack.c' line='36' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfs_init'>
       <!-- parameter of type 'cds_wfs_stack*' -->
-      <parameter type-id='type-id-41' name='s' filepath='src/wfstack.c' line='36' column='1'/>
+      <parameter type-id='type-id-41' name='s' filepath='src/wfstack.c' line='97' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-20'/>
     </function-decl>
     <!-- void cds_wfs_node_init(cds_wfs_node*) -->
     <function-decl name='cds_wfs_node_init' mangled-name='cds_wfs_node_init' filepath='src/wfstack.c' line='31' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfs_node_init'>
       <!-- parameter of type 'cds_wfs_node*' -->
       <parameter type-id='type-id-37' name='node' filepath='src/wfstack.c' line='31' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-20'/>
     </function-decl>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='compat_futex.c' comp-dir-path='src' language='LANG_C99'>
-
-
-    <!-- char[48] -->
-    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='384' id='type-id-45'>
-      <!-- <anonymous range>[48] -->
-      <subrange length='48' type-id='type-id-3' id='type-id-46'/>
-
-    </array-type-def>
-    <!-- long long int -->
-    <type-decl name='long long int' size-in-bits='64' id='type-id-47'/>
-    <!-- long long unsigned int -->
-    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-48'/>
-    <!-- unsigned int[2] -->
-    <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='64' id='type-id-49'>
-      <!-- <anonymous range>[2] -->
-      <subrange length='2' type-id='type-id-3' id='type-id-50'/>
-
-    </array-type-def>
-    <!-- typedef __anonymous_union__ pthread_cond_t -->
-    <typedef-decl name='pthread_cond_t' type-id='type-id-51' filepath='/usr/include/bits/pthreadtypes.h' line='80' column='1' id='type-id-52'/>
-    <!-- union {__pthread_cond_s __data; char __size[48]; long long int __align;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='75' column='1' id='type-id-51'>
+    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
+    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-5' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='75' column='1' id='type-id-45'>
       <data-member access='private'>
-        <!-- __pthread_cond_s __data -->
-        <var-decl name='__data' type-id='type-id-53' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='77' column='1'/>
+        <!-- __pthread_cond_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-46' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='77' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- char __size[48] -->
-        <var-decl name='__size' type-id='type-id-45' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='78' column='1'/>
+        <!-- char __anonymous_union__::__size[48] -->
+        <var-decl name='__size' type-id='type-id-47' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='78' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- long long int __align -->
-        <var-decl name='__align' type-id='type-id-47' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='79' column='1'/>
+        <!-- long long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-48' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='79' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __pthread_cond_s -->
-    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='92' column='1' id='type-id-53'>
+    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='171' column='1' id='type-id-46'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <!-- union {long long unsigned int __wseq; struct {unsigned int __low; unsigned int __high;} __wseq32;} -->
-        <var-decl name='' type-id='type-id-54' visibility='default'/>
+        <!-- __anonymous_union__  -->
+        <var-decl name='' type-id='type-id-49' visibility='default'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- unsigned int __pthread_cond_s::__g_refs[2] -->
-        <var-decl name='__g_refs' type-id='type-id-49' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='112' column='1'/>
+        <var-decl name='__g_refs' type-id='type-id-50' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='191' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- unsigned int __pthread_cond_s::__g_size[2] -->
-        <var-decl name='__g_size' type-id='type-id-49' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='113' column='1'/>
+        <var-decl name='__g_size' type-id='type-id-50' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='192' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- unsigned int __pthread_cond_s::__g1_orig_size -->
-        <var-decl name='__g1_orig_size' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='114' column='1'/>
+        <var-decl name='__g1_orig_size' type-id='type-id-11' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='193' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='288'>
         <!-- unsigned int __pthread_cond_s::__wrefs -->
-        <var-decl name='__wrefs' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='115' column='1'/>
+        <var-decl name='__wrefs' type-id='type-id-11' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='194' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
         <!-- unsigned int __pthread_cond_s::__g_signals[2] -->
-        <var-decl name='__g_signals' type-id='type-id-49' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='116' column='1'/>
+        <var-decl name='__g_signals' type-id='type-id-50' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='195' column='1'/>
       </data-member>
     </class-decl>
-    <!-- union {long long unsigned int __wseq; struct {unsigned int __low; unsigned int __high;} __wseq32;} -->
-    <union-decl name='__anonymous_union__1' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='94' column='1' id='type-id-54'>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='173' column='1' id='type-id-49'>
       <data-member access='private'>
-        <!-- long long unsigned int __wseq -->
-        <var-decl name='__wseq' type-id='type-id-48' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='96' column='1'/>
+        <!-- long long unsigned int __anonymous_union__::__wseq -->
+        <var-decl name='__wseq' type-id='type-id-51' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='175' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- struct {unsigned int __low; unsigned int __high;} __wseq32 -->
-        <var-decl name='__wseq32' type-id='type-id-55' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='101' column='1'/>
+        <!-- __anonymous_struct__ __anonymous_union__::__wseq32 -->
+        <var-decl name='__wseq32' type-id='type-id-52' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='180' column='1'/>
       </data-member>
     </union-decl>
-    <!-- struct {unsigned int __low; unsigned int __high;} -->
-    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='97' column='1' id='type-id-55'>
+    <!-- long long unsigned int -->
+    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-51'/>
+    <!-- struct __anonymous_struct__ -->
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='176' column='1' id='type-id-52'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <!-- unsigned int __low -->
-        <var-decl name='__low' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='99' column='1'/>
+        <!-- unsigned int __anonymous_struct__::__low -->
+        <var-decl name='__low' type-id='type-id-11' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='178' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='32'>
-        <!-- unsigned int __high -->
-        <var-decl name='__high' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='100' column='1'/>
+        <!-- unsigned int __anonymous_struct__::__high -->
+        <var-decl name='__high' type-id='type-id-11' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='179' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __int32_t int32_t -->
-    <typedef-decl name='int32_t' type-id='type-id-56' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-57'/>
+
+    <!-- unsigned int[2] -->
+    <array-type-def dimensions='1' type-id='type-id-11' size-in-bits='64' id='type-id-50'>
+      <!-- <anonymous range>[2] -->
+      <subrange length='2' type-id='type-id-17' id='type-id-53'/>
+
+    </array-type-def>
+
+    <!-- char[48] -->
+    <array-type-def dimensions='1' type-id='type-id-16' size-in-bits='384' id='type-id-47'>
+      <!-- <anonymous range>[48] -->
+      <subrange length='48' type-id='type-id-17' id='type-id-54'/>
+
+    </array-type-def>
+    <!-- long long int -->
+    <type-decl name='long long int' size-in-bits='64' id='type-id-48'/>
+    <!-- typedef __anonymous_union__ pthread_cond_t -->
+    <typedef-decl name='pthread_cond_t' type-id='type-id-45' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='80' column='1' id='type-id-55'/>
+    <!-- pthread_cond_t __urcu_compat_futex_cond -->
+    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-55' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
     <!-- typedef int __int32_t -->
-    <typedef-decl name='__int32_t' type-id='type-id-5' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-56'/>
+    <typedef-decl name='__int32_t' type-id='type-id-10' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='40' column='1' id='type-id-56'/>
+    <!-- typedef __int32_t int32_t -->
+    <typedef-decl name='int32_t' type-id='type-id-56' filepath='/usr/include/x86_64-linux-gnu/bits/stdint-intn.h' line='26' column='1' id='type-id-57'/>
+    <!-- int32_t* -->
+    <pointer-type-def type-id='type-id-57' size-in-bits='64' id='type-id-58'/>
     <!-- struct timespec -->
-    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='10' column='1' id='type-id-58'>
+    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='9' column='1' id='type-id-59'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- __time_t timespec::tv_sec -->
-        <var-decl name='tv_sec' type-id='type-id-59' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='12' column='1'/>
+        <var-decl name='tv_sec' type-id='type-id-60' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='11' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- __syscall_slong_t timespec::tv_nsec -->
-        <var-decl name='tv_nsec' type-id='type-id-60' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='16' column='1'/>
+        <var-decl name='tv_nsec' type-id='type-id-61' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='12' column='1'/>
       </data-member>
     </class-decl>
     <!-- typedef long int __time_t -->
-    <typedef-decl name='__time_t' type-id='type-id-6' filepath='/usr/include/bits/types.h' line='160' column='1' id='type-id-59'/>
+    <typedef-decl name='__time_t' type-id='type-id-9' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='148' column='1' id='type-id-60'/>
     <!-- typedef long int __syscall_slong_t -->
-    <typedef-decl name='__syscall_slong_t' type-id='type-id-6' filepath='/usr/include/bits/types.h' line='197' column='1' id='type-id-60'/>
+    <typedef-decl name='__syscall_slong_t' type-id='type-id-9' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='184' column='1' id='type-id-61'/>
     <!-- const timespec -->
-    <qualified-type-def type-id='type-id-58' const='yes' id='type-id-61'/>
+    <qualified-type-def type-id='type-id-59' const='yes' id='type-id-62'/>
     <!-- const timespec* -->
-    <pointer-type-def type-id='type-id-61' size-in-bits='64' id='type-id-62'/>
-    <!-- int32_t* -->
-    <pointer-type-def type-id='type-id-57' size-in-bits='64' id='type-id-63'/>
-    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
-    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-14' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
-    <!-- pthread_cond_t __urcu_compat_futex_cond -->
-    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-52' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
+    <pointer-type-def type-id='type-id-62' size-in-bits='64' id='type-id-63'/>
     <!-- int compat_futex_async(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
     <function-decl name='compat_futex_async' mangled-name='compat_futex_async' filepath='src/compat_futex.c' line='118' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_async'>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-63' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-58' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-10' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
       <parameter type-id='type-id-57' name='val' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'const timespec*' -->
-      <parameter type-id='type-id-62' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-63' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-63' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-58' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
       <parameter type-id='type-id-57' name='val3' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-10'/>
     </function-decl>
     <!-- int compat_futex_noasync(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
     <function-decl name='compat_futex_noasync' mangled-name='compat_futex_noasync' filepath='src/compat_futex.c' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_noasync'>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-63' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-58' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-10' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
       <parameter type-id='type-id-57' name='val' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'const timespec*' -->
-      <parameter type-id='type-id-62' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-63' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-63' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-58' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
       <parameter type-id='type-id-57' name='val3' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-10'/>
     </function-decl>
   </abi-instr>
 </abi-corpus>
index 95c4c19879f58fc1fc232d04c94012369efbbb26..4f7b9f6b7f7699ddf25d668e87d9a4a1542f51d2 100644 (file)
@@ -1,11 +1,14 @@
 <abi-corpus architecture='elf-amd-x86_64' soname='liburcu-mb.so.6'>
   <elf-needed>
-    <dependency name='liburcu-common.so.6'/>
     <dependency name='libpthread.so.0'/>
     <dependency name='libc.so.6'/>
     <dependency name='ld-linux-x86-64.so.2'/>
   </elf-needed>
   <elf-function-symbols>
+    <!-- _fini -->
+    <elf-symbol name='_fini' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- _init -->
+    <elf-symbol name='_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- call_rcu_after_fork_child_mb -->
     <elf-symbol name='call_rcu_after_fork_child_mb' type='func-type' binding='global-binding' visibility='default-visibility' alias='urcu_mb_call_rcu_after_fork_child' is-defined='yes'/>
     <!-- call_rcu_after_fork_parent_mb -->
     <elf-symbol name='urcu_mb_reader' size='256' type='tls-type' binding='global-binding' visibility='default-visibility' alias='rcu_reader_mb' is-defined='yes'/>
   </elf-variable-symbols>
   <abi-instr version='1.0' address-size='64' path='urcu.c' comp-dir-path='src' language='LANG_C99'>
-
-    <!-- char -->
-    <type-decl name='char' size-in-bits='8' id='type-id-1'/>
-    <!-- char[40] -->
-    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='320' id='type-id-2'>
-      <!-- <anonymous range>[40] -->
-      <subrange length='40' type-id='type-id-3' id='type-id-4'/>
-
-    </array-type-def>
-    <!-- int -->
-    <type-decl name='int' size-in-bits='32' id='type-id-5'/>
-    <!-- long int -->
-    <type-decl name='long int' size-in-bits='64' id='type-id-6'/>
-    <!-- short int -->
-    <type-decl name='short int' size-in-bits='16' id='type-id-7'/>
-    <!-- unsigned int -->
-    <type-decl name='unsigned int' size-in-bits='32' id='type-id-8'/>
-    <!-- unsigned long int -->
-    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-3'/>
-    <!-- void -->
-    <type-decl name='void' id='type-id-9'/>
     <!-- struct urcu_gp -->
-    <class-decl name='urcu_gp' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='67' column='1' id='type-id-10'>
+    <class-decl name='urcu_gp' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='67' column='1' id='type-id-1'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned long int urcu_gp::ctr -->
-        <var-decl name='ctr' type-id='type-id-3' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='75' column='1'/>
+        <var-decl name='ctr' type-id='type-id-2' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='75' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- int32_t urcu_gp::futex -->
-        <var-decl name='futex' type-id='type-id-11' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='77' column='1'/>
+        <var-decl name='futex' type-id='type-id-3' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='77' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __int32_t int32_t -->
-    <typedef-decl name='int32_t' type-id='type-id-12' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-11'/>
+    <!-- unsigned long int -->
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-2'/>
+    <!-- int -->
+    <type-decl name='int' size-in-bits='32' id='type-id-4'/>
     <!-- typedef int __int32_t -->
-    <typedef-decl name='__int32_t' type-id='type-id-5' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-12'/>
+    <typedef-decl name='__int32_t' type-id='type-id-4' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='40' column='1' id='type-id-5'/>
+    <!-- typedef __int32_t int32_t -->
+    <typedef-decl name='int32_t' type-id='type-id-5' filepath='/usr/include/x86_64-linux-gnu/bits/stdint-intn.h' line='26' column='1' id='type-id-3'/>
+    <!-- urcu_gp urcu_mb_gp -->
+    <var-decl name='urcu_mb_gp' type-id='type-id-1' mangled-name='urcu_mb_gp' visibility='default' filepath='../include/urcu/static/urcu-mb.h' line='60' column='1' elf-symbol-id='urcu_mb_gp'/>
     <!-- struct urcu_reader -->
-    <class-decl name='urcu_reader' size-in-bits='2048' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='80' column='1' id='type-id-13'>
+    <class-decl name='urcu_reader' size-in-bits='2048' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='80' column='1' id='type-id-6'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned long int urcu_reader::ctr -->
-        <var-decl name='ctr' type-id='type-id-3' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='82' column='1'/>
+        <var-decl name='ctr' type-id='type-id-2' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='82' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- char urcu_reader::need_mb -->
-        <var-decl name='need_mb' type-id='type-id-1' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='83' column='1'/>
+        <var-decl name='need_mb' type-id='type-id-7' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='83' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1024'>
         <!-- cds_list_head urcu_reader::node -->
-        <var-decl name='node' type-id='type-id-14' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='85' column='1'/>
+        <var-decl name='node' type-id='type-id-8' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='85' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1152'>
         <!-- pthread_t urcu_reader::tid -->
-        <var-decl name='tid' type-id='type-id-15' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='86' column='1'/>
+        <var-decl name='tid' type-id='type-id-9' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='86' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='31'>
         <!-- unsigned int urcu_reader::registered -->
-        <var-decl name='registered' type-id='type-id-8' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='88' column='1'/>
+        <var-decl name='registered' type-id='type-id-10' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='88' column='1'/>
       </data-member>
     </class-decl>
+    <!-- char -->
+    <type-decl name='char' size-in-bits='8' id='type-id-7'/>
     <!-- struct cds_list_head -->
-    <class-decl name='cds_list_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/list.h' line='37' column='1' id='type-id-14'>
+    <class-decl name='cds_list_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/list.h' line='37' column='1' id='type-id-8'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_list_head* cds_list_head::next -->
-        <var-decl name='next' type-id='type-id-16' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
+        <var-decl name='next' type-id='type-id-11' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- cds_list_head* cds_list_head::prev -->
-        <var-decl name='prev' type-id='type-id-16' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
+        <var-decl name='prev' type-id='type-id-11' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_list_head* -->
+    <pointer-type-def type-id='type-id-8' size-in-bits='64' id='type-id-11'/>
     <!-- typedef unsigned long int pthread_t -->
-    <typedef-decl name='pthread_t' type-id='type-id-3' filepath='/usr/include/bits/pthreadtypes.h' line='27' column='1' id='type-id-15'/>
+    <typedef-decl name='pthread_t' type-id='type-id-2' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='27' column='1' id='type-id-9'/>
+    <!-- unsigned int -->
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-10'/>
+    <!-- urcu_reader urcu_mb_reader -->
+    <var-decl name='urcu_mb_reader' type-id='type-id-6' mangled-name='urcu_mb_reader' visibility='default' filepath='../include/urcu/static/urcu-mb.h' line='62' column='1' elf-symbol-id='urcu_mb_reader'/>
     <!-- struct rcu_flavor_struct -->
-    <class-decl name='rcu_flavor_struct' size-in-bits='896' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='42' column='1' id='type-id-17'>
+    <class-decl name='rcu_flavor_struct' size-in-bits='896' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='42' column='1' id='type-id-12'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- void ()* rcu_flavor_struct::read_lock -->
-        <var-decl name='read_lock' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='43' column='1'/>
+        <var-decl name='read_lock' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='43' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void ()* rcu_flavor_struct::read_unlock -->
-        <var-decl name='read_unlock' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='44' column='1'/>
+        <var-decl name='read_unlock' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='44' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- int ()* rcu_flavor_struct::read_ongoing -->
-        <var-decl name='read_ongoing' type-id='type-id-19' visibility='default' filepath='../include/urcu/flavor.h' line='45' column='1'/>
+        <var-decl name='read_ongoing' type-id='type-id-14' visibility='default' filepath='../include/urcu/flavor.h' line='45' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- void ()* rcu_flavor_struct::read_quiescent_state -->
-        <var-decl name='read_quiescent_state' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='46' column='1'/>
+        <var-decl name='read_quiescent_state' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='46' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- void (rcu_head*, void (rcu_head*)*)* rcu_flavor_struct::update_call_rcu -->
-        <var-decl name='update_call_rcu' type-id='type-id-20' visibility='default' filepath='../include/urcu/flavor.h' line='47' column='1'/>
+        <var-decl name='update_call_rcu' type-id='type-id-15' visibility='default' filepath='../include/urcu/flavor.h' line='47' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
         <!-- void ()* rcu_flavor_struct::update_synchronize_rcu -->
-        <var-decl name='update_synchronize_rcu' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='49' column='1'/>
+        <var-decl name='update_synchronize_rcu' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='49' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='384'>
         <!-- void (void (void*)*, void*)* rcu_flavor_struct::update_defer_rcu -->
-        <var-decl name='update_defer_rcu' type-id='type-id-21' visibility='default' filepath='../include/urcu/flavor.h' line='50' column='1'/>
+        <var-decl name='update_defer_rcu' type-id='type-id-16' visibility='default' filepath='../include/urcu/flavor.h' line='50' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='448'>
         <!-- void ()* rcu_flavor_struct::thread_offline -->
-        <var-decl name='thread_offline' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='52' column='1'/>
+        <var-decl name='thread_offline' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='52' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='512'>
         <!-- void ()* rcu_flavor_struct::thread_online -->
-        <var-decl name='thread_online' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='53' column='1'/>
+        <var-decl name='thread_online' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='53' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='576'>
         <!-- void ()* rcu_flavor_struct::register_thread -->
-        <var-decl name='register_thread' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='54' column='1'/>
+        <var-decl name='register_thread' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='54' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='640'>
         <!-- void ()* rcu_flavor_struct::unregister_thread -->
-        <var-decl name='unregister_thread' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='55' column='1'/>
+        <var-decl name='unregister_thread' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='55' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='704'>
         <!-- void ()* rcu_flavor_struct::barrier -->
-        <var-decl name='barrier' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='57' column='1'/>
+        <var-decl name='barrier' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='57' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='768'>
         <!-- void (urcu_atfork*)* rcu_flavor_struct::register_rculfhash_atfork -->
-        <var-decl name='register_rculfhash_atfork' type-id='type-id-22' visibility='default' filepath='../include/urcu/flavor.h' line='59' column='1'/>
+        <var-decl name='register_rculfhash_atfork' type-id='type-id-17' visibility='default' filepath='../include/urcu/flavor.h' line='59' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='832'>
         <!-- void (urcu_atfork*)* rcu_flavor_struct::unregister_rculfhash_atfork -->
-        <var-decl name='unregister_rculfhash_atfork' type-id='type-id-22' visibility='default' filepath='../include/urcu/flavor.h' line='60' column='1'/>
+        <var-decl name='unregister_rculfhash_atfork' type-id='type-id-17' visibility='default' filepath='../include/urcu/flavor.h' line='60' column='1'/>
       </data-member>
     </class-decl>
+    <!-- void -->
+    <type-decl name='void' id='type-id-18'/>
+    <!-- void ()* -->
+    <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-13'/>
+    <!-- int ()* -->
+    <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-14'/>
     <!-- struct rcu_head -->
-    <class-decl name='rcu_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/call-rcu.h' line='57' column='1' id='type-id-23'>
+    <class-decl name='rcu_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/call-rcu.h' line='57' column='1' id='type-id-21'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node rcu_head::next -->
-        <var-decl name='next' type-id='type-id-24' visibility='default' filepath='../include/urcu/call-rcu.h' line='58' column='1'/>
+        <var-decl name='next' type-id='type-id-22' visibility='default' filepath='../include/urcu/call-rcu.h' line='58' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void (rcu_head*)* rcu_head::func -->
-        <var-decl name='func' type-id='type-id-25' visibility='default' filepath='../include/urcu/call-rcu.h' line='59' column='1'/>
+        <var-decl name='func' type-id='type-id-23' visibility='default' filepath='../include/urcu/call-rcu.h' line='59' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_node -->
-    <class-decl name='cds_wfcq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='59' column='1' id='type-id-24'>
+    <class-decl name='cds_wfcq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='59' column='1' id='type-id-22'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node* cds_wfcq_node::next -->
-        <var-decl name='next' type-id='type-id-26' visibility='default' filepath='../include/urcu/wfcqueue.h' line='60' column='1'/>
+        <var-decl name='next' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='60' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_wfcq_node* -->
+    <pointer-type-def type-id='type-id-22' size-in-bits='64' id='type-id-24'/>
+    <!-- rcu_head* -->
+    <pointer-type-def type-id='type-id-21' size-in-bits='64' id='type-id-25'/>
+    <!-- void (rcu_head*)* -->
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-23'/>
+    <!-- void (rcu_head*, void (rcu_head*)*)* -->
+    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-15'/>
+    <!-- void* -->
+    <pointer-type-def type-id='type-id-18' size-in-bits='64' id='type-id-28'/>
+    <!-- void (void*)* -->
+    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-30'/>
+    <!-- void (void (void*)*, void*)* -->
+    <pointer-type-def type-id='type-id-31' size-in-bits='64' id='type-id-16'/>
     <!-- struct urcu_atfork -->
-    <class-decl name='urcu_atfork' size-in-bits='256' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='32' column='1' id='type-id-27'>
+    <class-decl name='urcu_atfork' size-in-bits='256' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='32' column='1' id='type-id-32'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- void (void*)* urcu_atfork::before_fork -->
-        <var-decl name='before_fork' type-id='type-id-28' visibility='default' filepath='../include/urcu/flavor.h' line='33' column='1'/>
+        <var-decl name='before_fork' type-id='type-id-30' visibility='default' filepath='../include/urcu/flavor.h' line='33' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void (void*)* urcu_atfork::after_fork_parent -->
-        <var-decl name='after_fork_parent' type-id='type-id-28' visibility='default' filepath='../include/urcu/flavor.h' line='34' column='1'/>
+        <var-decl name='after_fork_parent' type-id='type-id-30' visibility='default' filepath='../include/urcu/flavor.h' line='34' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- void (void*)* urcu_atfork::after_fork_child -->
-        <var-decl name='after_fork_child' type-id='type-id-28' visibility='default' filepath='../include/urcu/flavor.h' line='35' column='1'/>
+        <var-decl name='after_fork_child' type-id='type-id-30' visibility='default' filepath='../include/urcu/flavor.h' line='35' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- void* urcu_atfork::priv -->
-        <var-decl name='priv' type-id='type-id-29' visibility='default' filepath='../include/urcu/flavor.h' line='36' column='1'/>
+        <var-decl name='priv' type-id='type-id-28' visibility='default' filepath='../include/urcu/flavor.h' line='36' column='1'/>
       </data-member>
     </class-decl>
+    <!-- urcu_atfork* -->
+    <pointer-type-def type-id='type-id-32' size-in-bits='64' id='type-id-33'/>
+    <!-- void (urcu_atfork*)* -->
+    <pointer-type-def type-id='type-id-34' size-in-bits='64' id='type-id-17'/>
+    <!-- const rcu_flavor_struct -->
+    <qualified-type-def type-id='type-id-12' const='yes' id='type-id-35'/>
+    <!-- const rcu_flavor_struct urcu_mb_flavor -->
+    <var-decl name='urcu_mb_flavor' type-id='type-id-35' mangled-name='rcu_flavor_mb' visibility='default' filepath='../include/urcu/flavor.h' line='90' column='1' elf-symbol-id='rcu_flavor_mb'/>
+    <!-- void urcu_mb_defer_exit() -->
+    <function-decl name='urcu_mb_defer_exit' mangled-name='rcu_defer_exit_mb' filepath='src/urcu-defer-impl.h' line='476' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_exit_mb'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_mb_defer_unregister_thread() -->
+    <function-decl name='urcu_mb_defer_unregister_thread' mangled-name='urcu_mb_defer_unregister_thread' filepath='src/urcu-defer-impl.h' line='456' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_defer_unregister_thread'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- int urcu_mb_defer_register_thread() -->
+    <function-decl name='urcu_mb_defer_register_thread' mangled-name='rcu_defer_register_thread_mb' filepath='src/urcu-defer-impl.h' line='432' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_register_thread_mb'>
+      <!-- int -->
+      <return type-id='type-id-4'/>
+    </function-decl>
+    <!-- void urcu_mb_defer_rcu(void (void*)*, void*) -->
+    <function-decl name='urcu_mb_defer_rcu' mangled-name='defer_rcu_mb' filepath='src/urcu-defer-impl.h' line='400' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='defer_rcu_mb'>
+      <!-- parameter of type 'void (void*)*' -->
+      <parameter type-id='type-id-30' name='fct' filepath='src/urcu-defer-impl.h' line='400' column='1'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-28' name='p' filepath='src/urcu-defer-impl.h' line='400' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_mb_defer_barrier() -->
+    <function-decl name='urcu_mb_defer_barrier' mangled-name='rcu_defer_barrier_mb' filepath='src/urcu-defer-impl.h' line='284' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_barrier_mb'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_mb_defer_barrier_thread() -->
+    <function-decl name='urcu_mb_defer_barrier_thread' mangled-name='rcu_defer_barrier_thread_mb' filepath='src/urcu-defer-impl.h' line='262' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_barrier_thread_mb'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_mb_unregister_rculfhash_atfork(urcu_atfork*) -->
+    <function-decl name='urcu_mb_unregister_rculfhash_atfork' mangled-name='urcu_unregister_rculfhash_atfork_mb' filepath='src/urcu-call-rcu-impl.h' line='1056' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_unregister_rculfhash_atfork_mb'>
+      <!-- parameter of type 'urcu_atfork*' -->
+      <parameter type-id='type-id-33' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1056' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_mb_register_rculfhash_atfork(urcu_atfork*) -->
+    <function-decl name='urcu_mb_register_rculfhash_atfork' mangled-name='urcu_mb_register_rculfhash_atfork' filepath='src/urcu-call-rcu-impl.h' line='1044' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_register_rculfhash_atfork'>
+      <!-- parameter of type 'urcu_atfork*' -->
+      <parameter type-id='type-id-33' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1056' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_mb_call_rcu_after_fork_child() -->
+    <function-decl name='urcu_mb_call_rcu_after_fork_child' mangled-name='call_rcu_after_fork_child_mb' filepath='src/urcu-call-rcu-impl.h' line='1000' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_after_fork_child_mb'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_mb_call_rcu_after_fork_parent() -->
+    <function-decl name='urcu_mb_call_rcu_after_fork_parent' mangled-name='call_rcu_after_fork_parent_mb' filepath='src/urcu-call-rcu-impl.h' line='976' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_after_fork_parent_mb'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_mb_call_rcu_before_fork() -->
+    <function-decl name='urcu_mb_call_rcu_before_fork' mangled-name='urcu_mb_call_rcu_before_fork' filepath='src/urcu-call-rcu-impl.h' line='947' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_call_rcu_before_fork'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_mb_barrier() -->
+    <function-decl name='urcu_mb_barrier' mangled-name='urcu_mb_barrier' filepath='src/urcu-call-rcu-impl.h' line='874' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_barrier'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_mb_free_all_cpu_call_rcu_data() -->
+    <function-decl name='urcu_mb_free_all_cpu_call_rcu_data' mangled-name='free_all_cpu_call_rcu_data_mb' filepath='src/urcu-call-rcu-impl.h' line='801' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='free_all_cpu_call_rcu_data_mb'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
     <!-- struct call_rcu_data -->
-    <class-decl name='call_rcu_data' size-in-bits='1024' is-struct='yes' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='53' column='1' id='type-id-30'>
+    <class-decl name='call_rcu_data' size-in-bits='1024' is-struct='yes' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='53' column='1' id='type-id-36'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_tail call_rcu_data::cbs_tail -->
-        <var-decl name='cbs_tail' type-id='type-id-31' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='61' column='1'/>
+        <var-decl name='cbs_tail' type-id='type-id-37' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='61' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- cds_wfcq_head call_rcu_data::cbs_head -->
-        <var-decl name='cbs_head' type-id='type-id-32' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='62' column='1'/>
+        <var-decl name='cbs_head' type-id='type-id-38' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='62' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='448'>
         <!-- unsigned long int call_rcu_data::flags -->
-        <var-decl name='flags' type-id='type-id-3' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='63' column='1'/>
+        <var-decl name='flags' type-id='type-id-2' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='63' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='512'>
         <!-- int32_t call_rcu_data::futex -->
-        <var-decl name='futex' type-id='type-id-11' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='64' column='1'/>
+        <var-decl name='futex' type-id='type-id-3' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='64' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='576'>
         <!-- unsigned long int call_rcu_data::qlen -->
-        <var-decl name='qlen' type-id='type-id-3' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='65' column='1'/>
+        <var-decl name='qlen' type-id='type-id-2' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='65' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='640'>
         <!-- pthread_t call_rcu_data::tid -->
-        <var-decl name='tid' type-id='type-id-15' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='66' column='1'/>
+        <var-decl name='tid' type-id='type-id-9' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='66' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='704'>
         <!-- int call_rcu_data::cpu_affinity -->
-        <var-decl name='cpu_affinity' type-id='type-id-5' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='67' column='1'/>
+        <var-decl name='cpu_affinity' type-id='type-id-4' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='67' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='768'>
         <!-- unsigned long int call_rcu_data::gp_count -->
-        <var-decl name='gp_count' type-id='type-id-3' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='68' column='1'/>
+        <var-decl name='gp_count' type-id='type-id-2' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='68' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='832'>
         <!-- cds_list_head call_rcu_data::list -->
-        <var-decl name='list' type-id='type-id-14' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='69' column='1'/>
+        <var-decl name='list' type-id='type-id-8' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='69' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_tail -->
-    <class-decl name='cds_wfcq_tail' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='127' column='1' id='type-id-31'>
+    <class-decl name='cds_wfcq_tail' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='127' column='1' id='type-id-37'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node* cds_wfcq_tail::p -->
-        <var-decl name='p' type-id='type-id-26' visibility='default' filepath='../include/urcu/wfcqueue.h' line='128' column='1'/>
+        <var-decl name='p' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='128' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_head -->
-    <class-decl name='cds_wfcq_head' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='72' column='1' id='type-id-32'>
+    <class-decl name='cds_wfcq_head' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='72' column='1' id='type-id-38'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node cds_wfcq_head::node -->
-        <var-decl name='node' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='73' column='1'/>
+        <var-decl name='node' type-id='type-id-22' visibility='default' filepath='../include/urcu/wfcqueue.h' line='73' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- pthread_mutex_t cds_wfcq_head::lock -->
-        <var-decl name='lock' type-id='type-id-33' visibility='default' filepath='../include/urcu/wfcqueue.h' line='74' column='1'/>
+        <var-decl name='lock' type-id='type-id-39' visibility='default' filepath='../include/urcu/wfcqueue.h' line='74' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __anonymous_union__ pthread_mutex_t -->
-    <typedef-decl name='pthread_mutex_t' type-id='type-id-34' filepath='/usr/include/bits/pthreadtypes.h' line='72' column='1' id='type-id-33'/>
-    <!-- union {__pthread_mutex_s __data; char __size[40]; long int __align;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='67' column='1' id='type-id-34'>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='67' column='1' id='type-id-40'>
       <data-member access='private'>
-        <!-- __pthread_mutex_s __data -->
-        <var-decl name='__data' type-id='type-id-35' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='69' column='1'/>
+        <!-- __pthread_mutex_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-41' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='69' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- char __size[40] -->
-        <var-decl name='__size' type-id='type-id-2' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='70' column='1'/>
+        <!-- char __anonymous_union__::__size[40] -->
+        <var-decl name='__size' type-id='type-id-42' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='70' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- long int __align -->
-        <var-decl name='__align' type-id='type-id-6' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='71' column='1'/>
+        <!-- long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-43' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='71' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __pthread_mutex_s -->
-    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='22' column='1' id='type-id-35'>
+    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='118' column='1' id='type-id-41'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- int __pthread_mutex_s::__lock -->
-        <var-decl name='__lock' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='24' column='1'/>
+        <var-decl name='__lock' type-id='type-id-4' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='120' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='32'>
         <!-- unsigned int __pthread_mutex_s::__count -->
-        <var-decl name='__count' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='25' column='1'/>
+        <var-decl name='__count' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='121' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- int __pthread_mutex_s::__owner -->
-        <var-decl name='__owner' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='26' column='1'/>
+        <var-decl name='__owner' type-id='type-id-4' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='122' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='96'>
         <!-- unsigned int __pthread_mutex_s::__nusers -->
-        <var-decl name='__nusers' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='28' column='1'/>
+        <var-decl name='__nusers' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='124' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- int __pthread_mutex_s::__kind -->
-        <var-decl name='__kind' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='32' column='1'/>
+        <var-decl name='__kind' type-id='type-id-4' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='148' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='160'>
         <!-- short int __pthread_mutex_s::__spins -->
-        <var-decl name='__spins' type-id='type-id-7' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='34' column='1'/>
+        <var-decl name='__spins' type-id='type-id-44' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='176'>
         <!-- short int __pthread_mutex_s::__elision -->
-        <var-decl name='__elision' type-id='type-id-7' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='35' column='1'/>
+        <var-decl name='__elision' type-id='type-id-44' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- __pthread_list_t __pthread_mutex_s::__list -->
-        <var-decl name='__list' type-id='type-id-36' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='36' column='1'/>
+        <var-decl name='__list' type-id='type-id-45' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='155' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __pthread_internal_list __pthread_list_t -->
-    <typedef-decl name='__pthread_list_t' type-id='type-id-37' filepath='/usr/include/bits/thread-shared-types.h' line='53' column='1' id='type-id-36'/>
+    <!-- short int -->
+    <type-decl name='short int' size-in-bits='16' id='type-id-44'/>
     <!-- struct __pthread_internal_list -->
-    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='49' column='1' id='type-id-37'>
+    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='82' column='1' id='type-id-46'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- __pthread_internal_list* __pthread_internal_list::__prev -->
-        <var-decl name='__prev' type-id='type-id-38' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='51' column='1'/>
+        <var-decl name='__prev' type-id='type-id-47' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='84' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- __pthread_internal_list* __pthread_internal_list::__next -->
-        <var-decl name='__next' type-id='type-id-38' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='52' column='1'/>
+        <var-decl name='__next' type-id='type-id-47' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='85' column='1'/>
       </data-member>
     </class-decl>
     <!-- __pthread_internal_list* -->
-    <pointer-type-def type-id='type-id-37' size-in-bits='64' id='type-id-38'/>
+    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-47'/>
+    <!-- typedef __pthread_internal_list __pthread_list_t -->
+    <typedef-decl name='__pthread_list_t' type-id='type-id-46' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='86' column='1' id='type-id-45'/>
+
+    <!-- char[40] -->
+    <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='320' id='type-id-42'>
+      <!-- <anonymous range>[40] -->
+      <subrange length='40' type-id='type-id-2' id='type-id-48'/>
+
+    </array-type-def>
+    <!-- long int -->
+    <type-decl name='long int' size-in-bits='64' id='type-id-43'/>
+    <!-- typedef __anonymous_union__ pthread_mutex_t -->
+    <typedef-decl name='pthread_mutex_t' type-id='type-id-40' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='72' column='1' id='type-id-39'/>
     <!-- call_rcu_data* -->
-    <pointer-type-def type-id='type-id-30' size-in-bits='64' id='type-id-39'/>
-    <!-- cds_list_head* -->
-    <pointer-type-def type-id='type-id-14' size-in-bits='64' id='type-id-16'/>
-    <!-- cds_wfcq_node* -->
-    <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-26'/>
-    <!-- const rcu_flavor_struct -->
-    <qualified-type-def type-id='type-id-17' const='yes' id='type-id-40'/>
-    <!-- int ()* -->
-    <pointer-type-def type-id='type-id-41' size-in-bits='64' id='type-id-19'/>
-    <!-- rcu_head* -->
-    <pointer-type-def type-id='type-id-23' size-in-bits='64' id='type-id-42'/>
-    <!-- urcu_atfork* -->
-    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-43'/>
-    <!-- void ()* -->
-    <pointer-type-def type-id='type-id-44' size-in-bits='64' id='type-id-18'/>
-    <!-- void (rcu_head*)* -->
-    <pointer-type-def type-id='type-id-45' size-in-bits='64' id='type-id-25'/>
-    <!-- void (rcu_head*, void (rcu_head*)*)* -->
-    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-20'/>
-    <!-- void (urcu_atfork*)* -->
-    <pointer-type-def type-id='type-id-47' size-in-bits='64' id='type-id-22'/>
-    <!-- void (void (void*)*, void*)* -->
-    <pointer-type-def type-id='type-id-48' size-in-bits='64' id='type-id-21'/>
-    <!-- void (void*)* -->
-    <pointer-type-def type-id='type-id-49' size-in-bits='64' id='type-id-28'/>
-    <!-- void* -->
-    <pointer-type-def type-id='type-id-9' size-in-bits='64' id='type-id-29'/>
-    <!-- urcu_gp urcu_mb_gp -->
-    <var-decl name='urcu_mb_gp' type-id='type-id-10' mangled-name='urcu_mb_gp' visibility='default' filepath='../include/urcu/static/urcu-mb.h' line='60' column='1' elf-symbol-id='urcu_mb_gp'/>
-    <!-- urcu_reader urcu_mb_reader -->
-    <var-decl name='urcu_mb_reader' type-id='type-id-13' mangled-name='urcu_mb_reader' visibility='default' filepath='../include/urcu/static/urcu-mb.h' line='62' column='1' elf-symbol-id='urcu_mb_reader'/>
-    <!-- const rcu_flavor_struct urcu_mb_flavor -->
-    <var-decl name='urcu_mb_flavor' type-id='type-id-40' mangled-name='rcu_flavor_mb' visibility='default' filepath='../include/urcu/flavor.h' line='90' column='1' elf-symbol-id='rcu_flavor_mb'/>
-    <!-- void urcu_mb_defer_exit() -->
-    <function-decl name='urcu_mb_defer_exit' mangled-name='rcu_defer_exit_mb' filepath='src/urcu-defer-impl.h' line='476' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_exit_mb'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_mb_defer_unregister_thread() -->
-    <function-decl name='urcu_mb_defer_unregister_thread' mangled-name='urcu_mb_defer_unregister_thread' filepath='src/urcu-defer-impl.h' line='456' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_defer_unregister_thread'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- int urcu_mb_defer_register_thread() -->
-    <function-decl name='urcu_mb_defer_register_thread' mangled-name='rcu_defer_register_thread_mb' filepath='src/urcu-defer-impl.h' line='432' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_register_thread_mb'>
-      <!-- int -->
-      <return type-id='type-id-5'/>
-    </function-decl>
-    <!-- void urcu_mb_defer_rcu(void (void*)*, void*) -->
-    <function-decl name='urcu_mb_defer_rcu' mangled-name='defer_rcu_mb' filepath='src/urcu-defer-impl.h' line='400' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='defer_rcu_mb'>
-      <!-- parameter of type 'void (void*)*' -->
-      <parameter type-id='type-id-28' name='fct' filepath='src/urcu-defer-impl.h' line='400' column='1'/>
-      <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='p' filepath='src/urcu-defer-impl.h' line='400' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_mb_defer_barrier() -->
-    <function-decl name='urcu_mb_defer_barrier' mangled-name='rcu_defer_barrier_mb' filepath='src/urcu-defer-impl.h' line='284' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_barrier_mb'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_mb_defer_barrier_thread() -->
-    <function-decl name='urcu_mb_defer_barrier_thread' mangled-name='rcu_defer_barrier_thread_mb' filepath='src/urcu-defer-impl.h' line='262' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_barrier_thread_mb'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_mb_unregister_rculfhash_atfork(urcu_atfork*) -->
-    <function-decl name='urcu_mb_unregister_rculfhash_atfork' mangled-name='urcu_unregister_rculfhash_atfork_mb' filepath='src/urcu-call-rcu-impl.h' line='1056' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_unregister_rculfhash_atfork_mb'>
-      <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-43' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1056' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_mb_register_rculfhash_atfork(urcu_atfork*) -->
-    <function-decl name='urcu_mb_register_rculfhash_atfork' mangled-name='urcu_mb_register_rculfhash_atfork' filepath='src/urcu-call-rcu-impl.h' line='1044' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_register_rculfhash_atfork'>
-      <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-43' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1044' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_mb_call_rcu_after_fork_child() -->
-    <function-decl name='urcu_mb_call_rcu_after_fork_child' mangled-name='call_rcu_after_fork_child_mb' filepath='src/urcu-call-rcu-impl.h' line='1000' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_after_fork_child_mb'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_mb_call_rcu_after_fork_parent() -->
-    <function-decl name='urcu_mb_call_rcu_after_fork_parent' mangled-name='call_rcu_after_fork_parent_mb' filepath='src/urcu-call-rcu-impl.h' line='976' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_after_fork_parent_mb'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_mb_call_rcu_before_fork() -->
-    <function-decl name='urcu_mb_call_rcu_before_fork' mangled-name='urcu_mb_call_rcu_before_fork' filepath='src/urcu-call-rcu-impl.h' line='947' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_call_rcu_before_fork'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_mb_barrier() -->
-    <function-decl name='urcu_mb_barrier' mangled-name='urcu_mb_barrier' filepath='src/urcu-call-rcu-impl.h' line='874' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_barrier'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_mb_free_all_cpu_call_rcu_data() -->
-    <function-decl name='urcu_mb_free_all_cpu_call_rcu_data' mangled-name='free_all_cpu_call_rcu_data_mb' filepath='src/urcu-call-rcu-impl.h' line='801' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='free_all_cpu_call_rcu_data_mb'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
+    <pointer-type-def type-id='type-id-36' size-in-bits='64' id='type-id-49'/>
     <!-- void urcu_mb_call_rcu_data_free(call_rcu_data*) -->
     <function-decl name='urcu_mb_call_rcu_data_free' mangled-name='call_rcu_data_free_mb' filepath='src/urcu-call-rcu-impl.h' line='764' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_data_free_mb'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='764' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='764' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void urcu_mb_call_rcu(rcu_head*, void (rcu_head*)*) -->
     <function-decl name='urcu_mb_call_rcu' mangled-name='urcu_mb_call_rcu' filepath='src/urcu-call-rcu-impl.h' line='725' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_call_rcu'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42' name='head' filepath='src/urcu-call-rcu-impl.h' line='725' column='1'/>
+      <parameter type-id='type-id-25' name='head' filepath='src/urcu-call-rcu-impl.h' line='725' column='1'/>
       <!-- parameter of type 'void (rcu_head*)*' -->
-      <parameter type-id='type-id-25' name='func' filepath='src/urcu-call-rcu-impl.h' line='726' column='1'/>
+      <parameter type-id='type-id-23' name='func' filepath='src/urcu-call-rcu-impl.h' line='726' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- int urcu_mb_create_all_cpu_call_rcu_data(unsigned long int) -->
     <function-decl name='urcu_mb_create_all_cpu_call_rcu_data' mangled-name='create_all_cpu_call_rcu_data_mb' filepath='src/urcu-call-rcu-impl.h' line='645' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='create_all_cpu_call_rcu_data_mb'>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-3' name='flags' filepath='src/urcu-call-rcu-impl.h' line='645' column='1'/>
+      <parameter type-id='type-id-2' name='flags' filepath='src/urcu-call-rcu-impl.h' line='645' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-decl>
     <!-- void urcu_mb_set_thread_call_rcu_data(call_rcu_data*) -->
     <function-decl name='urcu_mb_set_thread_call_rcu_data' mangled-name='urcu_mb_set_thread_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='630' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_set_thread_call_rcu_data'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='630' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='630' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- call_rcu_data* urcu_mb_get_thread_call_rcu_data() -->
     <function-decl name='urcu_mb_get_thread_call_rcu_data' mangled-name='get_thread_call_rcu_data_mb' filepath='src/urcu-call-rcu-impl.h' line='612' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_thread_call_rcu_data_mb'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- call_rcu_data* urcu_mb_get_call_rcu_data() -->
     <function-decl name='urcu_mb_get_call_rcu_data' mangled-name='urcu_mb_get_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='590' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_get_call_rcu_data'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- call_rcu_data* urcu_mb_get_default_call_rcu_data() -->
     <function-decl name='urcu_mb_get_default_call_rcu_data' mangled-name='urcu_mb_get_default_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='563' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_get_default_call_rcu_data'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- int urcu_mb_set_cpu_call_rcu_data(int, call_rcu_data*) -->
     <function-decl name='urcu_mb_set_cpu_call_rcu_data' mangled-name='urcu_mb_set_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='522' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_set_cpu_call_rcu_data'>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='522' column='1'/>
+      <parameter type-id='type-id-4' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='522' column='1'/>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='522' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='522' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-decl>
     <!-- call_rcu_data* urcu_mb_create_call_rcu_data(unsigned long int, int) -->
     <function-decl name='urcu_mb_create_call_rcu_data' mangled-name='create_call_rcu_data_mb' filepath='src/urcu-call-rcu-impl.h' line='498' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='create_call_rcu_data_mb'>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-3' name='flags' filepath='src/urcu-call-rcu-impl.h' line='498' column='1'/>
+      <parameter type-id='type-id-2' name='flags' filepath='src/urcu-call-rcu-impl.h' line='498' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu_affinity' filepath='src/urcu-call-rcu-impl.h' line='499' column='1'/>
+      <parameter type-id='type-id-4' name='cpu_affinity' filepath='src/urcu-call-rcu-impl.h' line='499' column='1'/>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- pthread_t urcu_mb_get_call_rcu_thread(call_rcu_data*) -->
     <function-decl name='urcu_mb_get_call_rcu_thread' mangled-name='get_call_rcu_thread_mb' filepath='src/urcu-call-rcu-impl.h' line='476' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_call_rcu_thread_mb'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='476' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='476' column='1'/>
       <!-- typedef pthread_t -->
-      <return type-id='type-id-15'/>
+      <return type-id='type-id-9'/>
     </function-decl>
     <!-- call_rcu_data* urcu_mb_get_cpu_call_rcu_data(int) -->
     <function-decl name='urcu_mb_get_cpu_call_rcu_data' mangled-name='get_cpu_call_rcu_data_mb' filepath='src/urcu-call-rcu-impl.h' line='452' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_cpu_call_rcu_data_mb'>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='452' column='1'/>
+      <parameter type-id='type-id-4' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='452' column='1'/>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- void urcu_mb_unregister_thread() -->
     <function-decl name='urcu_mb_unregister_thread' mangled-name='urcu_mb_unregister_thread' filepath='src/urcu.c' line='563' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_unregister_thread'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void urcu_mb_register_thread() -->
     <function-decl name='urcu_mb_register_thread' mangled-name='urcu_mb_register_thread' filepath='src/urcu.c' line='547' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_register_thread'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- int urcu_mb_read_ongoing() -->
     <function-decl name='urcu_mb_read_ongoing' mangled-name='rcu_read_ongoing_mb' filepath='src/urcu.c' line='540' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_read_ongoing_mb'>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-decl>
     <!-- void urcu_mb_read_unlock() -->
     <function-decl name='urcu_mb_read_unlock' mangled-name='rcu_read_unlock_mb' filepath='src/urcu.c' line='533' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_read_unlock_mb'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void urcu_mb_read_lock() -->
     <function-decl name='urcu_mb_read_lock' mangled-name='rcu_read_lock_mb' filepath='src/urcu.c' line='526' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_read_lock_mb'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void urcu_mb_synchronize_rcu() -->
     <function-decl name='urcu_mb_synchronize_rcu' mangled-name='synchronize_rcu_mb' filepath='src/urcu.c' line='403' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='synchronize_rcu_mb'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void urcu_mb_init() -->
     <function-decl name='urcu_mb_init' mangled-name='rcu_init_mb' filepath='src/urcu.c' line='105' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_init_mb'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- int () -->
-    <function-type size-in-bits='64' id='type-id-41'>
+    <function-type size-in-bits='64' id='type-id-20'>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-type>
     <!-- void () -->
-    <function-type size-in-bits='64' id='type-id-44'>
+    <function-type size-in-bits='64' id='type-id-19'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (rcu_head*) -->
-    <function-type size-in-bits='64' id='type-id-45'>
+    <function-type size-in-bits='64' id='type-id-26'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42'/>
+      <parameter type-id='type-id-25'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (rcu_head*, void (rcu_head*)*) -->
-    <function-type size-in-bits='64' id='type-id-46'>
+    <function-type size-in-bits='64' id='type-id-27'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42'/>
-      <!-- parameter of type 'void (rcu_head*)*' -->
       <parameter type-id='type-id-25'/>
+      <!-- parameter of type 'void (rcu_head*)*' -->
+      <parameter type-id='type-id-23'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (urcu_atfork*) -->
-    <function-type size-in-bits='64' id='type-id-47'>
+    <function-type size-in-bits='64' id='type-id-34'>
       <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-43'/>
+      <parameter type-id='type-id-33'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (void (void*)*, void*) -->
-    <function-type size-in-bits='64' id='type-id-48'>
+    <function-type size-in-bits='64' id='type-id-31'>
       <!-- parameter of type 'void (void*)*' -->
-      <parameter type-id='type-id-28'/>
+      <parameter type-id='type-id-30'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29'/>
+      <parameter type-id='type-id-28'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (void*) -->
-    <function-type size-in-bits='64' id='type-id-49'>
+    <function-type size-in-bits='64' id='type-id-29'>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29'/>
+      <parameter type-id='type-id-28'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='urcu-pointer.c' comp-dir-path='src' language='LANG_C99'>
     <!-- void** -->
-    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-50'/>
+    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-50'/>
     <!-- void* rcu_cmpxchg_pointer_sym(void**, void*, void*) -->
     <function-decl name='rcu_cmpxchg_pointer_sym' mangled-name='rcu_cmpxchg_pointer_sym' filepath='src/urcu-pointer.c' line='53' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_cmpxchg_pointer_sym'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='53' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='old' filepath='src/urcu-pointer.c' line='53' column='1'/>
+      <parameter type-id='type-id-28' name='old' filepath='src/urcu-pointer.c' line='53' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='_new' filepath='src/urcu-pointer.c' line='53' column='1'/>
+      <parameter type-id='type-id-28' name='_new' filepath='src/urcu-pointer.c' line='53' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-28'/>
     </function-decl>
     <!-- void* rcu_xchg_pointer_sym(void**, void*) -->
     <function-decl name='rcu_xchg_pointer_sym' mangled-name='rcu_xchg_pointer_sym' filepath='src/urcu-pointer.c' line='47' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_xchg_pointer_sym'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='47' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='v' filepath='src/urcu-pointer.c' line='47' column='1'/>
+      <parameter type-id='type-id-28' name='v' filepath='src/urcu-pointer.c' line='47' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-28'/>
     </function-decl>
     <!-- void* rcu_set_pointer_sym(void**, void*) -->
     <function-decl name='rcu_set_pointer_sym' mangled-name='rcu_set_pointer_sym' filepath='src/urcu-pointer.c' line='40' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_set_pointer_sym'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='40' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='v' filepath='src/urcu-pointer.c' line='40' column='1'/>
+      <parameter type-id='type-id-28' name='v' filepath='src/urcu-pointer.c' line='40' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-28'/>
     </function-decl>
     <!-- void* rcu_dereference_sym(void*) -->
     <function-decl name='rcu_dereference_sym' mangled-name='rcu_dereference_sym' filepath='src/urcu-pointer.c' line='35' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_dereference_sym'>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='p' filepath='src/urcu-pointer.c' line='35' column='1'/>
+      <parameter type-id='type-id-28' name='p' filepath='src/urcu-pointer.c' line='35' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-28'/>
     </function-decl>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='compat_futex.c' comp-dir-path='src' language='LANG_C99'>
-
-
-    <!-- char[48] -->
-    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='384' id='type-id-51'>
-      <!-- <anonymous range>[48] -->
-      <subrange length='48' type-id='type-id-3' id='type-id-52'/>
-
-    </array-type-def>
-    <!-- long long int -->
-    <type-decl name='long long int' size-in-bits='64' id='type-id-53'/>
-    <!-- long long unsigned int -->
-    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-54'/>
-    <!-- unsigned int[2] -->
-    <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='64' id='type-id-55'>
-      <!-- <anonymous range>[2] -->
-      <subrange length='2' type-id='type-id-3' id='type-id-56'/>
-
-    </array-type-def>
-    <!-- typedef __anonymous_union__ pthread_cond_t -->
-    <typedef-decl name='pthread_cond_t' type-id='type-id-57' filepath='/usr/include/bits/pthreadtypes.h' line='80' column='1' id='type-id-58'/>
-    <!-- union {__pthread_cond_s __data; char __size[48]; long long int __align;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='75' column='1' id='type-id-57'>
+    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
+    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-39' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='75' column='1' id='type-id-51'>
       <data-member access='private'>
-        <!-- __pthread_cond_s __data -->
-        <var-decl name='__data' type-id='type-id-59' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='77' column='1'/>
+        <!-- __pthread_cond_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-52' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='77' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- char __size[48] -->
-        <var-decl name='__size' type-id='type-id-51' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='78' column='1'/>
+        <!-- char __anonymous_union__::__size[48] -->
+        <var-decl name='__size' type-id='type-id-53' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='78' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- long long int __align -->
-        <var-decl name='__align' type-id='type-id-53' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='79' column='1'/>
+        <!-- long long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-54' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='79' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __pthread_cond_s -->
-    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='92' column='1' id='type-id-59'>
+    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='171' column='1' id='type-id-52'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <!-- union {long long unsigned int __wseq; struct {unsigned int __low; unsigned int __high;} __wseq32;} -->
-        <var-decl name='' type-id='type-id-60' visibility='default'/>
+        <!-- __anonymous_union__  -->
+        <var-decl name='' type-id='type-id-55' visibility='default'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- unsigned int __pthread_cond_s::__g_refs[2] -->
-        <var-decl name='__g_refs' type-id='type-id-55' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='112' column='1'/>
+        <var-decl name='__g_refs' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='191' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- unsigned int __pthread_cond_s::__g_size[2] -->
-        <var-decl name='__g_size' type-id='type-id-55' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='113' column='1'/>
+        <var-decl name='__g_size' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='192' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- unsigned int __pthread_cond_s::__g1_orig_size -->
-        <var-decl name='__g1_orig_size' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='114' column='1'/>
+        <var-decl name='__g1_orig_size' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='193' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='288'>
         <!-- unsigned int __pthread_cond_s::__wrefs -->
-        <var-decl name='__wrefs' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='115' column='1'/>
+        <var-decl name='__wrefs' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='194' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
         <!-- unsigned int __pthread_cond_s::__g_signals[2] -->
-        <var-decl name='__g_signals' type-id='type-id-55' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='116' column='1'/>
+        <var-decl name='__g_signals' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='195' column='1'/>
       </data-member>
     </class-decl>
-    <!-- union {long long unsigned int __wseq; struct {unsigned int __low; unsigned int __high;} __wseq32;} -->
-    <union-decl name='__anonymous_union__1' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='94' column='1' id='type-id-60'>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='173' column='1' id='type-id-55'>
       <data-member access='private'>
-        <!-- long long unsigned int __wseq -->
-        <var-decl name='__wseq' type-id='type-id-54' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='96' column='1'/>
+        <!-- long long unsigned int __anonymous_union__::__wseq -->
+        <var-decl name='__wseq' type-id='type-id-57' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='175' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- struct {unsigned int __low; unsigned int __high;} __wseq32 -->
-        <var-decl name='__wseq32' type-id='type-id-61' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='101' column='1'/>
+        <!-- __anonymous_struct__ __anonymous_union__::__wseq32 -->
+        <var-decl name='__wseq32' type-id='type-id-58' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='180' column='1'/>
       </data-member>
     </union-decl>
-    <!-- struct {unsigned int __low; unsigned int __high;} -->
-    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='97' column='1' id='type-id-61'>
+    <!-- long long unsigned int -->
+    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-57'/>
+    <!-- struct __anonymous_struct__ -->
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='176' column='1' id='type-id-58'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <!-- unsigned int __low -->
-        <var-decl name='__low' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='99' column='1'/>
+        <!-- unsigned int __anonymous_struct__::__low -->
+        <var-decl name='__low' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='178' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='32'>
-        <!-- unsigned int __high -->
-        <var-decl name='__high' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='100' column='1'/>
+        <!-- unsigned int __anonymous_struct__::__high -->
+        <var-decl name='__high' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='179' column='1'/>
       </data-member>
     </class-decl>
+
+    <!-- unsigned int[2] -->
+    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='64' id='type-id-56'>
+      <!-- <anonymous range>[2] -->
+      <subrange length='2' type-id='type-id-2' id='type-id-59'/>
+
+    </array-type-def>
+
+    <!-- char[48] -->
+    <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='384' id='type-id-53'>
+      <!-- <anonymous range>[48] -->
+      <subrange length='48' type-id='type-id-2' id='type-id-60'/>
+
+    </array-type-def>
+    <!-- long long int -->
+    <type-decl name='long long int' size-in-bits='64' id='type-id-54'/>
+    <!-- typedef __anonymous_union__ pthread_cond_t -->
+    <typedef-decl name='pthread_cond_t' type-id='type-id-51' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='80' column='1' id='type-id-61'/>
+    <!-- pthread_cond_t __urcu_compat_futex_cond -->
+    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-61' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
+    <!-- int32_t* -->
+    <pointer-type-def type-id='type-id-3' size-in-bits='64' id='type-id-62'/>
     <!-- struct timespec -->
-    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='10' column='1' id='type-id-62'>
+    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='9' column='1' id='type-id-63'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- __time_t timespec::tv_sec -->
-        <var-decl name='tv_sec' type-id='type-id-63' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='12' column='1'/>
+        <var-decl name='tv_sec' type-id='type-id-64' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='11' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- __syscall_slong_t timespec::tv_nsec -->
-        <var-decl name='tv_nsec' type-id='type-id-64' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='16' column='1'/>
+        <var-decl name='tv_nsec' type-id='type-id-65' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='12' column='1'/>
       </data-member>
     </class-decl>
     <!-- typedef long int __time_t -->
-    <typedef-decl name='__time_t' type-id='type-id-6' filepath='/usr/include/bits/types.h' line='160' column='1' id='type-id-63'/>
+    <typedef-decl name='__time_t' type-id='type-id-43' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='148' column='1' id='type-id-64'/>
     <!-- typedef long int __syscall_slong_t -->
-    <typedef-decl name='__syscall_slong_t' type-id='type-id-6' filepath='/usr/include/bits/types.h' line='197' column='1' id='type-id-64'/>
+    <typedef-decl name='__syscall_slong_t' type-id='type-id-43' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='184' column='1' id='type-id-65'/>
     <!-- const timespec -->
-    <qualified-type-def type-id='type-id-62' const='yes' id='type-id-65'/>
+    <qualified-type-def type-id='type-id-63' const='yes' id='type-id-66'/>
     <!-- const timespec* -->
-    <pointer-type-def type-id='type-id-65' size-in-bits='64' id='type-id-66'/>
-    <!-- int32_t* -->
-    <pointer-type-def type-id='type-id-11' size-in-bits='64' id='type-id-67'/>
-    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
-    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-33' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
-    <!-- pthread_cond_t __urcu_compat_futex_cond -->
-    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-58' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
+    <pointer-type-def type-id='type-id-66' size-in-bits='64' id='type-id-67'/>
     <!-- int compat_futex_async(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
     <function-decl name='compat_futex_async' mangled-name='compat_futex_async' filepath='src/compat_futex.c' line='118' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_async'>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-4' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-3' name='val' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'const timespec*' -->
-      <parameter type-id='type-id-66' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-67' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val3' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-3' name='val3' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-decl>
     <!-- int compat_futex_noasync(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
     <function-decl name='compat_futex_noasync' mangled-name='compat_futex_noasync' filepath='src/compat_futex.c' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_noasync'>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-4' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-3' name='val' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'const timespec*' -->
-      <parameter type-id='type-id-66' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-67' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val3' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-3' name='val3' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-decl>
   </abi-instr>
 </abi-corpus>
index b97b4c497f21b99ec44f50c647c5e72a09ac3642..4947c353dcaac73830a2c687121c9c6b4db86786 100644 (file)
@@ -1,11 +1,14 @@
 <abi-corpus architecture='elf-amd-x86_64' soname='liburcu-memb.so.6'>
   <elf-needed>
-    <dependency name='liburcu-common.so.6'/>
     <dependency name='libpthread.so.0'/>
     <dependency name='libc.so.6'/>
     <dependency name='ld-linux-x86-64.so.2'/>
   </elf-needed>
   <elf-function-symbols>
+    <!-- _fini -->
+    <elf-symbol name='_fini' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- _init -->
+    <elf-symbol name='_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- call_rcu_after_fork_child_memb -->
     <elf-symbol name='call_rcu_after_fork_child_memb' type='func-type' binding='global-binding' visibility='default-visibility' alias='urcu_memb_call_rcu_after_fork_child' is-defined='yes'/>
     <!-- call_rcu_after_fork_parent_memb -->
     <elf-symbol name='urcu_memb_reader' size='256' type='tls-type' binding='global-binding' visibility='default-visibility' alias='rcu_reader_memb' is-defined='yes'/>
   </elf-variable-symbols>
   <abi-instr version='1.0' address-size='64' path='urcu.c' comp-dir-path='src' language='LANG_C99'>
-
-    <!-- char -->
-    <type-decl name='char' size-in-bits='8' id='type-id-1'/>
-    <!-- char[40] -->
-    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='320' id='type-id-2'>
-      <!-- <anonymous range>[40] -->
-      <subrange length='40' type-id='type-id-3' id='type-id-4'/>
-
-    </array-type-def>
     <!-- int -->
-    <type-decl name='int' size-in-bits='32' id='type-id-5'/>
-    <!-- long int -->
-    <type-decl name='long int' size-in-bits='64' id='type-id-6'/>
-    <!-- short int -->
-    <type-decl name='short int' size-in-bits='16' id='type-id-7'/>
-    <!-- unsigned int -->
-    <type-decl name='unsigned int' size-in-bits='32' id='type-id-8'/>
-    <!-- unsigned long int -->
-    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-3'/>
-    <!-- void -->
-    <type-decl name='void' id='type-id-9'/>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <!-- int urcu_memb_has_sys_membarrier -->
+    <var-decl name='urcu_memb_has_sys_membarrier' type-id='type-id-1' mangled-name='rcu_has_sys_membarrier_memb' visibility='default' filepath='../include/urcu/static/urcu-memb.h' line='72' column='1' elf-symbol-id='rcu_has_sys_membarrier_memb'/>
     <!-- struct urcu_gp -->
-    <class-decl name='urcu_gp' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='67' column='1' id='type-id-10'>
+    <class-decl name='urcu_gp' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='67' column='1' id='type-id-2'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned long int urcu_gp::ctr -->
         <var-decl name='ctr' type-id='type-id-3' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='75' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- int32_t urcu_gp::futex -->
-        <var-decl name='futex' type-id='type-id-11' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='77' column='1'/>
+        <var-decl name='futex' type-id='type-id-4' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='77' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __int32_t int32_t -->
-    <typedef-decl name='int32_t' type-id='type-id-12' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-11'/>
+    <!-- unsigned long int -->
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-3'/>
     <!-- typedef int __int32_t -->
-    <typedef-decl name='__int32_t' type-id='type-id-5' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-12'/>
+    <typedef-decl name='__int32_t' type-id='type-id-1' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='40' column='1' id='type-id-5'/>
+    <!-- typedef __int32_t int32_t -->
+    <typedef-decl name='int32_t' type-id='type-id-5' filepath='/usr/include/x86_64-linux-gnu/bits/stdint-intn.h' line='26' column='1' id='type-id-4'/>
+    <!-- urcu_gp urcu_memb_gp -->
+    <var-decl name='urcu_memb_gp' type-id='type-id-2' mangled-name='urcu_memb_gp' visibility='default' filepath='../include/urcu/static/urcu-memb.h' line='83' column='1' elf-symbol-id='urcu_memb_gp'/>
     <!-- struct urcu_reader -->
-    <class-decl name='urcu_reader' size-in-bits='2048' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='80' column='1' id='type-id-13'>
+    <class-decl name='urcu_reader' size-in-bits='2048' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='80' column='1' id='type-id-6'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned long int urcu_reader::ctr -->
         <var-decl name='ctr' type-id='type-id-3' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='82' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- char urcu_reader::need_mb -->
-        <var-decl name='need_mb' type-id='type-id-1' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='83' column='1'/>
+        <var-decl name='need_mb' type-id='type-id-7' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='83' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1024'>
         <!-- cds_list_head urcu_reader::node -->
-        <var-decl name='node' type-id='type-id-14' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='85' column='1'/>
+        <var-decl name='node' type-id='type-id-8' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='85' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1152'>
         <!-- pthread_t urcu_reader::tid -->
-        <var-decl name='tid' type-id='type-id-15' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='86' column='1'/>
+        <var-decl name='tid' type-id='type-id-9' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='86' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='31'>
         <!-- unsigned int urcu_reader::registered -->
-        <var-decl name='registered' type-id='type-id-8' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='88' column='1'/>
+        <var-decl name='registered' type-id='type-id-10' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='88' column='1'/>
       </data-member>
     </class-decl>
+    <!-- char -->
+    <type-decl name='char' size-in-bits='8' id='type-id-7'/>
     <!-- struct cds_list_head -->
-    <class-decl name='cds_list_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/list.h' line='37' column='1' id='type-id-14'>
+    <class-decl name='cds_list_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/list.h' line='37' column='1' id='type-id-8'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_list_head* cds_list_head::next -->
-        <var-decl name='next' type-id='type-id-16' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
+        <var-decl name='next' type-id='type-id-11' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- cds_list_head* cds_list_head::prev -->
-        <var-decl name='prev' type-id='type-id-16' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
+        <var-decl name='prev' type-id='type-id-11' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_list_head* -->
+    <pointer-type-def type-id='type-id-8' size-in-bits='64' id='type-id-11'/>
     <!-- typedef unsigned long int pthread_t -->
-    <typedef-decl name='pthread_t' type-id='type-id-3' filepath='/usr/include/bits/pthreadtypes.h' line='27' column='1' id='type-id-15'/>
+    <typedef-decl name='pthread_t' type-id='type-id-3' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='27' column='1' id='type-id-9'/>
+    <!-- unsigned int -->
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-10'/>
+    <!-- urcu_reader urcu_memb_reader -->
+    <var-decl name='urcu_memb_reader' type-id='type-id-6' mangled-name='urcu_memb_reader' visibility='default' filepath='../include/urcu/static/urcu-memb.h' line='85' column='1' elf-symbol-id='urcu_memb_reader'/>
     <!-- struct rcu_flavor_struct -->
-    <class-decl name='rcu_flavor_struct' size-in-bits='896' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='42' column='1' id='type-id-17'>
+    <class-decl name='rcu_flavor_struct' size-in-bits='896' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='42' column='1' id='type-id-12'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- void ()* rcu_flavor_struct::read_lock -->
-        <var-decl name='read_lock' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='43' column='1'/>
+        <var-decl name='read_lock' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='43' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void ()* rcu_flavor_struct::read_unlock -->
-        <var-decl name='read_unlock' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='44' column='1'/>
+        <var-decl name='read_unlock' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='44' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- int ()* rcu_flavor_struct::read_ongoing -->
-        <var-decl name='read_ongoing' type-id='type-id-19' visibility='default' filepath='../include/urcu/flavor.h' line='45' column='1'/>
+        <var-decl name='read_ongoing' type-id='type-id-14' visibility='default' filepath='../include/urcu/flavor.h' line='45' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- void ()* rcu_flavor_struct::read_quiescent_state -->
-        <var-decl name='read_quiescent_state' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='46' column='1'/>
+        <var-decl name='read_quiescent_state' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='46' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- void (rcu_head*, void (rcu_head*)*)* rcu_flavor_struct::update_call_rcu -->
-        <var-decl name='update_call_rcu' type-id='type-id-20' visibility='default' filepath='../include/urcu/flavor.h' line='47' column='1'/>
+        <var-decl name='update_call_rcu' type-id='type-id-15' visibility='default' filepath='../include/urcu/flavor.h' line='47' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
         <!-- void ()* rcu_flavor_struct::update_synchronize_rcu -->
-        <var-decl name='update_synchronize_rcu' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='49' column='1'/>
+        <var-decl name='update_synchronize_rcu' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='49' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='384'>
         <!-- void (void (void*)*, void*)* rcu_flavor_struct::update_defer_rcu -->
-        <var-decl name='update_defer_rcu' type-id='type-id-21' visibility='default' filepath='../include/urcu/flavor.h' line='50' column='1'/>
+        <var-decl name='update_defer_rcu' type-id='type-id-16' visibility='default' filepath='../include/urcu/flavor.h' line='50' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='448'>
         <!-- void ()* rcu_flavor_struct::thread_offline -->
-        <var-decl name='thread_offline' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='52' column='1'/>
+        <var-decl name='thread_offline' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='52' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='512'>
         <!-- void ()* rcu_flavor_struct::thread_online -->
-        <var-decl name='thread_online' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='53' column='1'/>
+        <var-decl name='thread_online' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='53' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='576'>
         <!-- void ()* rcu_flavor_struct::register_thread -->
-        <var-decl name='register_thread' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='54' column='1'/>
+        <var-decl name='register_thread' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='54' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='640'>
         <!-- void ()* rcu_flavor_struct::unregister_thread -->
-        <var-decl name='unregister_thread' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='55' column='1'/>
+        <var-decl name='unregister_thread' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='55' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='704'>
         <!-- void ()* rcu_flavor_struct::barrier -->
-        <var-decl name='barrier' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='57' column='1'/>
+        <var-decl name='barrier' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='57' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='768'>
         <!-- void (urcu_atfork*)* rcu_flavor_struct::register_rculfhash_atfork -->
-        <var-decl name='register_rculfhash_atfork' type-id='type-id-22' visibility='default' filepath='../include/urcu/flavor.h' line='59' column='1'/>
+        <var-decl name='register_rculfhash_atfork' type-id='type-id-17' visibility='default' filepath='../include/urcu/flavor.h' line='59' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='832'>
         <!-- void (urcu_atfork*)* rcu_flavor_struct::unregister_rculfhash_atfork -->
-        <var-decl name='unregister_rculfhash_atfork' type-id='type-id-22' visibility='default' filepath='../include/urcu/flavor.h' line='60' column='1'/>
+        <var-decl name='unregister_rculfhash_atfork' type-id='type-id-17' visibility='default' filepath='../include/urcu/flavor.h' line='60' column='1'/>
       </data-member>
     </class-decl>
+    <!-- void -->
+    <type-decl name='void' id='type-id-18'/>
+    <!-- void ()* -->
+    <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-13'/>
+    <!-- int ()* -->
+    <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-14'/>
     <!-- struct rcu_head -->
-    <class-decl name='rcu_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/call-rcu.h' line='57' column='1' id='type-id-23'>
+    <class-decl name='rcu_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/call-rcu.h' line='57' column='1' id='type-id-21'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node rcu_head::next -->
-        <var-decl name='next' type-id='type-id-24' visibility='default' filepath='../include/urcu/call-rcu.h' line='58' column='1'/>
+        <var-decl name='next' type-id='type-id-22' visibility='default' filepath='../include/urcu/call-rcu.h' line='58' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void (rcu_head*)* rcu_head::func -->
-        <var-decl name='func' type-id='type-id-25' visibility='default' filepath='../include/urcu/call-rcu.h' line='59' column='1'/>
+        <var-decl name='func' type-id='type-id-23' visibility='default' filepath='../include/urcu/call-rcu.h' line='59' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_node -->
-    <class-decl name='cds_wfcq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='59' column='1' id='type-id-24'>
+    <class-decl name='cds_wfcq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='59' column='1' id='type-id-22'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node* cds_wfcq_node::next -->
-        <var-decl name='next' type-id='type-id-26' visibility='default' filepath='../include/urcu/wfcqueue.h' line='60' column='1'/>
+        <var-decl name='next' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='60' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_wfcq_node* -->
+    <pointer-type-def type-id='type-id-22' size-in-bits='64' id='type-id-24'/>
+    <!-- rcu_head* -->
+    <pointer-type-def type-id='type-id-21' size-in-bits='64' id='type-id-25'/>
+    <!-- void (rcu_head*)* -->
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-23'/>
+    <!-- void (rcu_head*, void (rcu_head*)*)* -->
+    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-15'/>
+    <!-- void* -->
+    <pointer-type-def type-id='type-id-18' size-in-bits='64' id='type-id-28'/>
+    <!-- void (void*)* -->
+    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-30'/>
+    <!-- void (void (void*)*, void*)* -->
+    <pointer-type-def type-id='type-id-31' size-in-bits='64' id='type-id-16'/>
     <!-- struct urcu_atfork -->
-    <class-decl name='urcu_atfork' size-in-bits='256' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='32' column='1' id='type-id-27'>
+    <class-decl name='urcu_atfork' size-in-bits='256' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='32' column='1' id='type-id-32'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- void (void*)* urcu_atfork::before_fork -->
-        <var-decl name='before_fork' type-id='type-id-28' visibility='default' filepath='../include/urcu/flavor.h' line='33' column='1'/>
+        <var-decl name='before_fork' type-id='type-id-30' visibility='default' filepath='../include/urcu/flavor.h' line='33' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void (void*)* urcu_atfork::after_fork_parent -->
-        <var-decl name='after_fork_parent' type-id='type-id-28' visibility='default' filepath='../include/urcu/flavor.h' line='34' column='1'/>
+        <var-decl name='after_fork_parent' type-id='type-id-30' visibility='default' filepath='../include/urcu/flavor.h' line='34' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- void (void*)* urcu_atfork::after_fork_child -->
-        <var-decl name='after_fork_child' type-id='type-id-28' visibility='default' filepath='../include/urcu/flavor.h' line='35' column='1'/>
+        <var-decl name='after_fork_child' type-id='type-id-30' visibility='default' filepath='../include/urcu/flavor.h' line='35' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- void* urcu_atfork::priv -->
-        <var-decl name='priv' type-id='type-id-29' visibility='default' filepath='../include/urcu/flavor.h' line='36' column='1'/>
+        <var-decl name='priv' type-id='type-id-28' visibility='default' filepath='../include/urcu/flavor.h' line='36' column='1'/>
       </data-member>
     </class-decl>
+    <!-- urcu_atfork* -->
+    <pointer-type-def type-id='type-id-32' size-in-bits='64' id='type-id-33'/>
+    <!-- void (urcu_atfork*)* -->
+    <pointer-type-def type-id='type-id-34' size-in-bits='64' id='type-id-17'/>
+    <!-- const rcu_flavor_struct -->
+    <qualified-type-def type-id='type-id-12' const='yes' id='type-id-35'/>
+    <!-- const rcu_flavor_struct urcu_memb_flavor -->
+    <var-decl name='urcu_memb_flavor' type-id='type-id-35' mangled-name='rcu_flavor_memb' visibility='default' filepath='../include/urcu/flavor.h' line='90' column='1' elf-symbol-id='rcu_flavor_memb'/>
+    <!-- void urcu_memb_defer_exit() -->
+    <function-decl name='urcu_memb_defer_exit' mangled-name='urcu_memb_defer_exit' filepath='src/urcu-defer-impl.h' line='476' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_defer_exit'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_defer_unregister_thread() -->
+    <function-decl name='urcu_memb_defer_unregister_thread' mangled-name='rcu_defer_unregister_thread_memb' filepath='src/urcu-defer-impl.h' line='456' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_unregister_thread_memb'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- int urcu_memb_defer_register_thread() -->
+    <function-decl name='urcu_memb_defer_register_thread' mangled-name='urcu_memb_defer_register_thread' filepath='src/urcu-defer-impl.h' line='432' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_defer_register_thread'>
+      <!-- int -->
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <!-- void urcu_memb_defer_rcu(void (void*)*, void*) -->
+    <function-decl name='urcu_memb_defer_rcu' mangled-name='defer_rcu_memb' filepath='src/urcu-defer-impl.h' line='400' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='defer_rcu_memb'>
+      <!-- parameter of type 'void (void*)*' -->
+      <parameter type-id='type-id-30' name='fct' filepath='src/urcu-defer-impl.h' line='400' column='1'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-28' name='p' filepath='src/urcu-defer-impl.h' line='400' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_defer_barrier() -->
+    <function-decl name='urcu_memb_defer_barrier' mangled-name='rcu_defer_barrier_memb' filepath='src/urcu-defer-impl.h' line='284' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_barrier_memb'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_defer_barrier_thread() -->
+    <function-decl name='urcu_memb_defer_barrier_thread' mangled-name='rcu_defer_barrier_thread_memb' filepath='src/urcu-defer-impl.h' line='262' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_barrier_thread_memb'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_unregister_rculfhash_atfork(urcu_atfork*) -->
+    <function-decl name='urcu_memb_unregister_rculfhash_atfork' mangled-name='urcu_memb_unregister_rculfhash_atfork' filepath='src/urcu-call-rcu-impl.h' line='1056' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_unregister_rculfhash_atfork'>
+      <!-- parameter of type 'urcu_atfork*' -->
+      <parameter type-id='type-id-33' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1056' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_register_rculfhash_atfork(urcu_atfork*) -->
+    <function-decl name='urcu_memb_register_rculfhash_atfork' mangled-name='urcu_register_rculfhash_atfork_memb' filepath='src/urcu-call-rcu-impl.h' line='1044' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_register_rculfhash_atfork_memb'>
+      <!-- parameter of type 'urcu_atfork*' -->
+      <parameter type-id='type-id-33' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1056' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_call_rcu_after_fork_child() -->
+    <function-decl name='urcu_memb_call_rcu_after_fork_child' mangled-name='call_rcu_after_fork_child_memb' filepath='src/urcu-call-rcu-impl.h' line='1000' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_after_fork_child_memb'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_call_rcu_after_fork_parent() -->
+    <function-decl name='urcu_memb_call_rcu_after_fork_parent' mangled-name='urcu_memb_call_rcu_after_fork_parent' filepath='src/urcu-call-rcu-impl.h' line='976' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_call_rcu_after_fork_parent'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_call_rcu_before_fork() -->
+    <function-decl name='urcu_memb_call_rcu_before_fork' mangled-name='urcu_memb_call_rcu_before_fork' filepath='src/urcu-call-rcu-impl.h' line='947' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_call_rcu_before_fork'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_barrier() -->
+    <function-decl name='urcu_memb_barrier' mangled-name='rcu_barrier_memb' filepath='src/urcu-call-rcu-impl.h' line='874' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_barrier_memb'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_free_all_cpu_call_rcu_data() -->
+    <function-decl name='urcu_memb_free_all_cpu_call_rcu_data' mangled-name='urcu_memb_free_all_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='801' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_free_all_cpu_call_rcu_data'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
     <!-- struct call_rcu_data -->
-    <class-decl name='call_rcu_data' size-in-bits='1024' is-struct='yes' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='53' column='1' id='type-id-30'>
+    <class-decl name='call_rcu_data' size-in-bits='1024' is-struct='yes' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='53' column='1' id='type-id-36'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_tail call_rcu_data::cbs_tail -->
-        <var-decl name='cbs_tail' type-id='type-id-31' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='61' column='1'/>
+        <var-decl name='cbs_tail' type-id='type-id-37' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='61' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- cds_wfcq_head call_rcu_data::cbs_head -->
-        <var-decl name='cbs_head' type-id='type-id-32' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='62' column='1'/>
+        <var-decl name='cbs_head' type-id='type-id-38' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='62' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='448'>
         <!-- unsigned long int call_rcu_data::flags -->
       </data-member>
       <data-member access='public' layout-offset-in-bits='512'>
         <!-- int32_t call_rcu_data::futex -->
-        <var-decl name='futex' type-id='type-id-11' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='64' column='1'/>
+        <var-decl name='futex' type-id='type-id-4' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='64' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='576'>
         <!-- unsigned long int call_rcu_data::qlen -->
       </data-member>
       <data-member access='public' layout-offset-in-bits='640'>
         <!-- pthread_t call_rcu_data::tid -->
-        <var-decl name='tid' type-id='type-id-15' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='66' column='1'/>
+        <var-decl name='tid' type-id='type-id-9' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='66' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='704'>
         <!-- int call_rcu_data::cpu_affinity -->
-        <var-decl name='cpu_affinity' type-id='type-id-5' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='67' column='1'/>
+        <var-decl name='cpu_affinity' type-id='type-id-1' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='67' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='768'>
         <!-- unsigned long int call_rcu_data::gp_count -->
       </data-member>
       <data-member access='public' layout-offset-in-bits='832'>
         <!-- cds_list_head call_rcu_data::list -->
-        <var-decl name='list' type-id='type-id-14' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='69' column='1'/>
+        <var-decl name='list' type-id='type-id-8' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='69' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_tail -->
-    <class-decl name='cds_wfcq_tail' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='127' column='1' id='type-id-31'>
+    <class-decl name='cds_wfcq_tail' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='127' column='1' id='type-id-37'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node* cds_wfcq_tail::p -->
-        <var-decl name='p' type-id='type-id-26' visibility='default' filepath='../include/urcu/wfcqueue.h' line='128' column='1'/>
+        <var-decl name='p' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='128' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_head -->
-    <class-decl name='cds_wfcq_head' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='72' column='1' id='type-id-32'>
+    <class-decl name='cds_wfcq_head' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='72' column='1' id='type-id-38'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node cds_wfcq_head::node -->
-        <var-decl name='node' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='73' column='1'/>
+        <var-decl name='node' type-id='type-id-22' visibility='default' filepath='../include/urcu/wfcqueue.h' line='73' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- pthread_mutex_t cds_wfcq_head::lock -->
-        <var-decl name='lock' type-id='type-id-33' visibility='default' filepath='../include/urcu/wfcqueue.h' line='74' column='1'/>
+        <var-decl name='lock' type-id='type-id-39' visibility='default' filepath='../include/urcu/wfcqueue.h' line='74' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __anonymous_union__ pthread_mutex_t -->
-    <typedef-decl name='pthread_mutex_t' type-id='type-id-34' filepath='/usr/include/bits/pthreadtypes.h' line='72' column='1' id='type-id-33'/>
-    <!-- union {__pthread_mutex_s __data; char __size[40]; long int __align;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='67' column='1' id='type-id-34'>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='67' column='1' id='type-id-40'>
       <data-member access='private'>
-        <!-- __pthread_mutex_s __data -->
-        <var-decl name='__data' type-id='type-id-35' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='69' column='1'/>
+        <!-- __pthread_mutex_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-41' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='69' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- char __size[40] -->
-        <var-decl name='__size' type-id='type-id-2' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='70' column='1'/>
+        <!-- char __anonymous_union__::__size[40] -->
+        <var-decl name='__size' type-id='type-id-42' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='70' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- long int __align -->
-        <var-decl name='__align' type-id='type-id-6' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='71' column='1'/>
+        <!-- long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-43' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='71' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __pthread_mutex_s -->
-    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='22' column='1' id='type-id-35'>
+    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='118' column='1' id='type-id-41'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- int __pthread_mutex_s::__lock -->
-        <var-decl name='__lock' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='24' column='1'/>
+        <var-decl name='__lock' type-id='type-id-1' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='120' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='32'>
         <!-- unsigned int __pthread_mutex_s::__count -->
-        <var-decl name='__count' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='25' column='1'/>
+        <var-decl name='__count' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='121' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- int __pthread_mutex_s::__owner -->
-        <var-decl name='__owner' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='26' column='1'/>
+        <var-decl name='__owner' type-id='type-id-1' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='122' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='96'>
         <!-- unsigned int __pthread_mutex_s::__nusers -->
-        <var-decl name='__nusers' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='28' column='1'/>
+        <var-decl name='__nusers' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='124' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- int __pthread_mutex_s::__kind -->
-        <var-decl name='__kind' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='32' column='1'/>
+        <var-decl name='__kind' type-id='type-id-1' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='148' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='160'>
         <!-- short int __pthread_mutex_s::__spins -->
-        <var-decl name='__spins' type-id='type-id-7' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='34' column='1'/>
+        <var-decl name='__spins' type-id='type-id-44' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='176'>
         <!-- short int __pthread_mutex_s::__elision -->
-        <var-decl name='__elision' type-id='type-id-7' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='35' column='1'/>
+        <var-decl name='__elision' type-id='type-id-44' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- __pthread_list_t __pthread_mutex_s::__list -->
-        <var-decl name='__list' type-id='type-id-36' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='36' column='1'/>
+        <var-decl name='__list' type-id='type-id-45' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='155' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __pthread_internal_list __pthread_list_t -->
-    <typedef-decl name='__pthread_list_t' type-id='type-id-37' filepath='/usr/include/bits/thread-shared-types.h' line='53' column='1' id='type-id-36'/>
+    <!-- short int -->
+    <type-decl name='short int' size-in-bits='16' id='type-id-44'/>
     <!-- struct __pthread_internal_list -->
-    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='49' column='1' id='type-id-37'>
+    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='82' column='1' id='type-id-46'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- __pthread_internal_list* __pthread_internal_list::__prev -->
-        <var-decl name='__prev' type-id='type-id-38' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='51' column='1'/>
+        <var-decl name='__prev' type-id='type-id-47' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='84' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- __pthread_internal_list* __pthread_internal_list::__next -->
-        <var-decl name='__next' type-id='type-id-38' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='52' column='1'/>
+        <var-decl name='__next' type-id='type-id-47' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='85' column='1'/>
       </data-member>
     </class-decl>
     <!-- __pthread_internal_list* -->
-    <pointer-type-def type-id='type-id-37' size-in-bits='64' id='type-id-38'/>
+    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-47'/>
+    <!-- typedef __pthread_internal_list __pthread_list_t -->
+    <typedef-decl name='__pthread_list_t' type-id='type-id-46' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='86' column='1' id='type-id-45'/>
+
+    <!-- char[40] -->
+    <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='320' id='type-id-42'>
+      <!-- <anonymous range>[40] -->
+      <subrange length='40' type-id='type-id-3' id='type-id-48'/>
+
+    </array-type-def>
+    <!-- long int -->
+    <type-decl name='long int' size-in-bits='64' id='type-id-43'/>
+    <!-- typedef __anonymous_union__ pthread_mutex_t -->
+    <typedef-decl name='pthread_mutex_t' type-id='type-id-40' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='72' column='1' id='type-id-39'/>
     <!-- call_rcu_data* -->
-    <pointer-type-def type-id='type-id-30' size-in-bits='64' id='type-id-39'/>
-    <!-- cds_list_head* -->
-    <pointer-type-def type-id='type-id-14' size-in-bits='64' id='type-id-16'/>
-    <!-- cds_wfcq_node* -->
-    <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-26'/>
-    <!-- const rcu_flavor_struct -->
-    <qualified-type-def type-id='type-id-17' const='yes' id='type-id-40'/>
-    <!-- int ()* -->
-    <pointer-type-def type-id='type-id-41' size-in-bits='64' id='type-id-19'/>
-    <!-- rcu_head* -->
-    <pointer-type-def type-id='type-id-23' size-in-bits='64' id='type-id-42'/>
-    <!-- urcu_atfork* -->
-    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-43'/>
-    <!-- void ()* -->
-    <pointer-type-def type-id='type-id-44' size-in-bits='64' id='type-id-18'/>
-    <!-- void (rcu_head*)* -->
-    <pointer-type-def type-id='type-id-45' size-in-bits='64' id='type-id-25'/>
-    <!-- void (rcu_head*, void (rcu_head*)*)* -->
-    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-20'/>
-    <!-- void (urcu_atfork*)* -->
-    <pointer-type-def type-id='type-id-47' size-in-bits='64' id='type-id-22'/>
-    <!-- void (void (void*)*, void*)* -->
-    <pointer-type-def type-id='type-id-48' size-in-bits='64' id='type-id-21'/>
-    <!-- void (void*)* -->
-    <pointer-type-def type-id='type-id-49' size-in-bits='64' id='type-id-28'/>
-    <!-- void* -->
-    <pointer-type-def type-id='type-id-9' size-in-bits='64' id='type-id-29'/>
-    <!-- int urcu_memb_has_sys_membarrier -->
-    <var-decl name='urcu_memb_has_sys_membarrier' type-id='type-id-5' mangled-name='rcu_has_sys_membarrier_memb' visibility='default' filepath='../include/urcu/static/urcu-memb.h' line='72' column='1' elf-symbol-id='rcu_has_sys_membarrier_memb'/>
-    <!-- urcu_gp urcu_memb_gp -->
-    <var-decl name='urcu_memb_gp' type-id='type-id-10' mangled-name='urcu_memb_gp' visibility='default' filepath='../include/urcu/static/urcu-memb.h' line='83' column='1' elf-symbol-id='urcu_memb_gp'/>
-    <!-- urcu_reader urcu_memb_reader -->
-    <var-decl name='urcu_memb_reader' type-id='type-id-13' mangled-name='urcu_memb_reader' visibility='default' filepath='../include/urcu/static/urcu-memb.h' line='85' column='1' elf-symbol-id='urcu_memb_reader'/>
-    <!-- const rcu_flavor_struct urcu_memb_flavor -->
-    <var-decl name='urcu_memb_flavor' type-id='type-id-40' mangled-name='rcu_flavor_memb' visibility='default' filepath='../include/urcu/flavor.h' line='90' column='1' elf-symbol-id='rcu_flavor_memb'/>
-    <!-- void urcu_memb_defer_exit() -->
-    <function-decl name='urcu_memb_defer_exit' mangled-name='urcu_memb_defer_exit' filepath='src/urcu-defer-impl.h' line='476' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_defer_exit'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_memb_defer_unregister_thread() -->
-    <function-decl name='urcu_memb_defer_unregister_thread' mangled-name='rcu_defer_unregister_thread_memb' filepath='src/urcu-defer-impl.h' line='456' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_unregister_thread_memb'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- int urcu_memb_defer_register_thread() -->
-    <function-decl name='urcu_memb_defer_register_thread' mangled-name='urcu_memb_defer_register_thread' filepath='src/urcu-defer-impl.h' line='432' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_defer_register_thread'>
-      <!-- int -->
-      <return type-id='type-id-5'/>
-    </function-decl>
-    <!-- void urcu_memb_defer_rcu(void (void*)*, void*) -->
-    <function-decl name='urcu_memb_defer_rcu' mangled-name='defer_rcu_memb' filepath='src/urcu-defer-impl.h' line='400' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='defer_rcu_memb'>
-      <!-- parameter of type 'void (void*)*' -->
-      <parameter type-id='type-id-28' name='fct' filepath='src/urcu-defer-impl.h' line='400' column='1'/>
-      <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='p' filepath='src/urcu-defer-impl.h' line='400' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_memb_defer_barrier() -->
-    <function-decl name='urcu_memb_defer_barrier' mangled-name='rcu_defer_barrier_memb' filepath='src/urcu-defer-impl.h' line='284' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_barrier_memb'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_memb_defer_barrier_thread() -->
-    <function-decl name='urcu_memb_defer_barrier_thread' mangled-name='rcu_defer_barrier_thread_memb' filepath='src/urcu-defer-impl.h' line='262' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_barrier_thread_memb'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_memb_unregister_rculfhash_atfork(urcu_atfork*) -->
-    <function-decl name='urcu_memb_unregister_rculfhash_atfork' mangled-name='urcu_memb_unregister_rculfhash_atfork' filepath='src/urcu-call-rcu-impl.h' line='1056' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_unregister_rculfhash_atfork'>
-      <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-43' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1056' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_memb_register_rculfhash_atfork(urcu_atfork*) -->
-    <function-decl name='urcu_memb_register_rculfhash_atfork' mangled-name='urcu_register_rculfhash_atfork_memb' filepath='src/urcu-call-rcu-impl.h' line='1044' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_register_rculfhash_atfork_memb'>
-      <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-43' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1044' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_memb_call_rcu_after_fork_child() -->
-    <function-decl name='urcu_memb_call_rcu_after_fork_child' mangled-name='call_rcu_after_fork_child_memb' filepath='src/urcu-call-rcu-impl.h' line='1000' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_after_fork_child_memb'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_memb_call_rcu_after_fork_parent() -->
-    <function-decl name='urcu_memb_call_rcu_after_fork_parent' mangled-name='urcu_memb_call_rcu_after_fork_parent' filepath='src/urcu-call-rcu-impl.h' line='976' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_call_rcu_after_fork_parent'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_memb_call_rcu_before_fork() -->
-    <function-decl name='urcu_memb_call_rcu_before_fork' mangled-name='urcu_memb_call_rcu_before_fork' filepath='src/urcu-call-rcu-impl.h' line='947' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_call_rcu_before_fork'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_memb_barrier() -->
-    <function-decl name='urcu_memb_barrier' mangled-name='rcu_barrier_memb' filepath='src/urcu-call-rcu-impl.h' line='874' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_barrier_memb'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_memb_free_all_cpu_call_rcu_data() -->
-    <function-decl name='urcu_memb_free_all_cpu_call_rcu_data' mangled-name='urcu_memb_free_all_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='801' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_free_all_cpu_call_rcu_data'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
+    <pointer-type-def type-id='type-id-36' size-in-bits='64' id='type-id-49'/>
     <!-- void urcu_memb_call_rcu_data_free(call_rcu_data*) -->
     <function-decl name='urcu_memb_call_rcu_data_free' mangled-name='urcu_memb_call_rcu_data_free' filepath='src/urcu-call-rcu-impl.h' line='764' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_call_rcu_data_free'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='764' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='764' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void urcu_memb_call_rcu(rcu_head*, void (rcu_head*)*) -->
     <function-decl name='urcu_memb_call_rcu' mangled-name='urcu_memb_call_rcu' filepath='src/urcu-call-rcu-impl.h' line='725' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_call_rcu'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42' name='head' filepath='src/urcu-call-rcu-impl.h' line='725' column='1'/>
+      <parameter type-id='type-id-25' name='head' filepath='src/urcu-call-rcu-impl.h' line='725' column='1'/>
       <!-- parameter of type 'void (rcu_head*)*' -->
-      <parameter type-id='type-id-25' name='func' filepath='src/urcu-call-rcu-impl.h' line='726' column='1'/>
+      <parameter type-id='type-id-23' name='func' filepath='src/urcu-call-rcu-impl.h' line='726' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- int urcu_memb_create_all_cpu_call_rcu_data(unsigned long int) -->
     <function-decl name='urcu_memb_create_all_cpu_call_rcu_data' mangled-name='create_all_cpu_call_rcu_data_memb' filepath='src/urcu-call-rcu-impl.h' line='645' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='create_all_cpu_call_rcu_data_memb'>
       <!-- parameter of type 'unsigned long int' -->
       <parameter type-id='type-id-3' name='flags' filepath='src/urcu-call-rcu-impl.h' line='645' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
     </function-decl>
     <!-- void urcu_memb_set_thread_call_rcu_data(call_rcu_data*) -->
     <function-decl name='urcu_memb_set_thread_call_rcu_data' mangled-name='set_thread_call_rcu_data_memb' filepath='src/urcu-call-rcu-impl.h' line='630' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='set_thread_call_rcu_data_memb'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='630' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='630' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- call_rcu_data* urcu_memb_get_thread_call_rcu_data() -->
     <function-decl name='urcu_memb_get_thread_call_rcu_data' mangled-name='get_thread_call_rcu_data_memb' filepath='src/urcu-call-rcu-impl.h' line='612' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_thread_call_rcu_data_memb'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- call_rcu_data* urcu_memb_get_call_rcu_data() -->
     <function-decl name='urcu_memb_get_call_rcu_data' mangled-name='get_call_rcu_data_memb' filepath='src/urcu-call-rcu-impl.h' line='590' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_call_rcu_data_memb'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- call_rcu_data* urcu_memb_get_default_call_rcu_data() -->
     <function-decl name='urcu_memb_get_default_call_rcu_data' mangled-name='urcu_memb_get_default_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='563' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_get_default_call_rcu_data'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- int urcu_memb_set_cpu_call_rcu_data(int, call_rcu_data*) -->
     <function-decl name='urcu_memb_set_cpu_call_rcu_data' mangled-name='urcu_memb_set_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='522' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_set_cpu_call_rcu_data'>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='522' column='1'/>
+      <parameter type-id='type-id-1' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='522' column='1'/>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='522' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='522' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
     </function-decl>
     <!-- call_rcu_data* urcu_memb_create_call_rcu_data(unsigned long int, int) -->
     <function-decl name='urcu_memb_create_call_rcu_data' mangled-name='urcu_memb_create_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='498' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_create_call_rcu_data'>
       <!-- parameter of type 'unsigned long int' -->
       <parameter type-id='type-id-3' name='flags' filepath='src/urcu-call-rcu-impl.h' line='498' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu_affinity' filepath='src/urcu-call-rcu-impl.h' line='499' column='1'/>
+      <parameter type-id='type-id-1' name='cpu_affinity' filepath='src/urcu-call-rcu-impl.h' line='499' column='1'/>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- pthread_t urcu_memb_get_call_rcu_thread(call_rcu_data*) -->
     <function-decl name='urcu_memb_get_call_rcu_thread' mangled-name='urcu_memb_get_call_rcu_thread' filepath='src/urcu-call-rcu-impl.h' line='476' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_get_call_rcu_thread'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='476' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='476' column='1'/>
       <!-- typedef pthread_t -->
-      <return type-id='type-id-15'/>
+      <return type-id='type-id-9'/>
     </function-decl>
     <!-- call_rcu_data* urcu_memb_get_cpu_call_rcu_data(int) -->
     <function-decl name='urcu_memb_get_cpu_call_rcu_data' mangled-name='get_cpu_call_rcu_data_memb' filepath='src/urcu-call-rcu-impl.h' line='452' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_cpu_call_rcu_data_memb'>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='452' column='1'/>
+      <parameter type-id='type-id-1' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='452' column='1'/>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- void urcu_memb_init() -->
     <function-decl name='urcu_memb_init' mangled-name='rcu_init_memb' filepath='src/urcu.c' line='613' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_init_memb'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void urcu_memb_unregister_thread() -->
     <function-decl name='urcu_memb_unregister_thread' mangled-name='urcu_memb_unregister_thread' filepath='src/urcu.c' line='563' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_unregister_thread'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void urcu_memb_register_thread() -->
     <function-decl name='urcu_memb_register_thread' mangled-name='urcu_memb_register_thread' filepath='src/urcu.c' line='547' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_register_thread'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- int urcu_memb_read_ongoing() -->
     <function-decl name='urcu_memb_read_ongoing' mangled-name='urcu_memb_read_ongoing' filepath='src/urcu.c' line='540' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_read_ongoing'>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
     </function-decl>
     <!-- void urcu_memb_read_unlock() -->
     <function-decl name='urcu_memb_read_unlock' mangled-name='urcu_memb_read_unlock' filepath='src/urcu.c' line='533' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_read_unlock'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void urcu_memb_read_lock() -->
     <function-decl name='urcu_memb_read_lock' mangled-name='rcu_read_lock_memb' filepath='src/urcu.c' line='526' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_read_lock_memb'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void urcu_memb_synchronize_rcu() -->
     <function-decl name='urcu_memb_synchronize_rcu' mangled-name='urcu_memb_synchronize_rcu' filepath='src/urcu.c' line='403' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_synchronize_rcu'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- int () -->
-    <function-type size-in-bits='64' id='type-id-41'>
+    <function-type size-in-bits='64' id='type-id-20'>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
     </function-type>
     <!-- void () -->
-    <function-type size-in-bits='64' id='type-id-44'>
+    <function-type size-in-bits='64' id='type-id-19'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (rcu_head*) -->
-    <function-type size-in-bits='64' id='type-id-45'>
+    <function-type size-in-bits='64' id='type-id-26'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42'/>
+      <parameter type-id='type-id-25'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (rcu_head*, void (rcu_head*)*) -->
-    <function-type size-in-bits='64' id='type-id-46'>
+    <function-type size-in-bits='64' id='type-id-27'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42'/>
-      <!-- parameter of type 'void (rcu_head*)*' -->
       <parameter type-id='type-id-25'/>
+      <!-- parameter of type 'void (rcu_head*)*' -->
+      <parameter type-id='type-id-23'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (urcu_atfork*) -->
-    <function-type size-in-bits='64' id='type-id-47'>
+    <function-type size-in-bits='64' id='type-id-34'>
       <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-43'/>
+      <parameter type-id='type-id-33'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (void (void*)*, void*) -->
-    <function-type size-in-bits='64' id='type-id-48'>
+    <function-type size-in-bits='64' id='type-id-31'>
       <!-- parameter of type 'void (void*)*' -->
-      <parameter type-id='type-id-28'/>
+      <parameter type-id='type-id-30'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29'/>
+      <parameter type-id='type-id-28'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (void*) -->
-    <function-type size-in-bits='64' id='type-id-49'>
+    <function-type size-in-bits='64' id='type-id-29'>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29'/>
+      <parameter type-id='type-id-28'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='urcu-pointer.c' comp-dir-path='src' language='LANG_C99'>
     <!-- void** -->
-    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-50'/>
+    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-50'/>
     <!-- void* rcu_cmpxchg_pointer_sym(void**, void*, void*) -->
     <function-decl name='rcu_cmpxchg_pointer_sym' mangled-name='rcu_cmpxchg_pointer_sym' filepath='src/urcu-pointer.c' line='53' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_cmpxchg_pointer_sym'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='53' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='old' filepath='src/urcu-pointer.c' line='53' column='1'/>
+      <parameter type-id='type-id-28' name='old' filepath='src/urcu-pointer.c' line='53' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='_new' filepath='src/urcu-pointer.c' line='53' column='1'/>
+      <parameter type-id='type-id-28' name='_new' filepath='src/urcu-pointer.c' line='53' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-28'/>
     </function-decl>
     <!-- void* rcu_xchg_pointer_sym(void**, void*) -->
     <function-decl name='rcu_xchg_pointer_sym' mangled-name='rcu_xchg_pointer_sym' filepath='src/urcu-pointer.c' line='47' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_xchg_pointer_sym'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='47' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='v' filepath='src/urcu-pointer.c' line='47' column='1'/>
+      <parameter type-id='type-id-28' name='v' filepath='src/urcu-pointer.c' line='47' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-28'/>
     </function-decl>
     <!-- void* rcu_set_pointer_sym(void**, void*) -->
     <function-decl name='rcu_set_pointer_sym' mangled-name='rcu_set_pointer_sym' filepath='src/urcu-pointer.c' line='40' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_set_pointer_sym'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='40' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='v' filepath='src/urcu-pointer.c' line='40' column='1'/>
+      <parameter type-id='type-id-28' name='v' filepath='src/urcu-pointer.c' line='40' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-28'/>
     </function-decl>
     <!-- void* rcu_dereference_sym(void*) -->
     <function-decl name='rcu_dereference_sym' mangled-name='rcu_dereference_sym' filepath='src/urcu-pointer.c' line='35' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_dereference_sym'>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='p' filepath='src/urcu-pointer.c' line='35' column='1'/>
+      <parameter type-id='type-id-28' name='p' filepath='src/urcu-pointer.c' line='35' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-28'/>
     </function-decl>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='compat_futex.c' comp-dir-path='src' language='LANG_C99'>
-
-
-    <!-- char[48] -->
-    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='384' id='type-id-51'>
-      <!-- <anonymous range>[48] -->
-      <subrange length='48' type-id='type-id-3' id='type-id-52'/>
-
-    </array-type-def>
-    <!-- long long int -->
-    <type-decl name='long long int' size-in-bits='64' id='type-id-53'/>
-    <!-- long long unsigned int -->
-    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-54'/>
-    <!-- unsigned int[2] -->
-    <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='64' id='type-id-55'>
-      <!-- <anonymous range>[2] -->
-      <subrange length='2' type-id='type-id-3' id='type-id-56'/>
-
-    </array-type-def>
-    <!-- typedef __anonymous_union__ pthread_cond_t -->
-    <typedef-decl name='pthread_cond_t' type-id='type-id-57' filepath='/usr/include/bits/pthreadtypes.h' line='80' column='1' id='type-id-58'/>
-    <!-- union {__pthread_cond_s __data; char __size[48]; long long int __align;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='75' column='1' id='type-id-57'>
+    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
+    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-39' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='75' column='1' id='type-id-51'>
       <data-member access='private'>
-        <!-- __pthread_cond_s __data -->
-        <var-decl name='__data' type-id='type-id-59' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='77' column='1'/>
+        <!-- __pthread_cond_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-52' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='77' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- char __size[48] -->
-        <var-decl name='__size' type-id='type-id-51' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='78' column='1'/>
+        <!-- char __anonymous_union__::__size[48] -->
+        <var-decl name='__size' type-id='type-id-53' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='78' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- long long int __align -->
-        <var-decl name='__align' type-id='type-id-53' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='79' column='1'/>
+        <!-- long long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-54' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='79' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __pthread_cond_s -->
-    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='92' column='1' id='type-id-59'>
+    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='171' column='1' id='type-id-52'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <!-- union {long long unsigned int __wseq; struct {unsigned int __low; unsigned int __high;} __wseq32;} -->
-        <var-decl name='' type-id='type-id-60' visibility='default'/>
+        <!-- __anonymous_union__  -->
+        <var-decl name='' type-id='type-id-55' visibility='default'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- unsigned int __pthread_cond_s::__g_refs[2] -->
-        <var-decl name='__g_refs' type-id='type-id-55' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='112' column='1'/>
+        <var-decl name='__g_refs' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='191' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- unsigned int __pthread_cond_s::__g_size[2] -->
-        <var-decl name='__g_size' type-id='type-id-55' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='113' column='1'/>
+        <var-decl name='__g_size' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='192' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- unsigned int __pthread_cond_s::__g1_orig_size -->
-        <var-decl name='__g1_orig_size' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='114' column='1'/>
+        <var-decl name='__g1_orig_size' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='193' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='288'>
         <!-- unsigned int __pthread_cond_s::__wrefs -->
-        <var-decl name='__wrefs' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='115' column='1'/>
+        <var-decl name='__wrefs' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='194' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
         <!-- unsigned int __pthread_cond_s::__g_signals[2] -->
-        <var-decl name='__g_signals' type-id='type-id-55' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='116' column='1'/>
+        <var-decl name='__g_signals' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='195' column='1'/>
       </data-member>
     </class-decl>
-    <!-- union {long long unsigned int __wseq; struct {unsigned int __low; unsigned int __high;} __wseq32;} -->
-    <union-decl name='__anonymous_union__1' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='94' column='1' id='type-id-60'>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='173' column='1' id='type-id-55'>
       <data-member access='private'>
-        <!-- long long unsigned int __wseq -->
-        <var-decl name='__wseq' type-id='type-id-54' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='96' column='1'/>
+        <!-- long long unsigned int __anonymous_union__::__wseq -->
+        <var-decl name='__wseq' type-id='type-id-57' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='175' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- struct {unsigned int __low; unsigned int __high;} __wseq32 -->
-        <var-decl name='__wseq32' type-id='type-id-61' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='101' column='1'/>
+        <!-- __anonymous_struct__ __anonymous_union__::__wseq32 -->
+        <var-decl name='__wseq32' type-id='type-id-58' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='180' column='1'/>
       </data-member>
     </union-decl>
-    <!-- struct {unsigned int __low; unsigned int __high;} -->
-    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='97' column='1' id='type-id-61'>
+    <!-- long long unsigned int -->
+    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-57'/>
+    <!-- struct __anonymous_struct__ -->
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='176' column='1' id='type-id-58'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <!-- unsigned int __low -->
-        <var-decl name='__low' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='99' column='1'/>
+        <!-- unsigned int __anonymous_struct__::__low -->
+        <var-decl name='__low' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='178' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='32'>
-        <!-- unsigned int __high -->
-        <var-decl name='__high' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='100' column='1'/>
+        <!-- unsigned int __anonymous_struct__::__high -->
+        <var-decl name='__high' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='179' column='1'/>
       </data-member>
     </class-decl>
+
+    <!-- unsigned int[2] -->
+    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='64' id='type-id-56'>
+      <!-- <anonymous range>[2] -->
+      <subrange length='2' type-id='type-id-3' id='type-id-59'/>
+
+    </array-type-def>
+
+    <!-- char[48] -->
+    <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='384' id='type-id-53'>
+      <!-- <anonymous range>[48] -->
+      <subrange length='48' type-id='type-id-3' id='type-id-60'/>
+
+    </array-type-def>
+    <!-- long long int -->
+    <type-decl name='long long int' size-in-bits='64' id='type-id-54'/>
+    <!-- typedef __anonymous_union__ pthread_cond_t -->
+    <typedef-decl name='pthread_cond_t' type-id='type-id-51' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='80' column='1' id='type-id-61'/>
+    <!-- pthread_cond_t __urcu_compat_futex_cond -->
+    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-61' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
+    <!-- int32_t* -->
+    <pointer-type-def type-id='type-id-4' size-in-bits='64' id='type-id-62'/>
     <!-- struct timespec -->
-    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='10' column='1' id='type-id-62'>
+    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='9' column='1' id='type-id-63'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- __time_t timespec::tv_sec -->
-        <var-decl name='tv_sec' type-id='type-id-63' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='12' column='1'/>
+        <var-decl name='tv_sec' type-id='type-id-64' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='11' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- __syscall_slong_t timespec::tv_nsec -->
-        <var-decl name='tv_nsec' type-id='type-id-64' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='16' column='1'/>
+        <var-decl name='tv_nsec' type-id='type-id-65' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='12' column='1'/>
       </data-member>
     </class-decl>
     <!-- typedef long int __time_t -->
-    <typedef-decl name='__time_t' type-id='type-id-6' filepath='/usr/include/bits/types.h' line='160' column='1' id='type-id-63'/>
+    <typedef-decl name='__time_t' type-id='type-id-43' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='148' column='1' id='type-id-64'/>
     <!-- typedef long int __syscall_slong_t -->
-    <typedef-decl name='__syscall_slong_t' type-id='type-id-6' filepath='/usr/include/bits/types.h' line='197' column='1' id='type-id-64'/>
+    <typedef-decl name='__syscall_slong_t' type-id='type-id-43' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='184' column='1' id='type-id-65'/>
     <!-- const timespec -->
-    <qualified-type-def type-id='type-id-62' const='yes' id='type-id-65'/>
+    <qualified-type-def type-id='type-id-63' const='yes' id='type-id-66'/>
     <!-- const timespec* -->
-    <pointer-type-def type-id='type-id-65' size-in-bits='64' id='type-id-66'/>
-    <!-- int32_t* -->
-    <pointer-type-def type-id='type-id-11' size-in-bits='64' id='type-id-67'/>
-    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
-    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-33' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
-    <!-- pthread_cond_t __urcu_compat_futex_cond -->
-    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-58' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
+    <pointer-type-def type-id='type-id-66' size-in-bits='64' id='type-id-67'/>
     <!-- int compat_futex_async(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
     <function-decl name='compat_futex_async' mangled-name='compat_futex_async' filepath='src/compat_futex.c' line='118' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_async'>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-1' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-4' name='val' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'const timespec*' -->
-      <parameter type-id='type-id-66' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-67' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val3' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-4' name='val3' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
     </function-decl>
     <!-- int compat_futex_noasync(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
     <function-decl name='compat_futex_noasync' mangled-name='compat_futex_noasync' filepath='src/compat_futex.c' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_noasync'>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-1' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-4' name='val' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'const timespec*' -->
-      <parameter type-id='type-id-66' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-67' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val3' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-4' name='val3' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
     </function-decl>
   </abi-instr>
 </abi-corpus>
index 72799834695e286eb9ef0828da717ddc6376b226..56238332b2d9fbeabcc4eddb78bed35cdf85f10b 100644 (file)
@@ -1,11 +1,14 @@
 <abi-corpus architecture='elf-amd-x86_64' soname='liburcu-qsbr.so.6'>
   <elf-needed>
-    <dependency name='liburcu-common.so.6'/>
     <dependency name='libpthread.so.0'/>
     <dependency name='libc.so.6'/>
     <dependency name='ld-linux-x86-64.so.2'/>
   </elf-needed>
   <elf-function-symbols>
+    <!-- _fini -->
+    <elf-symbol name='_fini' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- _init -->
+    <elf-symbol name='_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- call_rcu_after_fork_child_qsbr -->
     <elf-symbol name='call_rcu_after_fork_child_qsbr' type='func-type' binding='global-binding' visibility='default-visibility' alias='urcu_qsbr_call_rcu_after_fork_child' is-defined='yes'/>
     <!-- call_rcu_after_fork_parent_qsbr -->
     <elf-symbol name='urcu_qsbr_reader' size='256' type='tls-type' binding='global-binding' visibility='default-visibility' alias='rcu_reader_qsbr' is-defined='yes'/>
   </elf-variable-symbols>
   <abi-instr version='1.0' address-size='64' path='urcu-qsbr.c' comp-dir-path='src' language='LANG_C99'>
-
-    <!-- char -->
-    <type-decl name='char' size-in-bits='8' id='type-id-1'/>
-    <!-- char[40] -->
-    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='320' id='type-id-2'>
-      <!-- <anonymous range>[40] -->
-      <subrange length='40' type-id='type-id-3' id='type-id-4'/>
-
-    </array-type-def>
-    <!-- int -->
-    <type-decl name='int' size-in-bits='32' id='type-id-5'/>
-    <!-- long int -->
-    <type-decl name='long int' size-in-bits='64' id='type-id-6'/>
-    <!-- short int -->
-    <type-decl name='short int' size-in-bits='16' id='type-id-7'/>
-    <!-- unsigned int -->
-    <type-decl name='unsigned int' size-in-bits='32' id='type-id-8'/>
-    <!-- unsigned long int -->
-    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-3'/>
-    <!-- void -->
-    <type-decl name='void' id='type-id-9'/>
     <!-- struct urcu_gp -->
-    <class-decl name='urcu_gp' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='67' column='1' id='type-id-10'>
+    <class-decl name='urcu_gp' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='67' column='1' id='type-id-1'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned long int urcu_gp::ctr -->
-        <var-decl name='ctr' type-id='type-id-3' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='75' column='1'/>
+        <var-decl name='ctr' type-id='type-id-2' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='75' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- int32_t urcu_gp::futex -->
-        <var-decl name='futex' type-id='type-id-11' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='77' column='1'/>
+        <var-decl name='futex' type-id='type-id-3' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='77' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __int32_t int32_t -->
-    <typedef-decl name='int32_t' type-id='type-id-12' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-11'/>
+    <!-- unsigned long int -->
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-2'/>
+    <!-- int -->
+    <type-decl name='int' size-in-bits='32' id='type-id-4'/>
     <!-- typedef int __int32_t -->
-    <typedef-decl name='__int32_t' type-id='type-id-5' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-12'/>
+    <typedef-decl name='__int32_t' type-id='type-id-4' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='40' column='1' id='type-id-5'/>
+    <!-- typedef __int32_t int32_t -->
+    <typedef-decl name='int32_t' type-id='type-id-5' filepath='/usr/include/x86_64-linux-gnu/bits/stdint-intn.h' line='26' column='1' id='type-id-3'/>
+    <!-- urcu_gp urcu_qsbr_gp -->
+    <var-decl name='urcu_qsbr_gp' type-id='type-id-1' mangled-name='rcu_gp_qsbr' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='63' column='1' elf-symbol-id='rcu_gp_qsbr'/>
     <!-- struct urcu_qsbr_reader -->
-    <class-decl name='urcu_qsbr_reader' size-in-bits='2048' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='65' column='1' id='type-id-13'>
+    <class-decl name='urcu_qsbr_reader' size-in-bits='2048' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='65' column='1' id='type-id-6'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned long int urcu_qsbr_reader::ctr -->
-        <var-decl name='ctr' type-id='type-id-3' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='67' column='1'/>
+        <var-decl name='ctr' type-id='type-id-2' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='67' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1024'>
         <!-- cds_list_head urcu_qsbr_reader::node -->
-        <var-decl name='node' type-id='type-id-14' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='69' column='1'/>
+        <var-decl name='node' type-id='type-id-7' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='69' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1152'>
         <!-- int urcu_qsbr_reader::waiting -->
-        <var-decl name='waiting' type-id='type-id-5' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='70' column='1'/>
+        <var-decl name='waiting' type-id='type-id-4' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='70' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1216'>
         <!-- pthread_t urcu_qsbr_reader::tid -->
-        <var-decl name='tid' type-id='type-id-15' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='71' column='1'/>
+        <var-decl name='tid' type-id='type-id-8' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='71' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='31'>
         <!-- unsigned int urcu_qsbr_reader::registered -->
-        <var-decl name='registered' type-id='type-id-8' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='73' column='1'/>
+        <var-decl name='registered' type-id='type-id-9' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='73' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_list_head -->
-    <class-decl name='cds_list_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/list.h' line='37' column='1' id='type-id-14'>
+    <class-decl name='cds_list_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/list.h' line='37' column='1' id='type-id-7'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_list_head* cds_list_head::next -->
-        <var-decl name='next' type-id='type-id-16' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
+        <var-decl name='next' type-id='type-id-10' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- cds_list_head* cds_list_head::prev -->
-        <var-decl name='prev' type-id='type-id-16' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
+        <var-decl name='prev' type-id='type-id-10' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_list_head* -->
+    <pointer-type-def type-id='type-id-7' size-in-bits='64' id='type-id-10'/>
     <!-- typedef unsigned long int pthread_t -->
-    <typedef-decl name='pthread_t' type-id='type-id-3' filepath='/usr/include/bits/pthreadtypes.h' line='27' column='1' id='type-id-15'/>
+    <typedef-decl name='pthread_t' type-id='type-id-2' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='27' column='1' id='type-id-8'/>
+    <!-- unsigned int -->
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-9'/>
+    <!-- urcu_qsbr_reader urcu_qsbr_reader -->
+    <var-decl name='urcu_qsbr_reader' type-id='type-id-6' mangled-name='urcu_qsbr_reader' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='76' column='1' elf-symbol-id='urcu_qsbr_reader'/>
     <!-- struct rcu_flavor_struct -->
-    <class-decl name='rcu_flavor_struct' size-in-bits='896' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='42' column='1' id='type-id-17'>
+    <class-decl name='rcu_flavor_struct' size-in-bits='896' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='42' column='1' id='type-id-11'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- void ()* rcu_flavor_struct::read_lock -->
-        <var-decl name='read_lock' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='43' column='1'/>
+        <var-decl name='read_lock' type-id='type-id-12' visibility='default' filepath='../include/urcu/flavor.h' line='43' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void ()* rcu_flavor_struct::read_unlock -->
-        <var-decl name='read_unlock' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='44' column='1'/>
+        <var-decl name='read_unlock' type-id='type-id-12' visibility='default' filepath='../include/urcu/flavor.h' line='44' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- int ()* rcu_flavor_struct::read_ongoing -->
-        <var-decl name='read_ongoing' type-id='type-id-19' visibility='default' filepath='../include/urcu/flavor.h' line='45' column='1'/>
+        <var-decl name='read_ongoing' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='45' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- void ()* rcu_flavor_struct::read_quiescent_state -->
-        <var-decl name='read_quiescent_state' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='46' column='1'/>
+        <var-decl name='read_quiescent_state' type-id='type-id-12' visibility='default' filepath='../include/urcu/flavor.h' line='46' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- void (rcu_head*, void (rcu_head*)*)* rcu_flavor_struct::update_call_rcu -->
-        <var-decl name='update_call_rcu' type-id='type-id-20' visibility='default' filepath='../include/urcu/flavor.h' line='47' column='1'/>
+        <var-decl name='update_call_rcu' type-id='type-id-14' visibility='default' filepath='../include/urcu/flavor.h' line='47' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
         <!-- void ()* rcu_flavor_struct::update_synchronize_rcu -->
-        <var-decl name='update_synchronize_rcu' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='49' column='1'/>
+        <var-decl name='update_synchronize_rcu' type-id='type-id-12' visibility='default' filepath='../include/urcu/flavor.h' line='49' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='384'>
         <!-- void (void (void*)*, void*)* rcu_flavor_struct::update_defer_rcu -->
-        <var-decl name='update_defer_rcu' type-id='type-id-21' visibility='default' filepath='../include/urcu/flavor.h' line='50' column='1'/>
+        <var-decl name='update_defer_rcu' type-id='type-id-15' visibility='default' filepath='../include/urcu/flavor.h' line='50' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='448'>
         <!-- void ()* rcu_flavor_struct::thread_offline -->
-        <var-decl name='thread_offline' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='52' column='1'/>
+        <var-decl name='thread_offline' type-id='type-id-12' visibility='default' filepath='../include/urcu/flavor.h' line='52' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='512'>
         <!-- void ()* rcu_flavor_struct::thread_online -->
-        <var-decl name='thread_online' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='53' column='1'/>
+        <var-decl name='thread_online' type-id='type-id-12' visibility='default' filepath='../include/urcu/flavor.h' line='53' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='576'>
         <!-- void ()* rcu_flavor_struct::register_thread -->
-        <var-decl name='register_thread' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='54' column='1'/>
+        <var-decl name='register_thread' type-id='type-id-12' visibility='default' filepath='../include/urcu/flavor.h' line='54' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='640'>
         <!-- void ()* rcu_flavor_struct::unregister_thread -->
-        <var-decl name='unregister_thread' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='55' column='1'/>
+        <var-decl name='unregister_thread' type-id='type-id-12' visibility='default' filepath='../include/urcu/flavor.h' line='55' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='704'>
         <!-- void ()* rcu_flavor_struct::barrier -->
-        <var-decl name='barrier' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='57' column='1'/>
+        <var-decl name='barrier' type-id='type-id-12' visibility='default' filepath='../include/urcu/flavor.h' line='57' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='768'>
         <!-- void (urcu_atfork*)* rcu_flavor_struct::register_rculfhash_atfork -->
-        <var-decl name='register_rculfhash_atfork' type-id='type-id-22' visibility='default' filepath='../include/urcu/flavor.h' line='59' column='1'/>
+        <var-decl name='register_rculfhash_atfork' type-id='type-id-16' visibility='default' filepath='../include/urcu/flavor.h' line='59' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='832'>
         <!-- void (urcu_atfork*)* rcu_flavor_struct::unregister_rculfhash_atfork -->
-        <var-decl name='unregister_rculfhash_atfork' type-id='type-id-22' visibility='default' filepath='../include/urcu/flavor.h' line='60' column='1'/>
+        <var-decl name='unregister_rculfhash_atfork' type-id='type-id-16' visibility='default' filepath='../include/urcu/flavor.h' line='60' column='1'/>
       </data-member>
     </class-decl>
+    <!-- void -->
+    <type-decl name='void' id='type-id-17'/>
+    <!-- void ()* -->
+    <pointer-type-def type-id='type-id-18' size-in-bits='64' id='type-id-12'/>
+    <!-- int ()* -->
+    <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-13'/>
     <!-- struct rcu_head -->
-    <class-decl name='rcu_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/call-rcu.h' line='57' column='1' id='type-id-23'>
+    <class-decl name='rcu_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/call-rcu.h' line='57' column='1' id='type-id-20'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node rcu_head::next -->
-        <var-decl name='next' type-id='type-id-24' visibility='default' filepath='../include/urcu/call-rcu.h' line='58' column='1'/>
+        <var-decl name='next' type-id='type-id-21' visibility='default' filepath='../include/urcu/call-rcu.h' line='58' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void (rcu_head*)* rcu_head::func -->
-        <var-decl name='func' type-id='type-id-25' visibility='default' filepath='../include/urcu/call-rcu.h' line='59' column='1'/>
+        <var-decl name='func' type-id='type-id-22' visibility='default' filepath='../include/urcu/call-rcu.h' line='59' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_node -->
-    <class-decl name='cds_wfcq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='59' column='1' id='type-id-24'>
+    <class-decl name='cds_wfcq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='59' column='1' id='type-id-21'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node* cds_wfcq_node::next -->
-        <var-decl name='next' type-id='type-id-26' visibility='default' filepath='../include/urcu/wfcqueue.h' line='60' column='1'/>
+        <var-decl name='next' type-id='type-id-23' visibility='default' filepath='../include/urcu/wfcqueue.h' line='60' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_wfcq_node* -->
+    <pointer-type-def type-id='type-id-21' size-in-bits='64' id='type-id-23'/>
+    <!-- rcu_head* -->
+    <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-24'/>
+    <!-- void (rcu_head*)* -->
+    <pointer-type-def type-id='type-id-25' size-in-bits='64' id='type-id-22'/>
+    <!-- void (rcu_head*, void (rcu_head*)*)* -->
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-14'/>
+    <!-- void* -->
+    <pointer-type-def type-id='type-id-17' size-in-bits='64' id='type-id-27'/>
+    <!-- void (void*)* -->
+    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-29'/>
+    <!-- void (void (void*)*, void*)* -->
+    <pointer-type-def type-id='type-id-30' size-in-bits='64' id='type-id-15'/>
     <!-- struct urcu_atfork -->
-    <class-decl name='urcu_atfork' size-in-bits='256' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='32' column='1' id='type-id-27'>
+    <class-decl name='urcu_atfork' size-in-bits='256' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='32' column='1' id='type-id-31'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- void (void*)* urcu_atfork::before_fork -->
-        <var-decl name='before_fork' type-id='type-id-28' visibility='default' filepath='../include/urcu/flavor.h' line='33' column='1'/>
+        <var-decl name='before_fork' type-id='type-id-29' visibility='default' filepath='../include/urcu/flavor.h' line='33' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void (void*)* urcu_atfork::after_fork_parent -->
-        <var-decl name='after_fork_parent' type-id='type-id-28' visibility='default' filepath='../include/urcu/flavor.h' line='34' column='1'/>
+        <var-decl name='after_fork_parent' type-id='type-id-29' visibility='default' filepath='../include/urcu/flavor.h' line='34' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- void (void*)* urcu_atfork::after_fork_child -->
-        <var-decl name='after_fork_child' type-id='type-id-28' visibility='default' filepath='../include/urcu/flavor.h' line='35' column='1'/>
+        <var-decl name='after_fork_child' type-id='type-id-29' visibility='default' filepath='../include/urcu/flavor.h' line='35' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- void* urcu_atfork::priv -->
-        <var-decl name='priv' type-id='type-id-29' visibility='default' filepath='../include/urcu/flavor.h' line='36' column='1'/>
+        <var-decl name='priv' type-id='type-id-27' visibility='default' filepath='../include/urcu/flavor.h' line='36' column='1'/>
       </data-member>
     </class-decl>
+    <!-- urcu_atfork* -->
+    <pointer-type-def type-id='type-id-31' size-in-bits='64' id='type-id-32'/>
+    <!-- void (urcu_atfork*)* -->
+    <pointer-type-def type-id='type-id-33' size-in-bits='64' id='type-id-16'/>
+    <!-- const rcu_flavor_struct -->
+    <qualified-type-def type-id='type-id-11' const='yes' id='type-id-34'/>
+    <!-- const rcu_flavor_struct urcu_qsbr_flavor -->
+    <var-decl name='urcu_qsbr_flavor' type-id='type-id-34' mangled-name='urcu_qsbr_flavor' visibility='default' filepath='../include/urcu/flavor.h' line='90' column='1' elf-symbol-id='urcu_qsbr_flavor'/>
+    <!-- void urcu_qsbr_defer_exit() -->
+    <function-decl name='urcu_qsbr_defer_exit' mangled-name='urcu_qsbr_defer_exit' filepath='src/urcu-defer-impl.h' line='476' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_defer_exit'>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <!-- void urcu_qsbr_defer_unregister_thread() -->
+    <function-decl name='urcu_qsbr_defer_unregister_thread' mangled-name='urcu_qsbr_defer_unregister_thread' filepath='src/urcu-defer-impl.h' line='456' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_defer_unregister_thread'>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <!-- int urcu_qsbr_defer_register_thread() -->
+    <function-decl name='urcu_qsbr_defer_register_thread' mangled-name='urcu_qsbr_defer_register_thread' filepath='src/urcu-defer-impl.h' line='432' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_defer_register_thread'>
+      <!-- int -->
+      <return type-id='type-id-4'/>
+    </function-decl>
+    <!-- void urcu_qsbr_defer_rcu(void (void*)*, void*) -->
+    <function-decl name='urcu_qsbr_defer_rcu' mangled-name='defer_rcu_qsbr' filepath='src/urcu-defer-impl.h' line='400' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='defer_rcu_qsbr'>
+      <!-- parameter of type 'void (void*)*' -->
+      <parameter type-id='type-id-29' name='fct' filepath='src/urcu-defer-impl.h' line='400' column='1'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-27' name='p' filepath='src/urcu-defer-impl.h' line='400' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <!-- void urcu_qsbr_defer_barrier() -->
+    <function-decl name='urcu_qsbr_defer_barrier' mangled-name='rcu_defer_barrier_qsbr' filepath='src/urcu-defer-impl.h' line='284' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_barrier_qsbr'>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <!-- void urcu_qsbr_defer_barrier_thread() -->
+    <function-decl name='urcu_qsbr_defer_barrier_thread' mangled-name='rcu_defer_barrier_thread_qsbr' filepath='src/urcu-defer-impl.h' line='262' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_barrier_thread_qsbr'>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <!-- void urcu_qsbr_unregister_rculfhash_atfork(urcu_atfork*) -->
+    <function-decl name='urcu_qsbr_unregister_rculfhash_atfork' mangled-name='urcu_unregister_rculfhash_atfork_qsbr' filepath='src/urcu-call-rcu-impl.h' line='1056' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_unregister_rculfhash_atfork_qsbr'>
+      <!-- parameter of type 'urcu_atfork*' -->
+      <parameter type-id='type-id-32' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1056' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <!-- void urcu_qsbr_register_rculfhash_atfork(urcu_atfork*) -->
+    <function-decl name='urcu_qsbr_register_rculfhash_atfork' mangled-name='urcu_register_rculfhash_atfork_qsbr' filepath='src/urcu-call-rcu-impl.h' line='1044' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_register_rculfhash_atfork_qsbr'>
+      <!-- parameter of type 'urcu_atfork*' -->
+      <parameter type-id='type-id-32' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1056' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <!-- void urcu_qsbr_call_rcu_after_fork_child() -->
+    <function-decl name='urcu_qsbr_call_rcu_after_fork_child' mangled-name='call_rcu_after_fork_child_qsbr' filepath='src/urcu-call-rcu-impl.h' line='1000' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_after_fork_child_qsbr'>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <!-- void urcu_qsbr_call_rcu_after_fork_parent() -->
+    <function-decl name='urcu_qsbr_call_rcu_after_fork_parent' mangled-name='urcu_qsbr_call_rcu_after_fork_parent' filepath='src/urcu-call-rcu-impl.h' line='976' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_call_rcu_after_fork_parent'>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <!-- void urcu_qsbr_call_rcu_before_fork() -->
+    <function-decl name='urcu_qsbr_call_rcu_before_fork' mangled-name='call_rcu_before_fork_qsbr' filepath='src/urcu-call-rcu-impl.h' line='947' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_before_fork_qsbr'>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <!-- void urcu_qsbr_barrier() -->
+    <function-decl name='urcu_qsbr_barrier' mangled-name='urcu_qsbr_barrier' filepath='src/urcu-call-rcu-impl.h' line='874' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_barrier'>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <!-- void urcu_qsbr_free_all_cpu_call_rcu_data() -->
+    <function-decl name='urcu_qsbr_free_all_cpu_call_rcu_data' mangled-name='free_all_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='801' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='free_all_cpu_call_rcu_data'>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
     <!-- struct call_rcu_data -->
-    <class-decl name='call_rcu_data' size-in-bits='1024' is-struct='yes' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='53' column='1' id='type-id-30'>
+    <class-decl name='call_rcu_data' size-in-bits='1024' is-struct='yes' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='53' column='1' id='type-id-35'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_tail call_rcu_data::cbs_tail -->
-        <var-decl name='cbs_tail' type-id='type-id-31' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='61' column='1'/>
+        <var-decl name='cbs_tail' type-id='type-id-36' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='61' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- cds_wfcq_head call_rcu_data::cbs_head -->
-        <var-decl name='cbs_head' type-id='type-id-32' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='62' column='1'/>
+        <var-decl name='cbs_head' type-id='type-id-37' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='62' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='448'>
         <!-- unsigned long int call_rcu_data::flags -->
-        <var-decl name='flags' type-id='type-id-3' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='63' column='1'/>
+        <var-decl name='flags' type-id='type-id-2' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='63' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='512'>
         <!-- int32_t call_rcu_data::futex -->
-        <var-decl name='futex' type-id='type-id-11' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='64' column='1'/>
+        <var-decl name='futex' type-id='type-id-3' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='64' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='576'>
         <!-- unsigned long int call_rcu_data::qlen -->
-        <var-decl name='qlen' type-id='type-id-3' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='65' column='1'/>
+        <var-decl name='qlen' type-id='type-id-2' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='65' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='640'>
         <!-- pthread_t call_rcu_data::tid -->
-        <var-decl name='tid' type-id='type-id-15' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='66' column='1'/>
+        <var-decl name='tid' type-id='type-id-8' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='66' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='704'>
         <!-- int call_rcu_data::cpu_affinity -->
-        <var-decl name='cpu_affinity' type-id='type-id-5' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='67' column='1'/>
+        <var-decl name='cpu_affinity' type-id='type-id-4' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='67' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='768'>
         <!-- unsigned long int call_rcu_data::gp_count -->
-        <var-decl name='gp_count' type-id='type-id-3' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='68' column='1'/>
+        <var-decl name='gp_count' type-id='type-id-2' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='68' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='832'>
         <!-- cds_list_head call_rcu_data::list -->
-        <var-decl name='list' type-id='type-id-14' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='69' column='1'/>
+        <var-decl name='list' type-id='type-id-7' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='69' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_tail -->
-    <class-decl name='cds_wfcq_tail' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='127' column='1' id='type-id-31'>
+    <class-decl name='cds_wfcq_tail' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='127' column='1' id='type-id-36'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node* cds_wfcq_tail::p -->
-        <var-decl name='p' type-id='type-id-26' visibility='default' filepath='../include/urcu/wfcqueue.h' line='128' column='1'/>
+        <var-decl name='p' type-id='type-id-23' visibility='default' filepath='../include/urcu/wfcqueue.h' line='128' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_head -->
-    <class-decl name='cds_wfcq_head' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='72' column='1' id='type-id-32'>
+    <class-decl name='cds_wfcq_head' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='72' column='1' id='type-id-37'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node cds_wfcq_head::node -->
-        <var-decl name='node' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='73' column='1'/>
+        <var-decl name='node' type-id='type-id-21' visibility='default' filepath='../include/urcu/wfcqueue.h' line='73' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- pthread_mutex_t cds_wfcq_head::lock -->
-        <var-decl name='lock' type-id='type-id-33' visibility='default' filepath='../include/urcu/wfcqueue.h' line='74' column='1'/>
+        <var-decl name='lock' type-id='type-id-38' visibility='default' filepath='../include/urcu/wfcqueue.h' line='74' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __anonymous_union__ pthread_mutex_t -->
-    <typedef-decl name='pthread_mutex_t' type-id='type-id-34' filepath='/usr/include/bits/pthreadtypes.h' line='72' column='1' id='type-id-33'/>
-    <!-- union {__pthread_mutex_s __data; char __size[40]; long int __align;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='67' column='1' id='type-id-34'>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='67' column='1' id='type-id-39'>
       <data-member access='private'>
-        <!-- __pthread_mutex_s __data -->
-        <var-decl name='__data' type-id='type-id-35' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='69' column='1'/>
+        <!-- __pthread_mutex_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-40' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='69' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- char __size[40] -->
-        <var-decl name='__size' type-id='type-id-2' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='70' column='1'/>
+        <!-- char __anonymous_union__::__size[40] -->
+        <var-decl name='__size' type-id='type-id-41' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='70' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- long int __align -->
-        <var-decl name='__align' type-id='type-id-6' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='71' column='1'/>
+        <!-- long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-42' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='71' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __pthread_mutex_s -->
-    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='22' column='1' id='type-id-35'>
+    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='118' column='1' id='type-id-40'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- int __pthread_mutex_s::__lock -->
-        <var-decl name='__lock' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='24' column='1'/>
+        <var-decl name='__lock' type-id='type-id-4' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='120' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='32'>
         <!-- unsigned int __pthread_mutex_s::__count -->
-        <var-decl name='__count' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='25' column='1'/>
+        <var-decl name='__count' type-id='type-id-9' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='121' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- int __pthread_mutex_s::__owner -->
-        <var-decl name='__owner' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='26' column='1'/>
+        <var-decl name='__owner' type-id='type-id-4' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='122' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='96'>
         <!-- unsigned int __pthread_mutex_s::__nusers -->
-        <var-decl name='__nusers' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='28' column='1'/>
+        <var-decl name='__nusers' type-id='type-id-9' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='124' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- int __pthread_mutex_s::__kind -->
-        <var-decl name='__kind' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='32' column='1'/>
+        <var-decl name='__kind' type-id='type-id-4' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='148' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='160'>
         <!-- short int __pthread_mutex_s::__spins -->
-        <var-decl name='__spins' type-id='type-id-7' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='34' column='1'/>
+        <var-decl name='__spins' type-id='type-id-43' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='176'>
         <!-- short int __pthread_mutex_s::__elision -->
-        <var-decl name='__elision' type-id='type-id-7' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='35' column='1'/>
+        <var-decl name='__elision' type-id='type-id-43' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- __pthread_list_t __pthread_mutex_s::__list -->
-        <var-decl name='__list' type-id='type-id-36' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='36' column='1'/>
+        <var-decl name='__list' type-id='type-id-44' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='155' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __pthread_internal_list __pthread_list_t -->
-    <typedef-decl name='__pthread_list_t' type-id='type-id-37' filepath='/usr/include/bits/thread-shared-types.h' line='53' column='1' id='type-id-36'/>
+    <!-- short int -->
+    <type-decl name='short int' size-in-bits='16' id='type-id-43'/>
     <!-- struct __pthread_internal_list -->
-    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='49' column='1' id='type-id-37'>
+    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='82' column='1' id='type-id-45'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- __pthread_internal_list* __pthread_internal_list::__prev -->
-        <var-decl name='__prev' type-id='type-id-38' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='51' column='1'/>
+        <var-decl name='__prev' type-id='type-id-46' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='84' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- __pthread_internal_list* __pthread_internal_list::__next -->
-        <var-decl name='__next' type-id='type-id-38' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='52' column='1'/>
+        <var-decl name='__next' type-id='type-id-46' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='85' column='1'/>
       </data-member>
     </class-decl>
     <!-- __pthread_internal_list* -->
-    <pointer-type-def type-id='type-id-37' size-in-bits='64' id='type-id-38'/>
+    <pointer-type-def type-id='type-id-45' size-in-bits='64' id='type-id-46'/>
+    <!-- typedef __pthread_internal_list __pthread_list_t -->
+    <typedef-decl name='__pthread_list_t' type-id='type-id-45' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='86' column='1' id='type-id-44'/>
+    <!-- char -->
+    <type-decl name='char' size-in-bits='8' id='type-id-47'/>
+
+    <!-- char[40] -->
+    <array-type-def dimensions='1' type-id='type-id-47' size-in-bits='320' id='type-id-41'>
+      <!-- <anonymous range>[40] -->
+      <subrange length='40' type-id='type-id-2' id='type-id-48'/>
+
+    </array-type-def>
+    <!-- long int -->
+    <type-decl name='long int' size-in-bits='64' id='type-id-42'/>
+    <!-- typedef __anonymous_union__ pthread_mutex_t -->
+    <typedef-decl name='pthread_mutex_t' type-id='type-id-39' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='72' column='1' id='type-id-38'/>
     <!-- call_rcu_data* -->
-    <pointer-type-def type-id='type-id-30' size-in-bits='64' id='type-id-39'/>
-    <!-- cds_list_head* -->
-    <pointer-type-def type-id='type-id-14' size-in-bits='64' id='type-id-16'/>
-    <!-- cds_wfcq_node* -->
-    <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-26'/>
-    <!-- const rcu_flavor_struct -->
-    <qualified-type-def type-id='type-id-17' const='yes' id='type-id-40'/>
-    <!-- int ()* -->
-    <pointer-type-def type-id='type-id-41' size-in-bits='64' id='type-id-19'/>
-    <!-- rcu_head* -->
-    <pointer-type-def type-id='type-id-23' size-in-bits='64' id='type-id-42'/>
-    <!-- urcu_atfork* -->
-    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-43'/>
-    <!-- void ()* -->
-    <pointer-type-def type-id='type-id-44' size-in-bits='64' id='type-id-18'/>
-    <!-- void (rcu_head*)* -->
-    <pointer-type-def type-id='type-id-45' size-in-bits='64' id='type-id-25'/>
-    <!-- void (rcu_head*, void (rcu_head*)*)* -->
-    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-20'/>
-    <!-- void (urcu_atfork*)* -->
-    <pointer-type-def type-id='type-id-47' size-in-bits='64' id='type-id-22'/>
-    <!-- void (void (void*)*, void*)* -->
-    <pointer-type-def type-id='type-id-48' size-in-bits='64' id='type-id-21'/>
-    <!-- void (void*)* -->
-    <pointer-type-def type-id='type-id-49' size-in-bits='64' id='type-id-28'/>
-    <!-- void* -->
-    <pointer-type-def type-id='type-id-9' size-in-bits='64' id='type-id-29'/>
-    <!-- urcu_gp urcu_qsbr_gp -->
-    <var-decl name='urcu_qsbr_gp' type-id='type-id-10' mangled-name='rcu_gp_qsbr' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='63' column='1' elf-symbol-id='rcu_gp_qsbr'/>
-    <!-- urcu_qsbr_reader urcu_qsbr_reader -->
-    <var-decl name='urcu_qsbr_reader' type-id='type-id-13' mangled-name='urcu_qsbr_reader' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='76' column='1' elf-symbol-id='urcu_qsbr_reader'/>
-    <!-- const rcu_flavor_struct urcu_qsbr_flavor -->
-    <var-decl name='urcu_qsbr_flavor' type-id='type-id-40' mangled-name='urcu_qsbr_flavor' visibility='default' filepath='../include/urcu/flavor.h' line='90' column='1' elf-symbol-id='urcu_qsbr_flavor'/>
-    <!-- void urcu_qsbr_defer_exit() -->
-    <function-decl name='urcu_qsbr_defer_exit' mangled-name='urcu_qsbr_defer_exit' filepath='src/urcu-defer-impl.h' line='476' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_defer_exit'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_qsbr_defer_unregister_thread() -->
-    <function-decl name='urcu_qsbr_defer_unregister_thread' mangled-name='urcu_qsbr_defer_unregister_thread' filepath='src/urcu-defer-impl.h' line='456' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_defer_unregister_thread'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- int urcu_qsbr_defer_register_thread() -->
-    <function-decl name='urcu_qsbr_defer_register_thread' mangled-name='urcu_qsbr_defer_register_thread' filepath='src/urcu-defer-impl.h' line='432' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_defer_register_thread'>
-      <!-- int -->
-      <return type-id='type-id-5'/>
-    </function-decl>
-    <!-- void urcu_qsbr_defer_rcu(void (void*)*, void*) -->
-    <function-decl name='urcu_qsbr_defer_rcu' mangled-name='defer_rcu_qsbr' filepath='src/urcu-defer-impl.h' line='400' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='defer_rcu_qsbr'>
-      <!-- parameter of type 'void (void*)*' -->
-      <parameter type-id='type-id-28' name='fct' filepath='src/urcu-defer-impl.h' line='400' column='1'/>
-      <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='p' filepath='src/urcu-defer-impl.h' line='400' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_qsbr_defer_barrier() -->
-    <function-decl name='urcu_qsbr_defer_barrier' mangled-name='rcu_defer_barrier_qsbr' filepath='src/urcu-defer-impl.h' line='284' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_barrier_qsbr'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_qsbr_defer_barrier_thread() -->
-    <function-decl name='urcu_qsbr_defer_barrier_thread' mangled-name='rcu_defer_barrier_thread_qsbr' filepath='src/urcu-defer-impl.h' line='262' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_barrier_thread_qsbr'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_qsbr_unregister_rculfhash_atfork(urcu_atfork*) -->
-    <function-decl name='urcu_qsbr_unregister_rculfhash_atfork' mangled-name='urcu_unregister_rculfhash_atfork_qsbr' filepath='src/urcu-call-rcu-impl.h' line='1056' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_unregister_rculfhash_atfork_qsbr'>
-      <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-43' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1056' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_qsbr_register_rculfhash_atfork(urcu_atfork*) -->
-    <function-decl name='urcu_qsbr_register_rculfhash_atfork' mangled-name='urcu_register_rculfhash_atfork_qsbr' filepath='src/urcu-call-rcu-impl.h' line='1044' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_register_rculfhash_atfork_qsbr'>
-      <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-43' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1044' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_qsbr_call_rcu_after_fork_child() -->
-    <function-decl name='urcu_qsbr_call_rcu_after_fork_child' mangled-name='call_rcu_after_fork_child_qsbr' filepath='src/urcu-call-rcu-impl.h' line='1000' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_after_fork_child_qsbr'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_qsbr_call_rcu_after_fork_parent() -->
-    <function-decl name='urcu_qsbr_call_rcu_after_fork_parent' mangled-name='urcu_qsbr_call_rcu_after_fork_parent' filepath='src/urcu-call-rcu-impl.h' line='976' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_call_rcu_after_fork_parent'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_qsbr_call_rcu_before_fork() -->
-    <function-decl name='urcu_qsbr_call_rcu_before_fork' mangled-name='call_rcu_before_fork_qsbr' filepath='src/urcu-call-rcu-impl.h' line='947' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_before_fork_qsbr'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_qsbr_barrier() -->
-    <function-decl name='urcu_qsbr_barrier' mangled-name='urcu_qsbr_barrier' filepath='src/urcu-call-rcu-impl.h' line='874' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_barrier'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_qsbr_free_all_cpu_call_rcu_data() -->
-    <function-decl name='urcu_qsbr_free_all_cpu_call_rcu_data' mangled-name='free_all_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='801' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='free_all_cpu_call_rcu_data'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
+    <pointer-type-def type-id='type-id-35' size-in-bits='64' id='type-id-49'/>
     <!-- void urcu_qsbr_call_rcu_data_free(call_rcu_data*) -->
     <function-decl name='urcu_qsbr_call_rcu_data_free' mangled-name='urcu_qsbr_call_rcu_data_free' filepath='src/urcu-call-rcu-impl.h' line='764' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_call_rcu_data_free'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='764' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='764' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-decl>
     <!-- void urcu_qsbr_call_rcu(rcu_head*, void (rcu_head*)*) -->
     <function-decl name='urcu_qsbr_call_rcu' mangled-name='urcu_qsbr_call_rcu' filepath='src/urcu-call-rcu-impl.h' line='725' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_call_rcu'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42' name='head' filepath='src/urcu-call-rcu-impl.h' line='725' column='1'/>
+      <parameter type-id='type-id-24' name='head' filepath='src/urcu-call-rcu-impl.h' line='725' column='1'/>
       <!-- parameter of type 'void (rcu_head*)*' -->
-      <parameter type-id='type-id-25' name='func' filepath='src/urcu-call-rcu-impl.h' line='726' column='1'/>
+      <parameter type-id='type-id-22' name='func' filepath='src/urcu-call-rcu-impl.h' line='726' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-decl>
     <!-- int urcu_qsbr_create_all_cpu_call_rcu_data(unsigned long int) -->
     <function-decl name='urcu_qsbr_create_all_cpu_call_rcu_data' mangled-name='urcu_qsbr_create_all_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='645' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_create_all_cpu_call_rcu_data'>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-3' name='flags' filepath='src/urcu-call-rcu-impl.h' line='645' column='1'/>
+      <parameter type-id='type-id-2' name='flags' filepath='src/urcu-call-rcu-impl.h' line='645' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-decl>
     <!-- void urcu_qsbr_set_thread_call_rcu_data(call_rcu_data*) -->
     <function-decl name='urcu_qsbr_set_thread_call_rcu_data' mangled-name='set_thread_call_rcu_data_qsbr' filepath='src/urcu-call-rcu-impl.h' line='630' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='set_thread_call_rcu_data_qsbr'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='630' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='630' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-decl>
     <!-- call_rcu_data* urcu_qsbr_get_thread_call_rcu_data() -->
     <function-decl name='urcu_qsbr_get_thread_call_rcu_data' mangled-name='urcu_qsbr_get_thread_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='612' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_get_thread_call_rcu_data'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- call_rcu_data* urcu_qsbr_get_call_rcu_data() -->
     <function-decl name='urcu_qsbr_get_call_rcu_data' mangled-name='get_call_rcu_data_qsbr' filepath='src/urcu-call-rcu-impl.h' line='590' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_call_rcu_data_qsbr'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- call_rcu_data* urcu_qsbr_get_default_call_rcu_data() -->
     <function-decl name='urcu_qsbr_get_default_call_rcu_data' mangled-name='urcu_qsbr_get_default_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='563' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_get_default_call_rcu_data'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- int urcu_qsbr_set_cpu_call_rcu_data(int, call_rcu_data*) -->
     <function-decl name='urcu_qsbr_set_cpu_call_rcu_data' mangled-name='set_cpu_call_rcu_data_qsbr' filepath='src/urcu-call-rcu-impl.h' line='522' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='set_cpu_call_rcu_data_qsbr'>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='522' column='1'/>
+      <parameter type-id='type-id-4' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='522' column='1'/>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='522' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='522' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-decl>
     <!-- call_rcu_data* urcu_qsbr_create_call_rcu_data(unsigned long int, int) -->
     <function-decl name='urcu_qsbr_create_call_rcu_data' mangled-name='urcu_qsbr_create_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='498' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_create_call_rcu_data'>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-3' name='flags' filepath='src/urcu-call-rcu-impl.h' line='498' column='1'/>
+      <parameter type-id='type-id-2' name='flags' filepath='src/urcu-call-rcu-impl.h' line='498' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu_affinity' filepath='src/urcu-call-rcu-impl.h' line='499' column='1'/>
+      <parameter type-id='type-id-4' name='cpu_affinity' filepath='src/urcu-call-rcu-impl.h' line='499' column='1'/>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- pthread_t urcu_qsbr_get_call_rcu_thread(call_rcu_data*) -->
     <function-decl name='urcu_qsbr_get_call_rcu_thread' mangled-name='urcu_qsbr_get_call_rcu_thread' filepath='src/urcu-call-rcu-impl.h' line='476' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_get_call_rcu_thread'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='476' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='476' column='1'/>
       <!-- typedef pthread_t -->
-      <return type-id='type-id-15'/>
+      <return type-id='type-id-8'/>
     </function-decl>
     <!-- call_rcu_data* urcu_qsbr_get_cpu_call_rcu_data(int) -->
     <function-decl name='urcu_qsbr_get_cpu_call_rcu_data' mangled-name='get_cpu_call_rcu_data_qsbr' filepath='src/urcu-call-rcu-impl.h' line='452' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_cpu_call_rcu_data_qsbr'>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='452' column='1'/>
+      <parameter type-id='type-id-4' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='452' column='1'/>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- void urcu_qsbr_exit() -->
     <function-decl name='urcu_qsbr_exit' mangled-name='urcu_qsbr_exit' filepath='src/urcu-qsbr.c' line='512' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_exit'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-decl>
     <!-- void urcu_qsbr_unregister_thread() -->
     <function-decl name='urcu_qsbr_unregister_thread' mangled-name='urcu_qsbr_unregister_thread' filepath='src/urcu-qsbr.c' line='496' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_unregister_thread'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-decl>
     <!-- void urcu_qsbr_register_thread() -->
     <function-decl name='urcu_qsbr_register_thread' mangled-name='urcu_qsbr_register_thread' filepath='src/urcu-qsbr.c' line='481' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_register_thread'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-decl>
     <!-- void urcu_qsbr_thread_online() -->
     <function-decl name='urcu_qsbr_thread_online' mangled-name='urcu_qsbr_thread_online' filepath='src/urcu-qsbr.c' line='474' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_thread_online'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-decl>
     <!-- void urcu_qsbr_thread_offline() -->
     <function-decl name='urcu_qsbr_thread_offline' mangled-name='urcu_qsbr_thread_offline' filepath='src/urcu-qsbr.c' line='467' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_thread_offline'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-decl>
     <!-- void urcu_qsbr_quiescent_state() -->
     <function-decl name='urcu_qsbr_quiescent_state' mangled-name='urcu_qsbr_quiescent_state' filepath='src/urcu-qsbr.c' line='460' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_quiescent_state'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-decl>
     <!-- int urcu_qsbr_read_ongoing() -->
     <function-decl name='urcu_qsbr_read_ongoing' mangled-name='rcu_read_ongoing_qsbr' filepath='src/urcu-qsbr.c' line='453' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_read_ongoing_qsbr'>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-decl>
     <!-- void urcu_qsbr_read_unlock() -->
     <function-decl name='urcu_qsbr_read_unlock' mangled-name='urcu_qsbr_read_unlock' filepath='src/urcu-qsbr.c' line='447' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_read_unlock'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-decl>
     <!-- void urcu_qsbr_read_lock() -->
     <function-decl name='urcu_qsbr_read_lock' mangled-name='rcu_read_lock_qsbr' filepath='src/urcu-qsbr.c' line='441' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_read_lock_qsbr'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-decl>
     <!-- void urcu_qsbr_synchronize_rcu() -->
     <function-decl name='urcu_qsbr_synchronize_rcu' mangled-name='urcu_qsbr_synchronize_rcu' filepath='src/urcu-qsbr.c' line='349' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_synchronize_rcu'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-decl>
     <!-- int () -->
-    <function-type size-in-bits='64' id='type-id-41'>
+    <function-type size-in-bits='64' id='type-id-19'>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-type>
     <!-- void () -->
-    <function-type size-in-bits='64' id='type-id-44'>
+    <function-type size-in-bits='64' id='type-id-18'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-type>
     <!-- void (rcu_head*) -->
-    <function-type size-in-bits='64' id='type-id-45'>
+    <function-type size-in-bits='64' id='type-id-25'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42'/>
+      <parameter type-id='type-id-24'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-type>
     <!-- void (rcu_head*, void (rcu_head*)*) -->
-    <function-type size-in-bits='64' id='type-id-46'>
+    <function-type size-in-bits='64' id='type-id-26'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42'/>
+      <parameter type-id='type-id-24'/>
       <!-- parameter of type 'void (rcu_head*)*' -->
-      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-22'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-type>
     <!-- void (urcu_atfork*) -->
-    <function-type size-in-bits='64' id='type-id-47'>
+    <function-type size-in-bits='64' id='type-id-33'>
       <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-43'/>
+      <parameter type-id='type-id-32'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-type>
     <!-- void (void (void*)*, void*) -->
-    <function-type size-in-bits='64' id='type-id-48'>
+    <function-type size-in-bits='64' id='type-id-30'>
       <!-- parameter of type 'void (void*)*' -->
-      <parameter type-id='type-id-28'/>
-      <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-29'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-27'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-type>
     <!-- void (void*) -->
-    <function-type size-in-bits='64' id='type-id-49'>
+    <function-type size-in-bits='64' id='type-id-28'>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29'/>
+      <parameter type-id='type-id-27'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-type>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='urcu-pointer.c' comp-dir-path='src' language='LANG_C99'>
     <!-- void** -->
-    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-50'/>
+    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-50'/>
     <!-- void* rcu_cmpxchg_pointer_sym(void**, void*, void*) -->
     <function-decl name='rcu_cmpxchg_pointer_sym' mangled-name='rcu_cmpxchg_pointer_sym' filepath='src/urcu-pointer.c' line='53' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_cmpxchg_pointer_sym'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='53' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='old' filepath='src/urcu-pointer.c' line='53' column='1'/>
+      <parameter type-id='type-id-27' name='old' filepath='src/urcu-pointer.c' line='53' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='_new' filepath='src/urcu-pointer.c' line='53' column='1'/>
+      <parameter type-id='type-id-27' name='_new' filepath='src/urcu-pointer.c' line='53' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-27'/>
     </function-decl>
     <!-- void* rcu_xchg_pointer_sym(void**, void*) -->
     <function-decl name='rcu_xchg_pointer_sym' mangled-name='rcu_xchg_pointer_sym' filepath='src/urcu-pointer.c' line='47' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_xchg_pointer_sym'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='47' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='v' filepath='src/urcu-pointer.c' line='47' column='1'/>
+      <parameter type-id='type-id-27' name='v' filepath='src/urcu-pointer.c' line='47' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-27'/>
     </function-decl>
     <!-- void* rcu_set_pointer_sym(void**, void*) -->
     <function-decl name='rcu_set_pointer_sym' mangled-name='rcu_set_pointer_sym' filepath='src/urcu-pointer.c' line='40' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_set_pointer_sym'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='40' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='v' filepath='src/urcu-pointer.c' line='40' column='1'/>
+      <parameter type-id='type-id-27' name='v' filepath='src/urcu-pointer.c' line='40' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-27'/>
     </function-decl>
     <!-- void* rcu_dereference_sym(void*) -->
     <function-decl name='rcu_dereference_sym' mangled-name='rcu_dereference_sym' filepath='src/urcu-pointer.c' line='35' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_dereference_sym'>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='p' filepath='src/urcu-pointer.c' line='35' column='1'/>
+      <parameter type-id='type-id-27' name='p' filepath='src/urcu-pointer.c' line='35' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-27'/>
     </function-decl>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='compat_futex.c' comp-dir-path='src' language='LANG_C99'>
-
-
-    <!-- char[48] -->
-    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='384' id='type-id-51'>
-      <!-- <anonymous range>[48] -->
-      <subrange length='48' type-id='type-id-3' id='type-id-52'/>
-
-    </array-type-def>
-    <!-- long long int -->
-    <type-decl name='long long int' size-in-bits='64' id='type-id-53'/>
-    <!-- long long unsigned int -->
-    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-54'/>
-    <!-- unsigned int[2] -->
-    <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='64' id='type-id-55'>
-      <!-- <anonymous range>[2] -->
-      <subrange length='2' type-id='type-id-3' id='type-id-56'/>
-
-    </array-type-def>
-    <!-- typedef __anonymous_union__ pthread_cond_t -->
-    <typedef-decl name='pthread_cond_t' type-id='type-id-57' filepath='/usr/include/bits/pthreadtypes.h' line='80' column='1' id='type-id-58'/>
-    <!-- union {__pthread_cond_s __data; char __size[48]; long long int __align;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='75' column='1' id='type-id-57'>
+    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
+    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-38' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='75' column='1' id='type-id-51'>
       <data-member access='private'>
-        <!-- __pthread_cond_s __data -->
-        <var-decl name='__data' type-id='type-id-59' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='77' column='1'/>
+        <!-- __pthread_cond_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-52' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='77' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- char __size[48] -->
-        <var-decl name='__size' type-id='type-id-51' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='78' column='1'/>
+        <!-- char __anonymous_union__::__size[48] -->
+        <var-decl name='__size' type-id='type-id-53' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='78' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- long long int __align -->
-        <var-decl name='__align' type-id='type-id-53' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='79' column='1'/>
+        <!-- long long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-54' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='79' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __pthread_cond_s -->
-    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='92' column='1' id='type-id-59'>
+    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='171' column='1' id='type-id-52'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <!-- union {long long unsigned int __wseq; struct {unsigned int __low; unsigned int __high;} __wseq32;} -->
-        <var-decl name='' type-id='type-id-60' visibility='default'/>
+        <!-- __anonymous_union__  -->
+        <var-decl name='' type-id='type-id-55' visibility='default'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- unsigned int __pthread_cond_s::__g_refs[2] -->
-        <var-decl name='__g_refs' type-id='type-id-55' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='112' column='1'/>
+        <var-decl name='__g_refs' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='191' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- unsigned int __pthread_cond_s::__g_size[2] -->
-        <var-decl name='__g_size' type-id='type-id-55' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='113' column='1'/>
+        <var-decl name='__g_size' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='192' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- unsigned int __pthread_cond_s::__g1_orig_size -->
-        <var-decl name='__g1_orig_size' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='114' column='1'/>
+        <var-decl name='__g1_orig_size' type-id='type-id-9' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='193' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='288'>
         <!-- unsigned int __pthread_cond_s::__wrefs -->
-        <var-decl name='__wrefs' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='115' column='1'/>
+        <var-decl name='__wrefs' type-id='type-id-9' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='194' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
         <!-- unsigned int __pthread_cond_s::__g_signals[2] -->
-        <var-decl name='__g_signals' type-id='type-id-55' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='116' column='1'/>
+        <var-decl name='__g_signals' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='195' column='1'/>
       </data-member>
     </class-decl>
-    <!-- union {long long unsigned int __wseq; struct {unsigned int __low; unsigned int __high;} __wseq32;} -->
-    <union-decl name='__anonymous_union__1' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='94' column='1' id='type-id-60'>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='173' column='1' id='type-id-55'>
       <data-member access='private'>
-        <!-- long long unsigned int __wseq -->
-        <var-decl name='__wseq' type-id='type-id-54' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='96' column='1'/>
+        <!-- long long unsigned int __anonymous_union__::__wseq -->
+        <var-decl name='__wseq' type-id='type-id-57' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='175' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- struct {unsigned int __low; unsigned int __high;} __wseq32 -->
-        <var-decl name='__wseq32' type-id='type-id-61' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='101' column='1'/>
+        <!-- __anonymous_struct__ __anonymous_union__::__wseq32 -->
+        <var-decl name='__wseq32' type-id='type-id-58' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='180' column='1'/>
       </data-member>
     </union-decl>
-    <!-- struct {unsigned int __low; unsigned int __high;} -->
-    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='97' column='1' id='type-id-61'>
+    <!-- long long unsigned int -->
+    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-57'/>
+    <!-- struct __anonymous_struct__ -->
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='176' column='1' id='type-id-58'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <!-- unsigned int __low -->
-        <var-decl name='__low' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='99' column='1'/>
+        <!-- unsigned int __anonymous_struct__::__low -->
+        <var-decl name='__low' type-id='type-id-9' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='178' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='32'>
-        <!-- unsigned int __high -->
-        <var-decl name='__high' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='100' column='1'/>
+        <!-- unsigned int __anonymous_struct__::__high -->
+        <var-decl name='__high' type-id='type-id-9' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='179' column='1'/>
       </data-member>
     </class-decl>
+
+    <!-- unsigned int[2] -->
+    <array-type-def dimensions='1' type-id='type-id-9' size-in-bits='64' id='type-id-56'>
+      <!-- <anonymous range>[2] -->
+      <subrange length='2' type-id='type-id-2' id='type-id-59'/>
+
+    </array-type-def>
+
+    <!-- char[48] -->
+    <array-type-def dimensions='1' type-id='type-id-47' size-in-bits='384' id='type-id-53'>
+      <!-- <anonymous range>[48] -->
+      <subrange length='48' type-id='type-id-2' id='type-id-60'/>
+
+    </array-type-def>
+    <!-- long long int -->
+    <type-decl name='long long int' size-in-bits='64' id='type-id-54'/>
+    <!-- typedef __anonymous_union__ pthread_cond_t -->
+    <typedef-decl name='pthread_cond_t' type-id='type-id-51' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='80' column='1' id='type-id-61'/>
+    <!-- pthread_cond_t __urcu_compat_futex_cond -->
+    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-61' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
+    <!-- int32_t* -->
+    <pointer-type-def type-id='type-id-3' size-in-bits='64' id='type-id-62'/>
     <!-- struct timespec -->
-    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='10' column='1' id='type-id-62'>
+    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='9' column='1' id='type-id-63'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- __time_t timespec::tv_sec -->
-        <var-decl name='tv_sec' type-id='type-id-63' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='12' column='1'/>
+        <var-decl name='tv_sec' type-id='type-id-64' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='11' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- __syscall_slong_t timespec::tv_nsec -->
-        <var-decl name='tv_nsec' type-id='type-id-64' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='16' column='1'/>
+        <var-decl name='tv_nsec' type-id='type-id-65' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='12' column='1'/>
       </data-member>
     </class-decl>
     <!-- typedef long int __time_t -->
-    <typedef-decl name='__time_t' type-id='type-id-6' filepath='/usr/include/bits/types.h' line='160' column='1' id='type-id-63'/>
+    <typedef-decl name='__time_t' type-id='type-id-42' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='148' column='1' id='type-id-64'/>
     <!-- typedef long int __syscall_slong_t -->
-    <typedef-decl name='__syscall_slong_t' type-id='type-id-6' filepath='/usr/include/bits/types.h' line='197' column='1' id='type-id-64'/>
+    <typedef-decl name='__syscall_slong_t' type-id='type-id-42' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='184' column='1' id='type-id-65'/>
     <!-- const timespec -->
-    <qualified-type-def type-id='type-id-62' const='yes' id='type-id-65'/>
+    <qualified-type-def type-id='type-id-63' const='yes' id='type-id-66'/>
     <!-- const timespec* -->
-    <pointer-type-def type-id='type-id-65' size-in-bits='64' id='type-id-66'/>
-    <!-- int32_t* -->
-    <pointer-type-def type-id='type-id-11' size-in-bits='64' id='type-id-67'/>
-    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
-    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-33' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
-    <!-- pthread_cond_t __urcu_compat_futex_cond -->
-    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-58' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
+    <pointer-type-def type-id='type-id-66' size-in-bits='64' id='type-id-67'/>
     <!-- int compat_futex_async(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
     <function-decl name='compat_futex_async' mangled-name='compat_futex_async' filepath='src/compat_futex.c' line='118' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_async'>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-4' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-3' name='val' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'const timespec*' -->
-      <parameter type-id='type-id-66' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-67' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val3' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-3' name='val3' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-decl>
     <!-- int compat_futex_noasync(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
     <function-decl name='compat_futex_noasync' mangled-name='compat_futex_noasync' filepath='src/compat_futex.c' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_noasync'>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-4' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-3' name='val' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'const timespec*' -->
-      <parameter type-id='type-id-66' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-67' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val3' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-3' name='val3' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-decl>
   </abi-instr>
 </abi-corpus>
index 3fecad80daebd98e5de6cd4416fec6456f40ec6f..d9a5f3e68c788647fb430484dcbe96c0c4566624 100644 (file)
@@ -1,11 +1,14 @@
 <abi-corpus architecture='elf-amd-x86_64' soname='liburcu-signal.so.6'>
   <elf-needed>
-    <dependency name='liburcu-common.so.6'/>
     <dependency name='libpthread.so.0'/>
     <dependency name='libc.so.6'/>
     <dependency name='ld-linux-x86-64.so.2'/>
   </elf-needed>
   <elf-function-symbols>
+    <!-- _fini -->
+    <elf-symbol name='_fini' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- _init -->
+    <elf-symbol name='_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- call_rcu_after_fork_child_sig -->
     <elf-symbol name='call_rcu_after_fork_child_sig' type='func-type' binding='global-binding' visibility='default-visibility' alias='urcu_signal_call_rcu_after_fork_child' is-defined='yes'/>
     <!-- call_rcu_after_fork_parent_sig -->
     <elf-symbol name='urcu_signal_reader' size='256' type='tls-type' binding='global-binding' visibility='default-visibility' alias='rcu_reader_sig' is-defined='yes'/>
   </elf-variable-symbols>
   <abi-instr version='1.0' address-size='64' path='urcu.c' comp-dir-path='src' language='LANG_C99'>
-
-    <!-- char -->
-    <type-decl name='char' size-in-bits='8' id='type-id-1'/>
-    <!-- char[40] -->
-    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='320' id='type-id-2'>
-      <!-- <anonymous range>[40] -->
-      <subrange length='40' type-id='type-id-3' id='type-id-4'/>
-
-    </array-type-def>
-    <!-- int -->
-    <type-decl name='int' size-in-bits='32' id='type-id-5'/>
-    <!-- long int -->
-    <type-decl name='long int' size-in-bits='64' id='type-id-6'/>
-    <!-- short int -->
-    <type-decl name='short int' size-in-bits='16' id='type-id-7'/>
-    <!-- unsigned int -->
-    <type-decl name='unsigned int' size-in-bits='32' id='type-id-8'/>
-    <!-- unsigned long int -->
-    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-3'/>
-    <!-- void -->
-    <type-decl name='void' id='type-id-9'/>
     <!-- struct urcu_gp -->
-    <class-decl name='urcu_gp' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='67' column='1' id='type-id-10'>
+    <class-decl name='urcu_gp' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='67' column='1' id='type-id-1'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned long int urcu_gp::ctr -->
-        <var-decl name='ctr' type-id='type-id-3' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='75' column='1'/>
+        <var-decl name='ctr' type-id='type-id-2' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='75' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- int32_t urcu_gp::futex -->
-        <var-decl name='futex' type-id='type-id-11' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='77' column='1'/>
+        <var-decl name='futex' type-id='type-id-3' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='77' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __int32_t int32_t -->
-    <typedef-decl name='int32_t' type-id='type-id-12' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-11'/>
+    <!-- unsigned long int -->
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-2'/>
+    <!-- int -->
+    <type-decl name='int' size-in-bits='32' id='type-id-4'/>
     <!-- typedef int __int32_t -->
-    <typedef-decl name='__int32_t' type-id='type-id-5' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-12'/>
+    <typedef-decl name='__int32_t' type-id='type-id-4' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='40' column='1' id='type-id-5'/>
+    <!-- typedef __int32_t int32_t -->
+    <typedef-decl name='int32_t' type-id='type-id-5' filepath='/usr/include/x86_64-linux-gnu/bits/stdint-intn.h' line='26' column='1' id='type-id-3'/>
+    <!-- urcu_gp urcu_signal_gp -->
+    <var-decl name='urcu_signal_gp' type-id='type-id-1' mangled-name='urcu_signal_gp' visibility='default' filepath='../include/urcu/static/urcu-signal.h' line='61' column='1' elf-symbol-id='urcu_signal_gp'/>
     <!-- struct urcu_reader -->
-    <class-decl name='urcu_reader' size-in-bits='2048' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='80' column='1' id='type-id-13'>
+    <class-decl name='urcu_reader' size-in-bits='2048' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='80' column='1' id='type-id-6'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned long int urcu_reader::ctr -->
-        <var-decl name='ctr' type-id='type-id-3' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='82' column='1'/>
+        <var-decl name='ctr' type-id='type-id-2' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='82' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- char urcu_reader::need_mb -->
-        <var-decl name='need_mb' type-id='type-id-1' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='83' column='1'/>
+        <var-decl name='need_mb' type-id='type-id-7' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='83' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1024'>
         <!-- cds_list_head urcu_reader::node -->
-        <var-decl name='node' type-id='type-id-14' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='85' column='1'/>
+        <var-decl name='node' type-id='type-id-8' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='85' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1152'>
         <!-- pthread_t urcu_reader::tid -->
-        <var-decl name='tid' type-id='type-id-15' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='86' column='1'/>
+        <var-decl name='tid' type-id='type-id-9' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='86' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='31'>
         <!-- unsigned int urcu_reader::registered -->
-        <var-decl name='registered' type-id='type-id-8' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='88' column='1'/>
+        <var-decl name='registered' type-id='type-id-10' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='88' column='1'/>
       </data-member>
     </class-decl>
+    <!-- char -->
+    <type-decl name='char' size-in-bits='8' id='type-id-7'/>
     <!-- struct cds_list_head -->
-    <class-decl name='cds_list_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/list.h' line='37' column='1' id='type-id-14'>
+    <class-decl name='cds_list_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/list.h' line='37' column='1' id='type-id-8'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_list_head* cds_list_head::next -->
-        <var-decl name='next' type-id='type-id-16' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
+        <var-decl name='next' type-id='type-id-11' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- cds_list_head* cds_list_head::prev -->
-        <var-decl name='prev' type-id='type-id-16' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
+        <var-decl name='prev' type-id='type-id-11' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_list_head* -->
+    <pointer-type-def type-id='type-id-8' size-in-bits='64' id='type-id-11'/>
     <!-- typedef unsigned long int pthread_t -->
-    <typedef-decl name='pthread_t' type-id='type-id-3' filepath='/usr/include/bits/pthreadtypes.h' line='27' column='1' id='type-id-15'/>
+    <typedef-decl name='pthread_t' type-id='type-id-2' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='27' column='1' id='type-id-9'/>
+    <!-- unsigned int -->
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-10'/>
+    <!-- urcu_reader urcu_signal_reader -->
+    <var-decl name='urcu_signal_reader' type-id='type-id-6' mangled-name='urcu_signal_reader' visibility='default' filepath='../include/urcu/static/urcu-signal.h' line='63' column='1' elf-symbol-id='urcu_signal_reader'/>
     <!-- struct rcu_flavor_struct -->
-    <class-decl name='rcu_flavor_struct' size-in-bits='896' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='42' column='1' id='type-id-17'>
+    <class-decl name='rcu_flavor_struct' size-in-bits='896' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='42' column='1' id='type-id-12'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- void ()* rcu_flavor_struct::read_lock -->
-        <var-decl name='read_lock' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='43' column='1'/>
+        <var-decl name='read_lock' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='43' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void ()* rcu_flavor_struct::read_unlock -->
-        <var-decl name='read_unlock' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='44' column='1'/>
+        <var-decl name='read_unlock' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='44' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- int ()* rcu_flavor_struct::read_ongoing -->
-        <var-decl name='read_ongoing' type-id='type-id-19' visibility='default' filepath='../include/urcu/flavor.h' line='45' column='1'/>
+        <var-decl name='read_ongoing' type-id='type-id-14' visibility='default' filepath='../include/urcu/flavor.h' line='45' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- void ()* rcu_flavor_struct::read_quiescent_state -->
-        <var-decl name='read_quiescent_state' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='46' column='1'/>
+        <var-decl name='read_quiescent_state' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='46' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- void (rcu_head*, void (rcu_head*)*)* rcu_flavor_struct::update_call_rcu -->
-        <var-decl name='update_call_rcu' type-id='type-id-20' visibility='default' filepath='../include/urcu/flavor.h' line='47' column='1'/>
+        <var-decl name='update_call_rcu' type-id='type-id-15' visibility='default' filepath='../include/urcu/flavor.h' line='47' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
         <!-- void ()* rcu_flavor_struct::update_synchronize_rcu -->
-        <var-decl name='update_synchronize_rcu' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='49' column='1'/>
+        <var-decl name='update_synchronize_rcu' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='49' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='384'>
         <!-- void (void (void*)*, void*)* rcu_flavor_struct::update_defer_rcu -->
-        <var-decl name='update_defer_rcu' type-id='type-id-21' visibility='default' filepath='../include/urcu/flavor.h' line='50' column='1'/>
+        <var-decl name='update_defer_rcu' type-id='type-id-16' visibility='default' filepath='../include/urcu/flavor.h' line='50' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='448'>
         <!-- void ()* rcu_flavor_struct::thread_offline -->
-        <var-decl name='thread_offline' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='52' column='1'/>
+        <var-decl name='thread_offline' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='52' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='512'>
         <!-- void ()* rcu_flavor_struct::thread_online -->
-        <var-decl name='thread_online' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='53' column='1'/>
+        <var-decl name='thread_online' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='53' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='576'>
         <!-- void ()* rcu_flavor_struct::register_thread -->
-        <var-decl name='register_thread' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='54' column='1'/>
+        <var-decl name='register_thread' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='54' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='640'>
         <!-- void ()* rcu_flavor_struct::unregister_thread -->
-        <var-decl name='unregister_thread' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='55' column='1'/>
+        <var-decl name='unregister_thread' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='55' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='704'>
         <!-- void ()* rcu_flavor_struct::barrier -->
-        <var-decl name='barrier' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='57' column='1'/>
+        <var-decl name='barrier' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='57' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='768'>
         <!-- void (urcu_atfork*)* rcu_flavor_struct::register_rculfhash_atfork -->
-        <var-decl name='register_rculfhash_atfork' type-id='type-id-22' visibility='default' filepath='../include/urcu/flavor.h' line='59' column='1'/>
+        <var-decl name='register_rculfhash_atfork' type-id='type-id-17' visibility='default' filepath='../include/urcu/flavor.h' line='59' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='832'>
         <!-- void (urcu_atfork*)* rcu_flavor_struct::unregister_rculfhash_atfork -->
-        <var-decl name='unregister_rculfhash_atfork' type-id='type-id-22' visibility='default' filepath='../include/urcu/flavor.h' line='60' column='1'/>
+        <var-decl name='unregister_rculfhash_atfork' type-id='type-id-17' visibility='default' filepath='../include/urcu/flavor.h' line='60' column='1'/>
       </data-member>
     </class-decl>
+    <!-- void -->
+    <type-decl name='void' id='type-id-18'/>
+    <!-- void ()* -->
+    <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-13'/>
+    <!-- int ()* -->
+    <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-14'/>
     <!-- struct rcu_head -->
-    <class-decl name='rcu_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/call-rcu.h' line='57' column='1' id='type-id-23'>
+    <class-decl name='rcu_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/call-rcu.h' line='57' column='1' id='type-id-21'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node rcu_head::next -->
-        <var-decl name='next' type-id='type-id-24' visibility='default' filepath='../include/urcu/call-rcu.h' line='58' column='1'/>
+        <var-decl name='next' type-id='type-id-22' visibility='default' filepath='../include/urcu/call-rcu.h' line='58' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void (rcu_head*)* rcu_head::func -->
-        <var-decl name='func' type-id='type-id-25' visibility='default' filepath='../include/urcu/call-rcu.h' line='59' column='1'/>
+        <var-decl name='func' type-id='type-id-23' visibility='default' filepath='../include/urcu/call-rcu.h' line='59' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_node -->
-    <class-decl name='cds_wfcq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='59' column='1' id='type-id-24'>
+    <class-decl name='cds_wfcq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='59' column='1' id='type-id-22'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node* cds_wfcq_node::next -->
-        <var-decl name='next' type-id='type-id-26' visibility='default' filepath='../include/urcu/wfcqueue.h' line='60' column='1'/>
+        <var-decl name='next' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='60' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_wfcq_node* -->
+    <pointer-type-def type-id='type-id-22' size-in-bits='64' id='type-id-24'/>
+    <!-- rcu_head* -->
+    <pointer-type-def type-id='type-id-21' size-in-bits='64' id='type-id-25'/>
+    <!-- void (rcu_head*)* -->
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-23'/>
+    <!-- void (rcu_head*, void (rcu_head*)*)* -->
+    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-15'/>
+    <!-- void* -->
+    <pointer-type-def type-id='type-id-18' size-in-bits='64' id='type-id-28'/>
+    <!-- void (void*)* -->
+    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-30'/>
+    <!-- void (void (void*)*, void*)* -->
+    <pointer-type-def type-id='type-id-31' size-in-bits='64' id='type-id-16'/>
     <!-- struct urcu_atfork -->
-    <class-decl name='urcu_atfork' size-in-bits='256' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='32' column='1' id='type-id-27'>
+    <class-decl name='urcu_atfork' size-in-bits='256' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='32' column='1' id='type-id-32'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- void (void*)* urcu_atfork::before_fork -->
-        <var-decl name='before_fork' type-id='type-id-28' visibility='default' filepath='../include/urcu/flavor.h' line='33' column='1'/>
+        <var-decl name='before_fork' type-id='type-id-30' visibility='default' filepath='../include/urcu/flavor.h' line='33' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void (void*)* urcu_atfork::after_fork_parent -->
-        <var-decl name='after_fork_parent' type-id='type-id-28' visibility='default' filepath='../include/urcu/flavor.h' line='34' column='1'/>
+        <var-decl name='after_fork_parent' type-id='type-id-30' visibility='default' filepath='../include/urcu/flavor.h' line='34' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- void (void*)* urcu_atfork::after_fork_child -->
-        <var-decl name='after_fork_child' type-id='type-id-28' visibility='default' filepath='../include/urcu/flavor.h' line='35' column='1'/>
+        <var-decl name='after_fork_child' type-id='type-id-30' visibility='default' filepath='../include/urcu/flavor.h' line='35' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- void* urcu_atfork::priv -->
-        <var-decl name='priv' type-id='type-id-29' visibility='default' filepath='../include/urcu/flavor.h' line='36' column='1'/>
+        <var-decl name='priv' type-id='type-id-28' visibility='default' filepath='../include/urcu/flavor.h' line='36' column='1'/>
       </data-member>
     </class-decl>
+    <!-- urcu_atfork* -->
+    <pointer-type-def type-id='type-id-32' size-in-bits='64' id='type-id-33'/>
+    <!-- void (urcu_atfork*)* -->
+    <pointer-type-def type-id='type-id-34' size-in-bits='64' id='type-id-17'/>
+    <!-- const rcu_flavor_struct -->
+    <qualified-type-def type-id='type-id-12' const='yes' id='type-id-35'/>
+    <!-- const rcu_flavor_struct urcu_signal_flavor -->
+    <var-decl name='urcu_signal_flavor' type-id='type-id-35' mangled-name='urcu_signal_flavor' visibility='default' filepath='../include/urcu/flavor.h' line='90' column='1' elf-symbol-id='urcu_signal_flavor'/>
+    <!-- void urcu_signal_defer_exit() -->
+    <function-decl name='urcu_signal_defer_exit' mangled-name='rcu_defer_exit_sig' filepath='src/urcu-defer-impl.h' line='476' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_exit_sig'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_signal_defer_unregister_thread() -->
+    <function-decl name='urcu_signal_defer_unregister_thread' mangled-name='rcu_defer_unregister_thread_sig' filepath='src/urcu-defer-impl.h' line='456' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_unregister_thread_sig'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- int urcu_signal_defer_register_thread() -->
+    <function-decl name='urcu_signal_defer_register_thread' mangled-name='urcu_signal_defer_register_thread' filepath='src/urcu-defer-impl.h' line='432' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_defer_register_thread'>
+      <!-- int -->
+      <return type-id='type-id-4'/>
+    </function-decl>
+    <!-- void urcu_signal_defer_rcu(void (void*)*, void*) -->
+    <function-decl name='urcu_signal_defer_rcu' mangled-name='urcu_signal_defer_rcu' filepath='src/urcu-defer-impl.h' line='400' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_defer_rcu'>
+      <!-- parameter of type 'void (void*)*' -->
+      <parameter type-id='type-id-30' name='fct' filepath='src/urcu-defer-impl.h' line='400' column='1'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-28' name='p' filepath='src/urcu-defer-impl.h' line='400' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_signal_defer_barrier() -->
+    <function-decl name='urcu_signal_defer_barrier' mangled-name='rcu_defer_barrier_sig' filepath='src/urcu-defer-impl.h' line='284' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_barrier_sig'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_signal_defer_barrier_thread() -->
+    <function-decl name='urcu_signal_defer_barrier_thread' mangled-name='rcu_defer_barrier_thread_sig' filepath='src/urcu-defer-impl.h' line='262' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_barrier_thread_sig'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_signal_unregister_rculfhash_atfork(urcu_atfork*) -->
+    <function-decl name='urcu_signal_unregister_rculfhash_atfork' mangled-name='urcu_unregister_rculfhash_atfork_sig' filepath='src/urcu-call-rcu-impl.h' line='1056' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_unregister_rculfhash_atfork_sig'>
+      <!-- parameter of type 'urcu_atfork*' -->
+      <parameter type-id='type-id-33' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1056' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_signal_register_rculfhash_atfork(urcu_atfork*) -->
+    <function-decl name='urcu_signal_register_rculfhash_atfork' mangled-name='urcu_signal_register_rculfhash_atfork' filepath='src/urcu-call-rcu-impl.h' line='1044' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_register_rculfhash_atfork'>
+      <!-- parameter of type 'urcu_atfork*' -->
+      <parameter type-id='type-id-33' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1056' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_signal_call_rcu_after_fork_child() -->
+    <function-decl name='urcu_signal_call_rcu_after_fork_child' mangled-name='call_rcu_after_fork_child_sig' filepath='src/urcu-call-rcu-impl.h' line='1000' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_after_fork_child_sig'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_signal_call_rcu_after_fork_parent() -->
+    <function-decl name='urcu_signal_call_rcu_after_fork_parent' mangled-name='urcu_signal_call_rcu_after_fork_parent' filepath='src/urcu-call-rcu-impl.h' line='976' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_call_rcu_after_fork_parent'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_signal_call_rcu_before_fork() -->
+    <function-decl name='urcu_signal_call_rcu_before_fork' mangled-name='call_rcu_before_fork_sig' filepath='src/urcu-call-rcu-impl.h' line='947' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_before_fork_sig'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_signal_barrier() -->
+    <function-decl name='urcu_signal_barrier' mangled-name='urcu_signal_barrier' filepath='src/urcu-call-rcu-impl.h' line='874' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_barrier'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_signal_free_all_cpu_call_rcu_data() -->
+    <function-decl name='urcu_signal_free_all_cpu_call_rcu_data' mangled-name='urcu_signal_free_all_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='801' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_free_all_cpu_call_rcu_data'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
     <!-- struct call_rcu_data -->
-    <class-decl name='call_rcu_data' size-in-bits='1024' is-struct='yes' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='53' column='1' id='type-id-30'>
+    <class-decl name='call_rcu_data' size-in-bits='1024' is-struct='yes' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='53' column='1' id='type-id-36'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_tail call_rcu_data::cbs_tail -->
-        <var-decl name='cbs_tail' type-id='type-id-31' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='61' column='1'/>
+        <var-decl name='cbs_tail' type-id='type-id-37' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='61' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- cds_wfcq_head call_rcu_data::cbs_head -->
-        <var-decl name='cbs_head' type-id='type-id-32' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='62' column='1'/>
+        <var-decl name='cbs_head' type-id='type-id-38' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='62' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='448'>
         <!-- unsigned long int call_rcu_data::flags -->
-        <var-decl name='flags' type-id='type-id-3' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='63' column='1'/>
+        <var-decl name='flags' type-id='type-id-2' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='63' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='512'>
         <!-- int32_t call_rcu_data::futex -->
-        <var-decl name='futex' type-id='type-id-11' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='64' column='1'/>
+        <var-decl name='futex' type-id='type-id-3' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='64' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='576'>
         <!-- unsigned long int call_rcu_data::qlen -->
-        <var-decl name='qlen' type-id='type-id-3' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='65' column='1'/>
+        <var-decl name='qlen' type-id='type-id-2' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='65' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='640'>
         <!-- pthread_t call_rcu_data::tid -->
-        <var-decl name='tid' type-id='type-id-15' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='66' column='1'/>
+        <var-decl name='tid' type-id='type-id-9' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='66' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='704'>
         <!-- int call_rcu_data::cpu_affinity -->
-        <var-decl name='cpu_affinity' type-id='type-id-5' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='67' column='1'/>
+        <var-decl name='cpu_affinity' type-id='type-id-4' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='67' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='768'>
         <!-- unsigned long int call_rcu_data::gp_count -->
-        <var-decl name='gp_count' type-id='type-id-3' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='68' column='1'/>
+        <var-decl name='gp_count' type-id='type-id-2' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='68' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='832'>
         <!-- cds_list_head call_rcu_data::list -->
-        <var-decl name='list' type-id='type-id-14' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='69' column='1'/>
+        <var-decl name='list' type-id='type-id-8' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='69' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_tail -->
-    <class-decl name='cds_wfcq_tail' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='127' column='1' id='type-id-31'>
+    <class-decl name='cds_wfcq_tail' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='127' column='1' id='type-id-37'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node* cds_wfcq_tail::p -->
-        <var-decl name='p' type-id='type-id-26' visibility='default' filepath='../include/urcu/wfcqueue.h' line='128' column='1'/>
+        <var-decl name='p' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='128' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_head -->
-    <class-decl name='cds_wfcq_head' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='72' column='1' id='type-id-32'>
+    <class-decl name='cds_wfcq_head' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='72' column='1' id='type-id-38'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node cds_wfcq_head::node -->
-        <var-decl name='node' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='73' column='1'/>
+        <var-decl name='node' type-id='type-id-22' visibility='default' filepath='../include/urcu/wfcqueue.h' line='73' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- pthread_mutex_t cds_wfcq_head::lock -->
-        <var-decl name='lock' type-id='type-id-33' visibility='default' filepath='../include/urcu/wfcqueue.h' line='74' column='1'/>
+        <var-decl name='lock' type-id='type-id-39' visibility='default' filepath='../include/urcu/wfcqueue.h' line='74' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __anonymous_union__ pthread_mutex_t -->
-    <typedef-decl name='pthread_mutex_t' type-id='type-id-34' filepath='/usr/include/bits/pthreadtypes.h' line='72' column='1' id='type-id-33'/>
-    <!-- union {__pthread_mutex_s __data; char __size[40]; long int __align;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='67' column='1' id='type-id-34'>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='67' column='1' id='type-id-40'>
       <data-member access='private'>
-        <!-- __pthread_mutex_s __data -->
-        <var-decl name='__data' type-id='type-id-35' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='69' column='1'/>
+        <!-- __pthread_mutex_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-41' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='69' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- char __size[40] -->
-        <var-decl name='__size' type-id='type-id-2' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='70' column='1'/>
+        <!-- char __anonymous_union__::__size[40] -->
+        <var-decl name='__size' type-id='type-id-42' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='70' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- long int __align -->
-        <var-decl name='__align' type-id='type-id-6' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='71' column='1'/>
+        <!-- long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-43' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='71' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __pthread_mutex_s -->
-    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='22' column='1' id='type-id-35'>
+    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='118' column='1' id='type-id-41'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- int __pthread_mutex_s::__lock -->
-        <var-decl name='__lock' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='24' column='1'/>
+        <var-decl name='__lock' type-id='type-id-4' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='120' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='32'>
         <!-- unsigned int __pthread_mutex_s::__count -->
-        <var-decl name='__count' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='25' column='1'/>
+        <var-decl name='__count' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='121' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- int __pthread_mutex_s::__owner -->
-        <var-decl name='__owner' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='26' column='1'/>
+        <var-decl name='__owner' type-id='type-id-4' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='122' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='96'>
         <!-- unsigned int __pthread_mutex_s::__nusers -->
-        <var-decl name='__nusers' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='28' column='1'/>
+        <var-decl name='__nusers' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='124' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- int __pthread_mutex_s::__kind -->
-        <var-decl name='__kind' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='32' column='1'/>
+        <var-decl name='__kind' type-id='type-id-4' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='148' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='160'>
         <!-- short int __pthread_mutex_s::__spins -->
-        <var-decl name='__spins' type-id='type-id-7' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='34' column='1'/>
+        <var-decl name='__spins' type-id='type-id-44' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='176'>
         <!-- short int __pthread_mutex_s::__elision -->
-        <var-decl name='__elision' type-id='type-id-7' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='35' column='1'/>
+        <var-decl name='__elision' type-id='type-id-44' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- __pthread_list_t __pthread_mutex_s::__list -->
-        <var-decl name='__list' type-id='type-id-36' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='36' column='1'/>
+        <var-decl name='__list' type-id='type-id-45' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='155' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __pthread_internal_list __pthread_list_t -->
-    <typedef-decl name='__pthread_list_t' type-id='type-id-37' filepath='/usr/include/bits/thread-shared-types.h' line='53' column='1' id='type-id-36'/>
+    <!-- short int -->
+    <type-decl name='short int' size-in-bits='16' id='type-id-44'/>
     <!-- struct __pthread_internal_list -->
-    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='49' column='1' id='type-id-37'>
+    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='82' column='1' id='type-id-46'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- __pthread_internal_list* __pthread_internal_list::__prev -->
-        <var-decl name='__prev' type-id='type-id-38' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='51' column='1'/>
+        <var-decl name='__prev' type-id='type-id-47' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='84' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- __pthread_internal_list* __pthread_internal_list::__next -->
-        <var-decl name='__next' type-id='type-id-38' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='52' column='1'/>
+        <var-decl name='__next' type-id='type-id-47' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='85' column='1'/>
       </data-member>
     </class-decl>
     <!-- __pthread_internal_list* -->
-    <pointer-type-def type-id='type-id-37' size-in-bits='64' id='type-id-38'/>
+    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-47'/>
+    <!-- typedef __pthread_internal_list __pthread_list_t -->
+    <typedef-decl name='__pthread_list_t' type-id='type-id-46' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='86' column='1' id='type-id-45'/>
+
+    <!-- char[40] -->
+    <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='320' id='type-id-42'>
+      <!-- <anonymous range>[40] -->
+      <subrange length='40' type-id='type-id-2' id='type-id-48'/>
+
+    </array-type-def>
+    <!-- long int -->
+    <type-decl name='long int' size-in-bits='64' id='type-id-43'/>
+    <!-- typedef __anonymous_union__ pthread_mutex_t -->
+    <typedef-decl name='pthread_mutex_t' type-id='type-id-40' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='72' column='1' id='type-id-39'/>
     <!-- call_rcu_data* -->
-    <pointer-type-def type-id='type-id-30' size-in-bits='64' id='type-id-39'/>
-    <!-- cds_list_head* -->
-    <pointer-type-def type-id='type-id-14' size-in-bits='64' id='type-id-16'/>
-    <!-- cds_wfcq_node* -->
-    <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-26'/>
-    <!-- const rcu_flavor_struct -->
-    <qualified-type-def type-id='type-id-17' const='yes' id='type-id-40'/>
-    <!-- int ()* -->
-    <pointer-type-def type-id='type-id-41' size-in-bits='64' id='type-id-19'/>
-    <!-- rcu_head* -->
-    <pointer-type-def type-id='type-id-23' size-in-bits='64' id='type-id-42'/>
-    <!-- urcu_atfork* -->
-    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-43'/>
-    <!-- void ()* -->
-    <pointer-type-def type-id='type-id-44' size-in-bits='64' id='type-id-18'/>
-    <!-- void (rcu_head*)* -->
-    <pointer-type-def type-id='type-id-45' size-in-bits='64' id='type-id-25'/>
-    <!-- void (rcu_head*, void (rcu_head*)*)* -->
-    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-20'/>
-    <!-- void (urcu_atfork*)* -->
-    <pointer-type-def type-id='type-id-47' size-in-bits='64' id='type-id-22'/>
-    <!-- void (void (void*)*, void*)* -->
-    <pointer-type-def type-id='type-id-48' size-in-bits='64' id='type-id-21'/>
-    <!-- void (void*)* -->
-    <pointer-type-def type-id='type-id-49' size-in-bits='64' id='type-id-28'/>
-    <!-- void* -->
-    <pointer-type-def type-id='type-id-9' size-in-bits='64' id='type-id-29'/>
-    <!-- urcu_gp urcu_signal_gp -->
-    <var-decl name='urcu_signal_gp' type-id='type-id-10' mangled-name='urcu_signal_gp' visibility='default' filepath='../include/urcu/static/urcu-signal.h' line='61' column='1' elf-symbol-id='urcu_signal_gp'/>
-    <!-- urcu_reader urcu_signal_reader -->
-    <var-decl name='urcu_signal_reader' type-id='type-id-13' mangled-name='urcu_signal_reader' visibility='default' filepath='../include/urcu/static/urcu-signal.h' line='63' column='1' elf-symbol-id='urcu_signal_reader'/>
-    <!-- const rcu_flavor_struct urcu_signal_flavor -->
-    <var-decl name='urcu_signal_flavor' type-id='type-id-40' mangled-name='urcu_signal_flavor' visibility='default' filepath='../include/urcu/flavor.h' line='90' column='1' elf-symbol-id='urcu_signal_flavor'/>
-    <!-- void urcu_signal_defer_exit() -->
-    <function-decl name='urcu_signal_defer_exit' mangled-name='rcu_defer_exit_sig' filepath='src/urcu-defer-impl.h' line='476' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_exit_sig'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_signal_defer_unregister_thread() -->
-    <function-decl name='urcu_signal_defer_unregister_thread' mangled-name='rcu_defer_unregister_thread_sig' filepath='src/urcu-defer-impl.h' line='456' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_unregister_thread_sig'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- int urcu_signal_defer_register_thread() -->
-    <function-decl name='urcu_signal_defer_register_thread' mangled-name='urcu_signal_defer_register_thread' filepath='src/urcu-defer-impl.h' line='432' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_defer_register_thread'>
-      <!-- int -->
-      <return type-id='type-id-5'/>
-    </function-decl>
-    <!-- void urcu_signal_defer_rcu(void (void*)*, void*) -->
-    <function-decl name='urcu_signal_defer_rcu' mangled-name='urcu_signal_defer_rcu' filepath='src/urcu-defer-impl.h' line='400' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_defer_rcu'>
-      <!-- parameter of type 'void (void*)*' -->
-      <parameter type-id='type-id-28' name='fct' filepath='src/urcu-defer-impl.h' line='400' column='1'/>
-      <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='p' filepath='src/urcu-defer-impl.h' line='400' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_signal_defer_barrier() -->
-    <function-decl name='urcu_signal_defer_barrier' mangled-name='rcu_defer_barrier_sig' filepath='src/urcu-defer-impl.h' line='284' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_barrier_sig'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_signal_defer_barrier_thread() -->
-    <function-decl name='urcu_signal_defer_barrier_thread' mangled-name='rcu_defer_barrier_thread_sig' filepath='src/urcu-defer-impl.h' line='262' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_barrier_thread_sig'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_signal_unregister_rculfhash_atfork(urcu_atfork*) -->
-    <function-decl name='urcu_signal_unregister_rculfhash_atfork' mangled-name='urcu_unregister_rculfhash_atfork_sig' filepath='src/urcu-call-rcu-impl.h' line='1056' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_unregister_rculfhash_atfork_sig'>
-      <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-43' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1056' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_signal_register_rculfhash_atfork(urcu_atfork*) -->
-    <function-decl name='urcu_signal_register_rculfhash_atfork' mangled-name='urcu_signal_register_rculfhash_atfork' filepath='src/urcu-call-rcu-impl.h' line='1044' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_register_rculfhash_atfork'>
-      <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-43' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1044' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_signal_call_rcu_after_fork_child() -->
-    <function-decl name='urcu_signal_call_rcu_after_fork_child' mangled-name='call_rcu_after_fork_child_sig' filepath='src/urcu-call-rcu-impl.h' line='1000' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_after_fork_child_sig'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_signal_call_rcu_after_fork_parent() -->
-    <function-decl name='urcu_signal_call_rcu_after_fork_parent' mangled-name='urcu_signal_call_rcu_after_fork_parent' filepath='src/urcu-call-rcu-impl.h' line='976' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_call_rcu_after_fork_parent'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_signal_call_rcu_before_fork() -->
-    <function-decl name='urcu_signal_call_rcu_before_fork' mangled-name='call_rcu_before_fork_sig' filepath='src/urcu-call-rcu-impl.h' line='947' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_before_fork_sig'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_signal_barrier() -->
-    <function-decl name='urcu_signal_barrier' mangled-name='urcu_signal_barrier' filepath='src/urcu-call-rcu-impl.h' line='874' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_barrier'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_signal_free_all_cpu_call_rcu_data() -->
-    <function-decl name='urcu_signal_free_all_cpu_call_rcu_data' mangled-name='urcu_signal_free_all_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='801' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_free_all_cpu_call_rcu_data'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
+    <pointer-type-def type-id='type-id-36' size-in-bits='64' id='type-id-49'/>
     <!-- void urcu_signal_call_rcu_data_free(call_rcu_data*) -->
     <function-decl name='urcu_signal_call_rcu_data_free' mangled-name='call_rcu_data_free_sig' filepath='src/urcu-call-rcu-impl.h' line='764' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_data_free_sig'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='764' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='764' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void urcu_signal_call_rcu(rcu_head*, void (rcu_head*)*) -->
     <function-decl name='urcu_signal_call_rcu' mangled-name='urcu_signal_call_rcu' filepath='src/urcu-call-rcu-impl.h' line='725' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_call_rcu'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42' name='head' filepath='src/urcu-call-rcu-impl.h' line='725' column='1'/>
+      <parameter type-id='type-id-25' name='head' filepath='src/urcu-call-rcu-impl.h' line='725' column='1'/>
       <!-- parameter of type 'void (rcu_head*)*' -->
-      <parameter type-id='type-id-25' name='func' filepath='src/urcu-call-rcu-impl.h' line='726' column='1'/>
+      <parameter type-id='type-id-23' name='func' filepath='src/urcu-call-rcu-impl.h' line='726' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- int urcu_signal_create_all_cpu_call_rcu_data(unsigned long int) -->
     <function-decl name='urcu_signal_create_all_cpu_call_rcu_data' mangled-name='create_all_cpu_call_rcu_data_sig' filepath='src/urcu-call-rcu-impl.h' line='645' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='create_all_cpu_call_rcu_data_sig'>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-3' name='flags' filepath='src/urcu-call-rcu-impl.h' line='645' column='1'/>
+      <parameter type-id='type-id-2' name='flags' filepath='src/urcu-call-rcu-impl.h' line='645' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-decl>
     <!-- void urcu_signal_set_thread_call_rcu_data(call_rcu_data*) -->
     <function-decl name='urcu_signal_set_thread_call_rcu_data' mangled-name='urcu_signal_set_thread_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='630' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_set_thread_call_rcu_data'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='630' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='630' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- call_rcu_data* urcu_signal_get_thread_call_rcu_data() -->
     <function-decl name='urcu_signal_get_thread_call_rcu_data' mangled-name='urcu_signal_get_thread_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='612' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_get_thread_call_rcu_data'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- call_rcu_data* urcu_signal_get_call_rcu_data() -->
     <function-decl name='urcu_signal_get_call_rcu_data' mangled-name='urcu_signal_get_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='590' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_get_call_rcu_data'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- call_rcu_data* urcu_signal_get_default_call_rcu_data() -->
     <function-decl name='urcu_signal_get_default_call_rcu_data' mangled-name='urcu_signal_get_default_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='563' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_get_default_call_rcu_data'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- int urcu_signal_set_cpu_call_rcu_data(int, call_rcu_data*) -->
     <function-decl name='urcu_signal_set_cpu_call_rcu_data' mangled-name='set_cpu_call_rcu_data_sig' filepath='src/urcu-call-rcu-impl.h' line='522' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='set_cpu_call_rcu_data_sig'>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='522' column='1'/>
+      <parameter type-id='type-id-4' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='522' column='1'/>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='522' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='522' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-decl>
     <!-- call_rcu_data* urcu_signal_create_call_rcu_data(unsigned long int, int) -->
     <function-decl name='urcu_signal_create_call_rcu_data' mangled-name='urcu_signal_create_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='498' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_create_call_rcu_data'>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-3' name='flags' filepath='src/urcu-call-rcu-impl.h' line='498' column='1'/>
+      <parameter type-id='type-id-2' name='flags' filepath='src/urcu-call-rcu-impl.h' line='498' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu_affinity' filepath='src/urcu-call-rcu-impl.h' line='499' column='1'/>
+      <parameter type-id='type-id-4' name='cpu_affinity' filepath='src/urcu-call-rcu-impl.h' line='499' column='1'/>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- pthread_t urcu_signal_get_call_rcu_thread(call_rcu_data*) -->
     <function-decl name='urcu_signal_get_call_rcu_thread' mangled-name='get_call_rcu_thread_sig' filepath='src/urcu-call-rcu-impl.h' line='476' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_call_rcu_thread_sig'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='476' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='476' column='1'/>
       <!-- typedef pthread_t -->
-      <return type-id='type-id-15'/>
+      <return type-id='type-id-9'/>
     </function-decl>
     <!-- call_rcu_data* urcu_signal_get_cpu_call_rcu_data(int) -->
     <function-decl name='urcu_signal_get_cpu_call_rcu_data' mangled-name='get_cpu_call_rcu_data_sig' filepath='src/urcu-call-rcu-impl.h' line='452' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_cpu_call_rcu_data_sig'>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='452' column='1'/>
+      <parameter type-id='type-id-4' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='452' column='1'/>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- void urcu_signal_exit() -->
     <function-decl name='urcu_signal_exit' mangled-name='urcu_signal_exit' filepath='src/urcu.c' line='666' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_exit'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void urcu_signal_init() -->
     <function-decl name='urcu_signal_init' mangled-name='rcu_init_sig' filepath='src/urcu.c' line='647' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_init_sig'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void urcu_signal_unregister_thread() -->
     <function-decl name='urcu_signal_unregister_thread' mangled-name='urcu_signal_unregister_thread' filepath='src/urcu.c' line='563' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_unregister_thread'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void urcu_signal_register_thread() -->
     <function-decl name='urcu_signal_register_thread' mangled-name='urcu_signal_register_thread' filepath='src/urcu.c' line='547' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_register_thread'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- int urcu_signal_read_ongoing() -->
     <function-decl name='urcu_signal_read_ongoing' mangled-name='rcu_read_ongoing_sig' filepath='src/urcu.c' line='540' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_read_ongoing_sig'>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-decl>
     <!-- void urcu_signal_read_unlock() -->
     <function-decl name='urcu_signal_read_unlock' mangled-name='rcu_read_unlock_sig' filepath='src/urcu.c' line='533' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_read_unlock_sig'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void urcu_signal_read_lock() -->
     <function-decl name='urcu_signal_read_lock' mangled-name='urcu_signal_read_lock' filepath='src/urcu.c' line='526' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_read_lock'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void urcu_signal_synchronize_rcu() -->
     <function-decl name='urcu_signal_synchronize_rcu' mangled-name='urcu_signal_synchronize_rcu' filepath='src/urcu.c' line='403' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_synchronize_rcu'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- int () -->
-    <function-type size-in-bits='64' id='type-id-41'>
+    <function-type size-in-bits='64' id='type-id-20'>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-type>
     <!-- void () -->
-    <function-type size-in-bits='64' id='type-id-44'>
+    <function-type size-in-bits='64' id='type-id-19'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (rcu_head*) -->
-    <function-type size-in-bits='64' id='type-id-45'>
+    <function-type size-in-bits='64' id='type-id-26'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42'/>
+      <parameter type-id='type-id-25'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (rcu_head*, void (rcu_head*)*) -->
-    <function-type size-in-bits='64' id='type-id-46'>
+    <function-type size-in-bits='64' id='type-id-27'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42'/>
-      <!-- parameter of type 'void (rcu_head*)*' -->
       <parameter type-id='type-id-25'/>
+      <!-- parameter of type 'void (rcu_head*)*' -->
+      <parameter type-id='type-id-23'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (urcu_atfork*) -->
-    <function-type size-in-bits='64' id='type-id-47'>
+    <function-type size-in-bits='64' id='type-id-34'>
       <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-43'/>
+      <parameter type-id='type-id-33'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (void (void*)*, void*) -->
-    <function-type size-in-bits='64' id='type-id-48'>
+    <function-type size-in-bits='64' id='type-id-31'>
       <!-- parameter of type 'void (void*)*' -->
-      <parameter type-id='type-id-28'/>
+      <parameter type-id='type-id-30'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29'/>
+      <parameter type-id='type-id-28'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (void*) -->
-    <function-type size-in-bits='64' id='type-id-49'>
+    <function-type size-in-bits='64' id='type-id-29'>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29'/>
+      <parameter type-id='type-id-28'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='urcu-pointer.c' comp-dir-path='src' language='LANG_C99'>
     <!-- void** -->
-    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-50'/>
+    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-50'/>
     <!-- void* rcu_cmpxchg_pointer_sym(void**, void*, void*) -->
     <function-decl name='rcu_cmpxchg_pointer_sym' mangled-name='rcu_cmpxchg_pointer_sym' filepath='src/urcu-pointer.c' line='53' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_cmpxchg_pointer_sym'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='53' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='old' filepath='src/urcu-pointer.c' line='53' column='1'/>
+      <parameter type-id='type-id-28' name='old' filepath='src/urcu-pointer.c' line='53' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='_new' filepath='src/urcu-pointer.c' line='53' column='1'/>
+      <parameter type-id='type-id-28' name='_new' filepath='src/urcu-pointer.c' line='53' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-28'/>
     </function-decl>
     <!-- void* rcu_xchg_pointer_sym(void**, void*) -->
     <function-decl name='rcu_xchg_pointer_sym' mangled-name='rcu_xchg_pointer_sym' filepath='src/urcu-pointer.c' line='47' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_xchg_pointer_sym'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='47' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='v' filepath='src/urcu-pointer.c' line='47' column='1'/>
+      <parameter type-id='type-id-28' name='v' filepath='src/urcu-pointer.c' line='47' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-28'/>
     </function-decl>
     <!-- void* rcu_set_pointer_sym(void**, void*) -->
     <function-decl name='rcu_set_pointer_sym' mangled-name='rcu_set_pointer_sym' filepath='src/urcu-pointer.c' line='40' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_set_pointer_sym'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='40' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='v' filepath='src/urcu-pointer.c' line='40' column='1'/>
+      <parameter type-id='type-id-28' name='v' filepath='src/urcu-pointer.c' line='40' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-28'/>
     </function-decl>
     <!-- void* rcu_dereference_sym(void*) -->
     <function-decl name='rcu_dereference_sym' mangled-name='rcu_dereference_sym' filepath='src/urcu-pointer.c' line='35' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_dereference_sym'>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='p' filepath='src/urcu-pointer.c' line='35' column='1'/>
+      <parameter type-id='type-id-28' name='p' filepath='src/urcu-pointer.c' line='35' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-28'/>
     </function-decl>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='compat_futex.c' comp-dir-path='src' language='LANG_C99'>
-
-
-    <!-- char[48] -->
-    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='384' id='type-id-51'>
-      <!-- <anonymous range>[48] -->
-      <subrange length='48' type-id='type-id-3' id='type-id-52'/>
-
-    </array-type-def>
-    <!-- long long int -->
-    <type-decl name='long long int' size-in-bits='64' id='type-id-53'/>
-    <!-- long long unsigned int -->
-    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-54'/>
-    <!-- unsigned int[2] -->
-    <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='64' id='type-id-55'>
-      <!-- <anonymous range>[2] -->
-      <subrange length='2' type-id='type-id-3' id='type-id-56'/>
-
-    </array-type-def>
-    <!-- typedef __anonymous_union__ pthread_cond_t -->
-    <typedef-decl name='pthread_cond_t' type-id='type-id-57' filepath='/usr/include/bits/pthreadtypes.h' line='80' column='1' id='type-id-58'/>
-    <!-- union {__pthread_cond_s __data; char __size[48]; long long int __align;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='75' column='1' id='type-id-57'>
+    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
+    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-39' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='75' column='1' id='type-id-51'>
       <data-member access='private'>
-        <!-- __pthread_cond_s __data -->
-        <var-decl name='__data' type-id='type-id-59' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='77' column='1'/>
+        <!-- __pthread_cond_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-52' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='77' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- char __size[48] -->
-        <var-decl name='__size' type-id='type-id-51' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='78' column='1'/>
+        <!-- char __anonymous_union__::__size[48] -->
+        <var-decl name='__size' type-id='type-id-53' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='78' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- long long int __align -->
-        <var-decl name='__align' type-id='type-id-53' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='79' column='1'/>
+        <!-- long long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-54' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='79' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __pthread_cond_s -->
-    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='92' column='1' id='type-id-59'>
+    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='171' column='1' id='type-id-52'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <!-- union {long long unsigned int __wseq; struct {unsigned int __low; unsigned int __high;} __wseq32;} -->
-        <var-decl name='' type-id='type-id-60' visibility='default'/>
+        <!-- __anonymous_union__  -->
+        <var-decl name='' type-id='type-id-55' visibility='default'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- unsigned int __pthread_cond_s::__g_refs[2] -->
-        <var-decl name='__g_refs' type-id='type-id-55' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='112' column='1'/>
+        <var-decl name='__g_refs' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='191' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- unsigned int __pthread_cond_s::__g_size[2] -->
-        <var-decl name='__g_size' type-id='type-id-55' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='113' column='1'/>
+        <var-decl name='__g_size' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='192' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- unsigned int __pthread_cond_s::__g1_orig_size -->
-        <var-decl name='__g1_orig_size' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='114' column='1'/>
+        <var-decl name='__g1_orig_size' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='193' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='288'>
         <!-- unsigned int __pthread_cond_s::__wrefs -->
-        <var-decl name='__wrefs' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='115' column='1'/>
+        <var-decl name='__wrefs' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='194' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
         <!-- unsigned int __pthread_cond_s::__g_signals[2] -->
-        <var-decl name='__g_signals' type-id='type-id-55' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='116' column='1'/>
+        <var-decl name='__g_signals' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='195' column='1'/>
       </data-member>
     </class-decl>
-    <!-- union {long long unsigned int __wseq; struct {unsigned int __low; unsigned int __high;} __wseq32;} -->
-    <union-decl name='__anonymous_union__1' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='94' column='1' id='type-id-60'>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='173' column='1' id='type-id-55'>
       <data-member access='private'>
-        <!-- long long unsigned int __wseq -->
-        <var-decl name='__wseq' type-id='type-id-54' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='96' column='1'/>
+        <!-- long long unsigned int __anonymous_union__::__wseq -->
+        <var-decl name='__wseq' type-id='type-id-57' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='175' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- struct {unsigned int __low; unsigned int __high;} __wseq32 -->
-        <var-decl name='__wseq32' type-id='type-id-61' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='101' column='1'/>
+        <!-- __anonymous_struct__ __anonymous_union__::__wseq32 -->
+        <var-decl name='__wseq32' type-id='type-id-58' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='180' column='1'/>
       </data-member>
     </union-decl>
-    <!-- struct {unsigned int __low; unsigned int __high;} -->
-    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='97' column='1' id='type-id-61'>
+    <!-- long long unsigned int -->
+    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-57'/>
+    <!-- struct __anonymous_struct__ -->
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='176' column='1' id='type-id-58'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <!-- unsigned int __low -->
-        <var-decl name='__low' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='99' column='1'/>
+        <!-- unsigned int __anonymous_struct__::__low -->
+        <var-decl name='__low' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='178' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='32'>
-        <!-- unsigned int __high -->
-        <var-decl name='__high' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='100' column='1'/>
+        <!-- unsigned int __anonymous_struct__::__high -->
+        <var-decl name='__high' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='179' column='1'/>
       </data-member>
     </class-decl>
+
+    <!-- unsigned int[2] -->
+    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='64' id='type-id-56'>
+      <!-- <anonymous range>[2] -->
+      <subrange length='2' type-id='type-id-2' id='type-id-59'/>
+
+    </array-type-def>
+
+    <!-- char[48] -->
+    <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='384' id='type-id-53'>
+      <!-- <anonymous range>[48] -->
+      <subrange length='48' type-id='type-id-2' id='type-id-60'/>
+
+    </array-type-def>
+    <!-- long long int -->
+    <type-decl name='long long int' size-in-bits='64' id='type-id-54'/>
+    <!-- typedef __anonymous_union__ pthread_cond_t -->
+    <typedef-decl name='pthread_cond_t' type-id='type-id-51' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='80' column='1' id='type-id-61'/>
+    <!-- pthread_cond_t __urcu_compat_futex_cond -->
+    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-61' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
+    <!-- int32_t* -->
+    <pointer-type-def type-id='type-id-3' size-in-bits='64' id='type-id-62'/>
     <!-- struct timespec -->
-    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='10' column='1' id='type-id-62'>
+    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='9' column='1' id='type-id-63'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- __time_t timespec::tv_sec -->
-        <var-decl name='tv_sec' type-id='type-id-63' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='12' column='1'/>
+        <var-decl name='tv_sec' type-id='type-id-64' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='11' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- __syscall_slong_t timespec::tv_nsec -->
-        <var-decl name='tv_nsec' type-id='type-id-64' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='16' column='1'/>
+        <var-decl name='tv_nsec' type-id='type-id-65' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='12' column='1'/>
       </data-member>
     </class-decl>
     <!-- typedef long int __time_t -->
-    <typedef-decl name='__time_t' type-id='type-id-6' filepath='/usr/include/bits/types.h' line='160' column='1' id='type-id-63'/>
+    <typedef-decl name='__time_t' type-id='type-id-43' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='148' column='1' id='type-id-64'/>
     <!-- typedef long int __syscall_slong_t -->
-    <typedef-decl name='__syscall_slong_t' type-id='type-id-6' filepath='/usr/include/bits/types.h' line='197' column='1' id='type-id-64'/>
+    <typedef-decl name='__syscall_slong_t' type-id='type-id-43' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='184' column='1' id='type-id-65'/>
     <!-- const timespec -->
-    <qualified-type-def type-id='type-id-62' const='yes' id='type-id-65'/>
+    <qualified-type-def type-id='type-id-63' const='yes' id='type-id-66'/>
     <!-- const timespec* -->
-    <pointer-type-def type-id='type-id-65' size-in-bits='64' id='type-id-66'/>
-    <!-- int32_t* -->
-    <pointer-type-def type-id='type-id-11' size-in-bits='64' id='type-id-67'/>
-    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
-    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-33' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
-    <!-- pthread_cond_t __urcu_compat_futex_cond -->
-    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-58' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
+    <pointer-type-def type-id='type-id-66' size-in-bits='64' id='type-id-67'/>
     <!-- int compat_futex_async(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
     <function-decl name='compat_futex_async' mangled-name='compat_futex_async' filepath='src/compat_futex.c' line='118' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_async'>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-4' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-3' name='val' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'const timespec*' -->
-      <parameter type-id='type-id-66' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-67' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val3' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-3' name='val3' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-decl>
     <!-- int compat_futex_noasync(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
     <function-decl name='compat_futex_noasync' mangled-name='compat_futex_noasync' filepath='src/compat_futex.c' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_noasync'>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-4' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-3' name='val' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'const timespec*' -->
-      <parameter type-id='type-id-66' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-67' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val3' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-3' name='val3' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-decl>
   </abi-instr>
 </abi-corpus>
index a7722f6616374b9cbc1763b76dfce37684816663..70873c85e64a796ce30e593a21757693849f9304 100644 (file)
@@ -1,11 +1,14 @@
 <abi-corpus architecture='elf-amd-x86_64' soname='liburcu.so.6'>
   <elf-needed>
-    <dependency name='liburcu-common.so.6'/>
     <dependency name='libpthread.so.0'/>
     <dependency name='libc.so.6'/>
     <dependency name='ld-linux-x86-64.so.2'/>
   </elf-needed>
   <elf-function-symbols>
+    <!-- _fini -->
+    <elf-symbol name='_fini' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- _init -->
+    <elf-symbol name='_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- call_rcu_after_fork_child_memb -->
     <elf-symbol name='call_rcu_after_fork_child_memb' type='func-type' binding='global-binding' visibility='default-visibility' alias='urcu_memb_call_rcu_after_fork_child' is-defined='yes'/>
     <!-- call_rcu_after_fork_parent_memb -->
     <elf-symbol name='urcu_memb_reader' size='256' type='tls-type' binding='global-binding' visibility='default-visibility' alias='rcu_reader_memb' is-defined='yes'/>
   </elf-variable-symbols>
   <abi-instr version='1.0' address-size='64' path='urcu.c' comp-dir-path='src' language='LANG_C99'>
-
-    <!-- char -->
-    <type-decl name='char' size-in-bits='8' id='type-id-1'/>
-    <!-- char[40] -->
-    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='320' id='type-id-2'>
-      <!-- <anonymous range>[40] -->
-      <subrange length='40' type-id='type-id-3' id='type-id-4'/>
-
-    </array-type-def>
     <!-- int -->
-    <type-decl name='int' size-in-bits='32' id='type-id-5'/>
-    <!-- long int -->
-    <type-decl name='long int' size-in-bits='64' id='type-id-6'/>
-    <!-- short int -->
-    <type-decl name='short int' size-in-bits='16' id='type-id-7'/>
-    <!-- unsigned int -->
-    <type-decl name='unsigned int' size-in-bits='32' id='type-id-8'/>
-    <!-- unsigned long int -->
-    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-3'/>
-    <!-- void -->
-    <type-decl name='void' id='type-id-9'/>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <!-- int urcu_memb_has_sys_membarrier -->
+    <var-decl name='urcu_memb_has_sys_membarrier' type-id='type-id-1' mangled-name='rcu_has_sys_membarrier_memb' visibility='default' filepath='../include/urcu/static/urcu-memb.h' line='72' column='1' elf-symbol-id='rcu_has_sys_membarrier_memb'/>
     <!-- struct urcu_gp -->
-    <class-decl name='urcu_gp' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='67' column='1' id='type-id-10'>
+    <class-decl name='urcu_gp' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='67' column='1' id='type-id-2'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned long int urcu_gp::ctr -->
         <var-decl name='ctr' type-id='type-id-3' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='75' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- int32_t urcu_gp::futex -->
-        <var-decl name='futex' type-id='type-id-11' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='77' column='1'/>
+        <var-decl name='futex' type-id='type-id-4' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='77' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __int32_t int32_t -->
-    <typedef-decl name='int32_t' type-id='type-id-12' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-11'/>
+    <!-- unsigned long int -->
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-3'/>
     <!-- typedef int __int32_t -->
-    <typedef-decl name='__int32_t' type-id='type-id-5' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-12'/>
+    <typedef-decl name='__int32_t' type-id='type-id-1' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='40' column='1' id='type-id-5'/>
+    <!-- typedef __int32_t int32_t -->
+    <typedef-decl name='int32_t' type-id='type-id-5' filepath='/usr/include/x86_64-linux-gnu/bits/stdint-intn.h' line='26' column='1' id='type-id-4'/>
+    <!-- urcu_gp urcu_memb_gp -->
+    <var-decl name='urcu_memb_gp' type-id='type-id-2' mangled-name='urcu_memb_gp' visibility='default' filepath='../include/urcu/static/urcu-memb.h' line='83' column='1' elf-symbol-id='urcu_memb_gp'/>
     <!-- struct urcu_reader -->
-    <class-decl name='urcu_reader' size-in-bits='2048' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='80' column='1' id='type-id-13'>
+    <class-decl name='urcu_reader' size-in-bits='2048' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='80' column='1' id='type-id-6'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned long int urcu_reader::ctr -->
         <var-decl name='ctr' type-id='type-id-3' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='82' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- char urcu_reader::need_mb -->
-        <var-decl name='need_mb' type-id='type-id-1' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='83' column='1'/>
+        <var-decl name='need_mb' type-id='type-id-7' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='83' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1024'>
         <!-- cds_list_head urcu_reader::node -->
-        <var-decl name='node' type-id='type-id-14' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='85' column='1'/>
+        <var-decl name='node' type-id='type-id-8' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='85' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1152'>
         <!-- pthread_t urcu_reader::tid -->
-        <var-decl name='tid' type-id='type-id-15' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='86' column='1'/>
+        <var-decl name='tid' type-id='type-id-9' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='86' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='31'>
         <!-- unsigned int urcu_reader::registered -->
-        <var-decl name='registered' type-id='type-id-8' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='88' column='1'/>
+        <var-decl name='registered' type-id='type-id-10' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='88' column='1'/>
       </data-member>
     </class-decl>
+    <!-- char -->
+    <type-decl name='char' size-in-bits='8' id='type-id-7'/>
     <!-- struct cds_list_head -->
-    <class-decl name='cds_list_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/list.h' line='37' column='1' id='type-id-14'>
+    <class-decl name='cds_list_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/list.h' line='37' column='1' id='type-id-8'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_list_head* cds_list_head::next -->
-        <var-decl name='next' type-id='type-id-16' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
+        <var-decl name='next' type-id='type-id-11' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- cds_list_head* cds_list_head::prev -->
-        <var-decl name='prev' type-id='type-id-16' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
+        <var-decl name='prev' type-id='type-id-11' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_list_head* -->
+    <pointer-type-def type-id='type-id-8' size-in-bits='64' id='type-id-11'/>
     <!-- typedef unsigned long int pthread_t -->
-    <typedef-decl name='pthread_t' type-id='type-id-3' filepath='/usr/include/bits/pthreadtypes.h' line='27' column='1' id='type-id-15'/>
+    <typedef-decl name='pthread_t' type-id='type-id-3' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='27' column='1' id='type-id-9'/>
+    <!-- unsigned int -->
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-10'/>
+    <!-- urcu_reader urcu_memb_reader -->
+    <var-decl name='urcu_memb_reader' type-id='type-id-6' mangled-name='urcu_memb_reader' visibility='default' filepath='../include/urcu/static/urcu-memb.h' line='85' column='1' elf-symbol-id='urcu_memb_reader'/>
     <!-- struct rcu_flavor_struct -->
-    <class-decl name='rcu_flavor_struct' size-in-bits='896' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='42' column='1' id='type-id-17'>
+    <class-decl name='rcu_flavor_struct' size-in-bits='896' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='42' column='1' id='type-id-12'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- void ()* rcu_flavor_struct::read_lock -->
-        <var-decl name='read_lock' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='43' column='1'/>
+        <var-decl name='read_lock' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='43' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void ()* rcu_flavor_struct::read_unlock -->
-        <var-decl name='read_unlock' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='44' column='1'/>
+        <var-decl name='read_unlock' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='44' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- int ()* rcu_flavor_struct::read_ongoing -->
-        <var-decl name='read_ongoing' type-id='type-id-19' visibility='default' filepath='../include/urcu/flavor.h' line='45' column='1'/>
+        <var-decl name='read_ongoing' type-id='type-id-14' visibility='default' filepath='../include/urcu/flavor.h' line='45' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- void ()* rcu_flavor_struct::read_quiescent_state -->
-        <var-decl name='read_quiescent_state' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='46' column='1'/>
+        <var-decl name='read_quiescent_state' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='46' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- void (rcu_head*, void (rcu_head*)*)* rcu_flavor_struct::update_call_rcu -->
-        <var-decl name='update_call_rcu' type-id='type-id-20' visibility='default' filepath='../include/urcu/flavor.h' line='47' column='1'/>
+        <var-decl name='update_call_rcu' type-id='type-id-15' visibility='default' filepath='../include/urcu/flavor.h' line='47' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
         <!-- void ()* rcu_flavor_struct::update_synchronize_rcu -->
-        <var-decl name='update_synchronize_rcu' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='49' column='1'/>
+        <var-decl name='update_synchronize_rcu' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='49' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='384'>
         <!-- void (void (void*)*, void*)* rcu_flavor_struct::update_defer_rcu -->
-        <var-decl name='update_defer_rcu' type-id='type-id-21' visibility='default' filepath='../include/urcu/flavor.h' line='50' column='1'/>
+        <var-decl name='update_defer_rcu' type-id='type-id-16' visibility='default' filepath='../include/urcu/flavor.h' line='50' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='448'>
         <!-- void ()* rcu_flavor_struct::thread_offline -->
-        <var-decl name='thread_offline' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='52' column='1'/>
+        <var-decl name='thread_offline' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='52' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='512'>
         <!-- void ()* rcu_flavor_struct::thread_online -->
-        <var-decl name='thread_online' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='53' column='1'/>
+        <var-decl name='thread_online' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='53' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='576'>
         <!-- void ()* rcu_flavor_struct::register_thread -->
-        <var-decl name='register_thread' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='54' column='1'/>
+        <var-decl name='register_thread' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='54' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='640'>
         <!-- void ()* rcu_flavor_struct::unregister_thread -->
-        <var-decl name='unregister_thread' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='55' column='1'/>
+        <var-decl name='unregister_thread' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='55' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='704'>
         <!-- void ()* rcu_flavor_struct::barrier -->
-        <var-decl name='barrier' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='57' column='1'/>
+        <var-decl name='barrier' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='57' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='768'>
         <!-- void (urcu_atfork*)* rcu_flavor_struct::register_rculfhash_atfork -->
-        <var-decl name='register_rculfhash_atfork' type-id='type-id-22' visibility='default' filepath='../include/urcu/flavor.h' line='59' column='1'/>
+        <var-decl name='register_rculfhash_atfork' type-id='type-id-17' visibility='default' filepath='../include/urcu/flavor.h' line='59' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='832'>
         <!-- void (urcu_atfork*)* rcu_flavor_struct::unregister_rculfhash_atfork -->
-        <var-decl name='unregister_rculfhash_atfork' type-id='type-id-22' visibility='default' filepath='../include/urcu/flavor.h' line='60' column='1'/>
+        <var-decl name='unregister_rculfhash_atfork' type-id='type-id-17' visibility='default' filepath='../include/urcu/flavor.h' line='60' column='1'/>
       </data-member>
     </class-decl>
+    <!-- void -->
+    <type-decl name='void' id='type-id-18'/>
+    <!-- void ()* -->
+    <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-13'/>
+    <!-- int ()* -->
+    <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-14'/>
     <!-- struct rcu_head -->
-    <class-decl name='rcu_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/call-rcu.h' line='57' column='1' id='type-id-23'>
+    <class-decl name='rcu_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/call-rcu.h' line='57' column='1' id='type-id-21'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node rcu_head::next -->
-        <var-decl name='next' type-id='type-id-24' visibility='default' filepath='../include/urcu/call-rcu.h' line='58' column='1'/>
+        <var-decl name='next' type-id='type-id-22' visibility='default' filepath='../include/urcu/call-rcu.h' line='58' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void (rcu_head*)* rcu_head::func -->
-        <var-decl name='func' type-id='type-id-25' visibility='default' filepath='../include/urcu/call-rcu.h' line='59' column='1'/>
+        <var-decl name='func' type-id='type-id-23' visibility='default' filepath='../include/urcu/call-rcu.h' line='59' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_node -->
-    <class-decl name='cds_wfcq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='59' column='1' id='type-id-24'>
+    <class-decl name='cds_wfcq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='59' column='1' id='type-id-22'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node* cds_wfcq_node::next -->
-        <var-decl name='next' type-id='type-id-26' visibility='default' filepath='../include/urcu/wfcqueue.h' line='60' column='1'/>
+        <var-decl name='next' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='60' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_wfcq_node* -->
+    <pointer-type-def type-id='type-id-22' size-in-bits='64' id='type-id-24'/>
+    <!-- rcu_head* -->
+    <pointer-type-def type-id='type-id-21' size-in-bits='64' id='type-id-25'/>
+    <!-- void (rcu_head*)* -->
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-23'/>
+    <!-- void (rcu_head*, void (rcu_head*)*)* -->
+    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-15'/>
+    <!-- void* -->
+    <pointer-type-def type-id='type-id-18' size-in-bits='64' id='type-id-28'/>
+    <!-- void (void*)* -->
+    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-30'/>
+    <!-- void (void (void*)*, void*)* -->
+    <pointer-type-def type-id='type-id-31' size-in-bits='64' id='type-id-16'/>
     <!-- struct urcu_atfork -->
-    <class-decl name='urcu_atfork' size-in-bits='256' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='32' column='1' id='type-id-27'>
+    <class-decl name='urcu_atfork' size-in-bits='256' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='32' column='1' id='type-id-32'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- void (void*)* urcu_atfork::before_fork -->
-        <var-decl name='before_fork' type-id='type-id-28' visibility='default' filepath='../include/urcu/flavor.h' line='33' column='1'/>
+        <var-decl name='before_fork' type-id='type-id-30' visibility='default' filepath='../include/urcu/flavor.h' line='33' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void (void*)* urcu_atfork::after_fork_parent -->
-        <var-decl name='after_fork_parent' type-id='type-id-28' visibility='default' filepath='../include/urcu/flavor.h' line='34' column='1'/>
+        <var-decl name='after_fork_parent' type-id='type-id-30' visibility='default' filepath='../include/urcu/flavor.h' line='34' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- void (void*)* urcu_atfork::after_fork_child -->
-        <var-decl name='after_fork_child' type-id='type-id-28' visibility='default' filepath='../include/urcu/flavor.h' line='35' column='1'/>
+        <var-decl name='after_fork_child' type-id='type-id-30' visibility='default' filepath='../include/urcu/flavor.h' line='35' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- void* urcu_atfork::priv -->
-        <var-decl name='priv' type-id='type-id-29' visibility='default' filepath='../include/urcu/flavor.h' line='36' column='1'/>
+        <var-decl name='priv' type-id='type-id-28' visibility='default' filepath='../include/urcu/flavor.h' line='36' column='1'/>
       </data-member>
     </class-decl>
+    <!-- urcu_atfork* -->
+    <pointer-type-def type-id='type-id-32' size-in-bits='64' id='type-id-33'/>
+    <!-- void (urcu_atfork*)* -->
+    <pointer-type-def type-id='type-id-34' size-in-bits='64' id='type-id-17'/>
+    <!-- const rcu_flavor_struct -->
+    <qualified-type-def type-id='type-id-12' const='yes' id='type-id-35'/>
+    <!-- const rcu_flavor_struct urcu_memb_flavor -->
+    <var-decl name='urcu_memb_flavor' type-id='type-id-35' mangled-name='rcu_flavor_memb' visibility='default' filepath='../include/urcu/flavor.h' line='90' column='1' elf-symbol-id='rcu_flavor_memb'/>
+    <!-- void urcu_memb_defer_exit() -->
+    <function-decl name='urcu_memb_defer_exit' mangled-name='urcu_memb_defer_exit' filepath='src/urcu-defer-impl.h' line='476' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_defer_exit'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_defer_unregister_thread() -->
+    <function-decl name='urcu_memb_defer_unregister_thread' mangled-name='rcu_defer_unregister_thread_memb' filepath='src/urcu-defer-impl.h' line='456' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_unregister_thread_memb'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- int urcu_memb_defer_register_thread() -->
+    <function-decl name='urcu_memb_defer_register_thread' mangled-name='urcu_memb_defer_register_thread' filepath='src/urcu-defer-impl.h' line='432' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_defer_register_thread'>
+      <!-- int -->
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <!-- void urcu_memb_defer_rcu(void (void*)*, void*) -->
+    <function-decl name='urcu_memb_defer_rcu' mangled-name='defer_rcu_memb' filepath='src/urcu-defer-impl.h' line='400' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='defer_rcu_memb'>
+      <!-- parameter of type 'void (void*)*' -->
+      <parameter type-id='type-id-30' name='fct' filepath='src/urcu-defer-impl.h' line='400' column='1'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-28' name='p' filepath='src/urcu-defer-impl.h' line='400' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_defer_barrier() -->
+    <function-decl name='urcu_memb_defer_barrier' mangled-name='rcu_defer_barrier_memb' filepath='src/urcu-defer-impl.h' line='284' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_barrier_memb'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_defer_barrier_thread() -->
+    <function-decl name='urcu_memb_defer_barrier_thread' mangled-name='rcu_defer_barrier_thread_memb' filepath='src/urcu-defer-impl.h' line='262' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_barrier_thread_memb'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_unregister_rculfhash_atfork(urcu_atfork*) -->
+    <function-decl name='urcu_memb_unregister_rculfhash_atfork' mangled-name='urcu_memb_unregister_rculfhash_atfork' filepath='src/urcu-call-rcu-impl.h' line='1056' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_unregister_rculfhash_atfork'>
+      <!-- parameter of type 'urcu_atfork*' -->
+      <parameter type-id='type-id-33' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1056' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_register_rculfhash_atfork(urcu_atfork*) -->
+    <function-decl name='urcu_memb_register_rculfhash_atfork' mangled-name='urcu_register_rculfhash_atfork_memb' filepath='src/urcu-call-rcu-impl.h' line='1044' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_register_rculfhash_atfork_memb'>
+      <!-- parameter of type 'urcu_atfork*' -->
+      <parameter type-id='type-id-33' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1056' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_call_rcu_after_fork_child() -->
+    <function-decl name='urcu_memb_call_rcu_after_fork_child' mangled-name='call_rcu_after_fork_child_memb' filepath='src/urcu-call-rcu-impl.h' line='1000' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_after_fork_child_memb'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_call_rcu_after_fork_parent() -->
+    <function-decl name='urcu_memb_call_rcu_after_fork_parent' mangled-name='urcu_memb_call_rcu_after_fork_parent' filepath='src/urcu-call-rcu-impl.h' line='976' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_call_rcu_after_fork_parent'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_call_rcu_before_fork() -->
+    <function-decl name='urcu_memb_call_rcu_before_fork' mangled-name='urcu_memb_call_rcu_before_fork' filepath='src/urcu-call-rcu-impl.h' line='947' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_call_rcu_before_fork'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_barrier() -->
+    <function-decl name='urcu_memb_barrier' mangled-name='rcu_barrier_memb' filepath='src/urcu-call-rcu-impl.h' line='874' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_barrier_memb'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_free_all_cpu_call_rcu_data() -->
+    <function-decl name='urcu_memb_free_all_cpu_call_rcu_data' mangled-name='urcu_memb_free_all_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='801' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_free_all_cpu_call_rcu_data'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
     <!-- struct call_rcu_data -->
-    <class-decl name='call_rcu_data' size-in-bits='1024' is-struct='yes' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='53' column='1' id='type-id-30'>
+    <class-decl name='call_rcu_data' size-in-bits='1024' is-struct='yes' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='53' column='1' id='type-id-36'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_tail call_rcu_data::cbs_tail -->
-        <var-decl name='cbs_tail' type-id='type-id-31' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='61' column='1'/>
+        <var-decl name='cbs_tail' type-id='type-id-37' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='61' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- cds_wfcq_head call_rcu_data::cbs_head -->
-        <var-decl name='cbs_head' type-id='type-id-32' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='62' column='1'/>
+        <var-decl name='cbs_head' type-id='type-id-38' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='62' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='448'>
         <!-- unsigned long int call_rcu_data::flags -->
       </data-member>
       <data-member access='public' layout-offset-in-bits='512'>
         <!-- int32_t call_rcu_data::futex -->
-        <var-decl name='futex' type-id='type-id-11' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='64' column='1'/>
+        <var-decl name='futex' type-id='type-id-4' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='64' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='576'>
         <!-- unsigned long int call_rcu_data::qlen -->
       </data-member>
       <data-member access='public' layout-offset-in-bits='640'>
         <!-- pthread_t call_rcu_data::tid -->
-        <var-decl name='tid' type-id='type-id-15' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='66' column='1'/>
+        <var-decl name='tid' type-id='type-id-9' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='66' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='704'>
         <!-- int call_rcu_data::cpu_affinity -->
-        <var-decl name='cpu_affinity' type-id='type-id-5' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='67' column='1'/>
+        <var-decl name='cpu_affinity' type-id='type-id-1' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='67' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='768'>
         <!-- unsigned long int call_rcu_data::gp_count -->
       </data-member>
       <data-member access='public' layout-offset-in-bits='832'>
         <!-- cds_list_head call_rcu_data::list -->
-        <var-decl name='list' type-id='type-id-14' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='69' column='1'/>
+        <var-decl name='list' type-id='type-id-8' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='69' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_tail -->
-    <class-decl name='cds_wfcq_tail' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='127' column='1' id='type-id-31'>
+    <class-decl name='cds_wfcq_tail' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='127' column='1' id='type-id-37'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node* cds_wfcq_tail::p -->
-        <var-decl name='p' type-id='type-id-26' visibility='default' filepath='../include/urcu/wfcqueue.h' line='128' column='1'/>
+        <var-decl name='p' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='128' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_head -->
-    <class-decl name='cds_wfcq_head' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='72' column='1' id='type-id-32'>
+    <class-decl name='cds_wfcq_head' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='72' column='1' id='type-id-38'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node cds_wfcq_head::node -->
-        <var-decl name='node' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='73' column='1'/>
+        <var-decl name='node' type-id='type-id-22' visibility='default' filepath='../include/urcu/wfcqueue.h' line='73' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- pthread_mutex_t cds_wfcq_head::lock -->
-        <var-decl name='lock' type-id='type-id-33' visibility='default' filepath='../include/urcu/wfcqueue.h' line='74' column='1'/>
+        <var-decl name='lock' type-id='type-id-39' visibility='default' filepath='../include/urcu/wfcqueue.h' line='74' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __anonymous_union__ pthread_mutex_t -->
-    <typedef-decl name='pthread_mutex_t' type-id='type-id-34' filepath='/usr/include/bits/pthreadtypes.h' line='72' column='1' id='type-id-33'/>
-    <!-- union {__pthread_mutex_s __data; char __size[40]; long int __align;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='67' column='1' id='type-id-34'>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='67' column='1' id='type-id-40'>
       <data-member access='private'>
-        <!-- __pthread_mutex_s __data -->
-        <var-decl name='__data' type-id='type-id-35' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='69' column='1'/>
+        <!-- __pthread_mutex_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-41' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='69' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- char __size[40] -->
-        <var-decl name='__size' type-id='type-id-2' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='70' column='1'/>
+        <!-- char __anonymous_union__::__size[40] -->
+        <var-decl name='__size' type-id='type-id-42' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='70' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- long int __align -->
-        <var-decl name='__align' type-id='type-id-6' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='71' column='1'/>
+        <!-- long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-43' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='71' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __pthread_mutex_s -->
-    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='22' column='1' id='type-id-35'>
+    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='118' column='1' id='type-id-41'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- int __pthread_mutex_s::__lock -->
-        <var-decl name='__lock' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='24' column='1'/>
+        <var-decl name='__lock' type-id='type-id-1' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='120' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='32'>
         <!-- unsigned int __pthread_mutex_s::__count -->
-        <var-decl name='__count' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='25' column='1'/>
+        <var-decl name='__count' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='121' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- int __pthread_mutex_s::__owner -->
-        <var-decl name='__owner' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='26' column='1'/>
+        <var-decl name='__owner' type-id='type-id-1' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='122' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='96'>
         <!-- unsigned int __pthread_mutex_s::__nusers -->
-        <var-decl name='__nusers' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='28' column='1'/>
+        <var-decl name='__nusers' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='124' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- int __pthread_mutex_s::__kind -->
-        <var-decl name='__kind' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='32' column='1'/>
+        <var-decl name='__kind' type-id='type-id-1' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='148' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='160'>
         <!-- short int __pthread_mutex_s::__spins -->
-        <var-decl name='__spins' type-id='type-id-7' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='34' column='1'/>
+        <var-decl name='__spins' type-id='type-id-44' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='176'>
         <!-- short int __pthread_mutex_s::__elision -->
-        <var-decl name='__elision' type-id='type-id-7' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='35' column='1'/>
+        <var-decl name='__elision' type-id='type-id-44' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- __pthread_list_t __pthread_mutex_s::__list -->
-        <var-decl name='__list' type-id='type-id-36' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='36' column='1'/>
+        <var-decl name='__list' type-id='type-id-45' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='155' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __pthread_internal_list __pthread_list_t -->
-    <typedef-decl name='__pthread_list_t' type-id='type-id-37' filepath='/usr/include/bits/thread-shared-types.h' line='53' column='1' id='type-id-36'/>
+    <!-- short int -->
+    <type-decl name='short int' size-in-bits='16' id='type-id-44'/>
     <!-- struct __pthread_internal_list -->
-    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='49' column='1' id='type-id-37'>
+    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='82' column='1' id='type-id-46'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- __pthread_internal_list* __pthread_internal_list::__prev -->
-        <var-decl name='__prev' type-id='type-id-38' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='51' column='1'/>
+        <var-decl name='__prev' type-id='type-id-47' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='84' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- __pthread_internal_list* __pthread_internal_list::__next -->
-        <var-decl name='__next' type-id='type-id-38' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='52' column='1'/>
+        <var-decl name='__next' type-id='type-id-47' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='85' column='1'/>
       </data-member>
     </class-decl>
     <!-- __pthread_internal_list* -->
-    <pointer-type-def type-id='type-id-37' size-in-bits='64' id='type-id-38'/>
+    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-47'/>
+    <!-- typedef __pthread_internal_list __pthread_list_t -->
+    <typedef-decl name='__pthread_list_t' type-id='type-id-46' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='86' column='1' id='type-id-45'/>
+
+    <!-- char[40] -->
+    <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='320' id='type-id-42'>
+      <!-- <anonymous range>[40] -->
+      <subrange length='40' type-id='type-id-3' id='type-id-48'/>
+
+    </array-type-def>
+    <!-- long int -->
+    <type-decl name='long int' size-in-bits='64' id='type-id-43'/>
+    <!-- typedef __anonymous_union__ pthread_mutex_t -->
+    <typedef-decl name='pthread_mutex_t' type-id='type-id-40' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='72' column='1' id='type-id-39'/>
     <!-- call_rcu_data* -->
-    <pointer-type-def type-id='type-id-30' size-in-bits='64' id='type-id-39'/>
-    <!-- cds_list_head* -->
-    <pointer-type-def type-id='type-id-14' size-in-bits='64' id='type-id-16'/>
-    <!-- cds_wfcq_node* -->
-    <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-26'/>
-    <!-- const rcu_flavor_struct -->
-    <qualified-type-def type-id='type-id-17' const='yes' id='type-id-40'/>
-    <!-- int ()* -->
-    <pointer-type-def type-id='type-id-41' size-in-bits='64' id='type-id-19'/>
-    <!-- rcu_head* -->
-    <pointer-type-def type-id='type-id-23' size-in-bits='64' id='type-id-42'/>
-    <!-- urcu_atfork* -->
-    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-43'/>
-    <!-- void ()* -->
-    <pointer-type-def type-id='type-id-44' size-in-bits='64' id='type-id-18'/>
-    <!-- void (rcu_head*)* -->
-    <pointer-type-def type-id='type-id-45' size-in-bits='64' id='type-id-25'/>
-    <!-- void (rcu_head*, void (rcu_head*)*)* -->
-    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-20'/>
-    <!-- void (urcu_atfork*)* -->
-    <pointer-type-def type-id='type-id-47' size-in-bits='64' id='type-id-22'/>
-    <!-- void (void (void*)*, void*)* -->
-    <pointer-type-def type-id='type-id-48' size-in-bits='64' id='type-id-21'/>
-    <!-- void (void*)* -->
-    <pointer-type-def type-id='type-id-49' size-in-bits='64' id='type-id-28'/>
-    <!-- void* -->
-    <pointer-type-def type-id='type-id-9' size-in-bits='64' id='type-id-29'/>
-    <!-- int urcu_memb_has_sys_membarrier -->
-    <var-decl name='urcu_memb_has_sys_membarrier' type-id='type-id-5' mangled-name='rcu_has_sys_membarrier_memb' visibility='default' filepath='../include/urcu/static/urcu-memb.h' line='72' column='1' elf-symbol-id='rcu_has_sys_membarrier_memb'/>
-    <!-- urcu_gp urcu_memb_gp -->
-    <var-decl name='urcu_memb_gp' type-id='type-id-10' mangled-name='urcu_memb_gp' visibility='default' filepath='../include/urcu/static/urcu-memb.h' line='83' column='1' elf-symbol-id='urcu_memb_gp'/>
-    <!-- urcu_reader urcu_memb_reader -->
-    <var-decl name='urcu_memb_reader' type-id='type-id-13' mangled-name='urcu_memb_reader' visibility='default' filepath='../include/urcu/static/urcu-memb.h' line='85' column='1' elf-symbol-id='urcu_memb_reader'/>
-    <!-- const rcu_flavor_struct urcu_memb_flavor -->
-    <var-decl name='urcu_memb_flavor' type-id='type-id-40' mangled-name='rcu_flavor_memb' visibility='default' filepath='../include/urcu/flavor.h' line='90' column='1' elf-symbol-id='rcu_flavor_memb'/>
-    <!-- void urcu_memb_defer_exit() -->
-    <function-decl name='urcu_memb_defer_exit' mangled-name='urcu_memb_defer_exit' filepath='src/urcu-defer-impl.h' line='476' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_defer_exit'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_memb_defer_unregister_thread() -->
-    <function-decl name='urcu_memb_defer_unregister_thread' mangled-name='rcu_defer_unregister_thread_memb' filepath='src/urcu-defer-impl.h' line='456' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_unregister_thread_memb'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- int urcu_memb_defer_register_thread() -->
-    <function-decl name='urcu_memb_defer_register_thread' mangled-name='urcu_memb_defer_register_thread' filepath='src/urcu-defer-impl.h' line='432' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_defer_register_thread'>
-      <!-- int -->
-      <return type-id='type-id-5'/>
-    </function-decl>
-    <!-- void urcu_memb_defer_rcu(void (void*)*, void*) -->
-    <function-decl name='urcu_memb_defer_rcu' mangled-name='defer_rcu_memb' filepath='src/urcu-defer-impl.h' line='400' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='defer_rcu_memb'>
-      <!-- parameter of type 'void (void*)*' -->
-      <parameter type-id='type-id-28' name='fct' filepath='src/urcu-defer-impl.h' line='400' column='1'/>
-      <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='p' filepath='src/urcu-defer-impl.h' line='400' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_memb_defer_barrier() -->
-    <function-decl name='urcu_memb_defer_barrier' mangled-name='rcu_defer_barrier_memb' filepath='src/urcu-defer-impl.h' line='284' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_barrier_memb'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_memb_defer_barrier_thread() -->
-    <function-decl name='urcu_memb_defer_barrier_thread' mangled-name='rcu_defer_barrier_thread_memb' filepath='src/urcu-defer-impl.h' line='262' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_barrier_thread_memb'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_memb_unregister_rculfhash_atfork(urcu_atfork*) -->
-    <function-decl name='urcu_memb_unregister_rculfhash_atfork' mangled-name='urcu_memb_unregister_rculfhash_atfork' filepath='src/urcu-call-rcu-impl.h' line='1056' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_unregister_rculfhash_atfork'>
-      <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-43' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1056' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_memb_register_rculfhash_atfork(urcu_atfork*) -->
-    <function-decl name='urcu_memb_register_rculfhash_atfork' mangled-name='urcu_register_rculfhash_atfork_memb' filepath='src/urcu-call-rcu-impl.h' line='1044' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_register_rculfhash_atfork_memb'>
-      <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-43' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1044' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_memb_call_rcu_after_fork_child() -->
-    <function-decl name='urcu_memb_call_rcu_after_fork_child' mangled-name='call_rcu_after_fork_child_memb' filepath='src/urcu-call-rcu-impl.h' line='1000' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_after_fork_child_memb'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_memb_call_rcu_after_fork_parent() -->
-    <function-decl name='urcu_memb_call_rcu_after_fork_parent' mangled-name='urcu_memb_call_rcu_after_fork_parent' filepath='src/urcu-call-rcu-impl.h' line='976' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_call_rcu_after_fork_parent'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_memb_call_rcu_before_fork() -->
-    <function-decl name='urcu_memb_call_rcu_before_fork' mangled-name='urcu_memb_call_rcu_before_fork' filepath='src/urcu-call-rcu-impl.h' line='947' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_call_rcu_before_fork'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_memb_barrier() -->
-    <function-decl name='urcu_memb_barrier' mangled-name='rcu_barrier_memb' filepath='src/urcu-call-rcu-impl.h' line='874' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_barrier_memb'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_memb_free_all_cpu_call_rcu_data() -->
-    <function-decl name='urcu_memb_free_all_cpu_call_rcu_data' mangled-name='urcu_memb_free_all_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='801' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_free_all_cpu_call_rcu_data'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
+    <pointer-type-def type-id='type-id-36' size-in-bits='64' id='type-id-49'/>
     <!-- void urcu_memb_call_rcu_data_free(call_rcu_data*) -->
     <function-decl name='urcu_memb_call_rcu_data_free' mangled-name='urcu_memb_call_rcu_data_free' filepath='src/urcu-call-rcu-impl.h' line='764' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_call_rcu_data_free'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='764' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='764' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void urcu_memb_call_rcu(rcu_head*, void (rcu_head*)*) -->
     <function-decl name='urcu_memb_call_rcu' mangled-name='urcu_memb_call_rcu' filepath='src/urcu-call-rcu-impl.h' line='725' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_call_rcu'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42' name='head' filepath='src/urcu-call-rcu-impl.h' line='725' column='1'/>
+      <parameter type-id='type-id-25' name='head' filepath='src/urcu-call-rcu-impl.h' line='725' column='1'/>
       <!-- parameter of type 'void (rcu_head*)*' -->
-      <parameter type-id='type-id-25' name='func' filepath='src/urcu-call-rcu-impl.h' line='726' column='1'/>
+      <parameter type-id='type-id-23' name='func' filepath='src/urcu-call-rcu-impl.h' line='726' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- int urcu_memb_create_all_cpu_call_rcu_data(unsigned long int) -->
     <function-decl name='urcu_memb_create_all_cpu_call_rcu_data' mangled-name='create_all_cpu_call_rcu_data_memb' filepath='src/urcu-call-rcu-impl.h' line='645' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='create_all_cpu_call_rcu_data_memb'>
       <!-- parameter of type 'unsigned long int' -->
       <parameter type-id='type-id-3' name='flags' filepath='src/urcu-call-rcu-impl.h' line='645' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
     </function-decl>
     <!-- void urcu_memb_set_thread_call_rcu_data(call_rcu_data*) -->
     <function-decl name='urcu_memb_set_thread_call_rcu_data' mangled-name='set_thread_call_rcu_data_memb' filepath='src/urcu-call-rcu-impl.h' line='630' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='set_thread_call_rcu_data_memb'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='630' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='630' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- call_rcu_data* urcu_memb_get_thread_call_rcu_data() -->
     <function-decl name='urcu_memb_get_thread_call_rcu_data' mangled-name='get_thread_call_rcu_data_memb' filepath='src/urcu-call-rcu-impl.h' line='612' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_thread_call_rcu_data_memb'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- call_rcu_data* urcu_memb_get_call_rcu_data() -->
     <function-decl name='urcu_memb_get_call_rcu_data' mangled-name='get_call_rcu_data_memb' filepath='src/urcu-call-rcu-impl.h' line='590' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_call_rcu_data_memb'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- call_rcu_data* urcu_memb_get_default_call_rcu_data() -->
     <function-decl name='urcu_memb_get_default_call_rcu_data' mangled-name='urcu_memb_get_default_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='563' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_get_default_call_rcu_data'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- int urcu_memb_set_cpu_call_rcu_data(int, call_rcu_data*) -->
     <function-decl name='urcu_memb_set_cpu_call_rcu_data' mangled-name='urcu_memb_set_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='522' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_set_cpu_call_rcu_data'>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='522' column='1'/>
+      <parameter type-id='type-id-1' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='522' column='1'/>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='522' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='522' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
     </function-decl>
     <!-- call_rcu_data* urcu_memb_create_call_rcu_data(unsigned long int, int) -->
     <function-decl name='urcu_memb_create_call_rcu_data' mangled-name='urcu_memb_create_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='498' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_create_call_rcu_data'>
       <!-- parameter of type 'unsigned long int' -->
       <parameter type-id='type-id-3' name='flags' filepath='src/urcu-call-rcu-impl.h' line='498' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu_affinity' filepath='src/urcu-call-rcu-impl.h' line='499' column='1'/>
+      <parameter type-id='type-id-1' name='cpu_affinity' filepath='src/urcu-call-rcu-impl.h' line='499' column='1'/>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- pthread_t urcu_memb_get_call_rcu_thread(call_rcu_data*) -->
     <function-decl name='urcu_memb_get_call_rcu_thread' mangled-name='urcu_memb_get_call_rcu_thread' filepath='src/urcu-call-rcu-impl.h' line='476' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_get_call_rcu_thread'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='476' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='476' column='1'/>
       <!-- typedef pthread_t -->
-      <return type-id='type-id-15'/>
+      <return type-id='type-id-9'/>
     </function-decl>
     <!-- call_rcu_data* urcu_memb_get_cpu_call_rcu_data(int) -->
     <function-decl name='urcu_memb_get_cpu_call_rcu_data' mangled-name='get_cpu_call_rcu_data_memb' filepath='src/urcu-call-rcu-impl.h' line='452' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_cpu_call_rcu_data_memb'>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='452' column='1'/>
+      <parameter type-id='type-id-1' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='452' column='1'/>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- void urcu_memb_init() -->
     <function-decl name='urcu_memb_init' mangled-name='rcu_init_memb' filepath='src/urcu.c' line='613' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_init_memb'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void urcu_memb_unregister_thread() -->
     <function-decl name='urcu_memb_unregister_thread' mangled-name='urcu_memb_unregister_thread' filepath='src/urcu.c' line='563' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_unregister_thread'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void urcu_memb_register_thread() -->
     <function-decl name='urcu_memb_register_thread' mangled-name='urcu_memb_register_thread' filepath='src/urcu.c' line='547' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_register_thread'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- int urcu_memb_read_ongoing() -->
     <function-decl name='urcu_memb_read_ongoing' mangled-name='urcu_memb_read_ongoing' filepath='src/urcu.c' line='540' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_read_ongoing'>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
     </function-decl>
     <!-- void urcu_memb_read_unlock() -->
     <function-decl name='urcu_memb_read_unlock' mangled-name='urcu_memb_read_unlock' filepath='src/urcu.c' line='533' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_read_unlock'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void urcu_memb_read_lock() -->
     <function-decl name='urcu_memb_read_lock' mangled-name='rcu_read_lock_memb' filepath='src/urcu.c' line='526' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_read_lock_memb'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void urcu_memb_synchronize_rcu() -->
     <function-decl name='urcu_memb_synchronize_rcu' mangled-name='urcu_memb_synchronize_rcu' filepath='src/urcu.c' line='403' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_synchronize_rcu'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- int () -->
-    <function-type size-in-bits='64' id='type-id-41'>
+    <function-type size-in-bits='64' id='type-id-20'>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
     </function-type>
     <!-- void () -->
-    <function-type size-in-bits='64' id='type-id-44'>
+    <function-type size-in-bits='64' id='type-id-19'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (rcu_head*) -->
-    <function-type size-in-bits='64' id='type-id-45'>
+    <function-type size-in-bits='64' id='type-id-26'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42'/>
+      <parameter type-id='type-id-25'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (rcu_head*, void (rcu_head*)*) -->
-    <function-type size-in-bits='64' id='type-id-46'>
+    <function-type size-in-bits='64' id='type-id-27'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42'/>
-      <!-- parameter of type 'void (rcu_head*)*' -->
       <parameter type-id='type-id-25'/>
+      <!-- parameter of type 'void (rcu_head*)*' -->
+      <parameter type-id='type-id-23'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (urcu_atfork*) -->
-    <function-type size-in-bits='64' id='type-id-47'>
+    <function-type size-in-bits='64' id='type-id-34'>
       <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-43'/>
+      <parameter type-id='type-id-33'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (void (void*)*, void*) -->
-    <function-type size-in-bits='64' id='type-id-48'>
+    <function-type size-in-bits='64' id='type-id-31'>
       <!-- parameter of type 'void (void*)*' -->
-      <parameter type-id='type-id-28'/>
+      <parameter type-id='type-id-30'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29'/>
+      <parameter type-id='type-id-28'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (void*) -->
-    <function-type size-in-bits='64' id='type-id-49'>
+    <function-type size-in-bits='64' id='type-id-29'>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29'/>
+      <parameter type-id='type-id-28'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='urcu-pointer.c' comp-dir-path='src' language='LANG_C99'>
     <!-- void** -->
-    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-50'/>
+    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-50'/>
     <!-- void* rcu_cmpxchg_pointer_sym(void**, void*, void*) -->
     <function-decl name='rcu_cmpxchg_pointer_sym' mangled-name='rcu_cmpxchg_pointer_sym' filepath='src/urcu-pointer.c' line='53' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_cmpxchg_pointer_sym'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='53' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='old' filepath='src/urcu-pointer.c' line='53' column='1'/>
+      <parameter type-id='type-id-28' name='old' filepath='src/urcu-pointer.c' line='53' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='_new' filepath='src/urcu-pointer.c' line='53' column='1'/>
+      <parameter type-id='type-id-28' name='_new' filepath='src/urcu-pointer.c' line='53' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-28'/>
     </function-decl>
     <!-- void* rcu_xchg_pointer_sym(void**, void*) -->
     <function-decl name='rcu_xchg_pointer_sym' mangled-name='rcu_xchg_pointer_sym' filepath='src/urcu-pointer.c' line='47' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_xchg_pointer_sym'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='47' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='v' filepath='src/urcu-pointer.c' line='47' column='1'/>
+      <parameter type-id='type-id-28' name='v' filepath='src/urcu-pointer.c' line='47' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-28'/>
     </function-decl>
     <!-- void* rcu_set_pointer_sym(void**, void*) -->
     <function-decl name='rcu_set_pointer_sym' mangled-name='rcu_set_pointer_sym' filepath='src/urcu-pointer.c' line='40' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_set_pointer_sym'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='40' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='v' filepath='src/urcu-pointer.c' line='40' column='1'/>
+      <parameter type-id='type-id-28' name='v' filepath='src/urcu-pointer.c' line='40' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-28'/>
     </function-decl>
     <!-- void* rcu_dereference_sym(void*) -->
     <function-decl name='rcu_dereference_sym' mangled-name='rcu_dereference_sym' filepath='src/urcu-pointer.c' line='35' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_dereference_sym'>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='p' filepath='src/urcu-pointer.c' line='35' column='1'/>
+      <parameter type-id='type-id-28' name='p' filepath='src/urcu-pointer.c' line='35' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-28'/>
     </function-decl>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='compat_futex.c' comp-dir-path='src' language='LANG_C99'>
-
-
-    <!-- char[48] -->
-    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='384' id='type-id-51'>
-      <!-- <anonymous range>[48] -->
-      <subrange length='48' type-id='type-id-3' id='type-id-52'/>
-
-    </array-type-def>
-    <!-- long long int -->
-    <type-decl name='long long int' size-in-bits='64' id='type-id-53'/>
-    <!-- long long unsigned int -->
-    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-54'/>
-    <!-- unsigned int[2] -->
-    <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='64' id='type-id-55'>
-      <!-- <anonymous range>[2] -->
-      <subrange length='2' type-id='type-id-3' id='type-id-56'/>
-
-    </array-type-def>
-    <!-- typedef __anonymous_union__ pthread_cond_t -->
-    <typedef-decl name='pthread_cond_t' type-id='type-id-57' filepath='/usr/include/bits/pthreadtypes.h' line='80' column='1' id='type-id-58'/>
-    <!-- union {__pthread_cond_s __data; char __size[48]; long long int __align;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='75' column='1' id='type-id-57'>
+    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
+    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-39' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='75' column='1' id='type-id-51'>
       <data-member access='private'>
-        <!-- __pthread_cond_s __data -->
-        <var-decl name='__data' type-id='type-id-59' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='77' column='1'/>
+        <!-- __pthread_cond_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-52' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='77' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- char __size[48] -->
-        <var-decl name='__size' type-id='type-id-51' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='78' column='1'/>
+        <!-- char __anonymous_union__::__size[48] -->
+        <var-decl name='__size' type-id='type-id-53' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='78' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- long long int __align -->
-        <var-decl name='__align' type-id='type-id-53' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='79' column='1'/>
+        <!-- long long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-54' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='79' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __pthread_cond_s -->
-    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='92' column='1' id='type-id-59'>
+    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='171' column='1' id='type-id-52'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <!-- union {long long unsigned int __wseq; struct {unsigned int __low; unsigned int __high;} __wseq32;} -->
-        <var-decl name='' type-id='type-id-60' visibility='default'/>
+        <!-- __anonymous_union__  -->
+        <var-decl name='' type-id='type-id-55' visibility='default'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- unsigned int __pthread_cond_s::__g_refs[2] -->
-        <var-decl name='__g_refs' type-id='type-id-55' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='112' column='1'/>
+        <var-decl name='__g_refs' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='191' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- unsigned int __pthread_cond_s::__g_size[2] -->
-        <var-decl name='__g_size' type-id='type-id-55' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='113' column='1'/>
+        <var-decl name='__g_size' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='192' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- unsigned int __pthread_cond_s::__g1_orig_size -->
-        <var-decl name='__g1_orig_size' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='114' column='1'/>
+        <var-decl name='__g1_orig_size' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='193' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='288'>
         <!-- unsigned int __pthread_cond_s::__wrefs -->
-        <var-decl name='__wrefs' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='115' column='1'/>
+        <var-decl name='__wrefs' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='194' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
         <!-- unsigned int __pthread_cond_s::__g_signals[2] -->
-        <var-decl name='__g_signals' type-id='type-id-55' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='116' column='1'/>
+        <var-decl name='__g_signals' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='195' column='1'/>
       </data-member>
     </class-decl>
-    <!-- union {long long unsigned int __wseq; struct {unsigned int __low; unsigned int __high;} __wseq32;} -->
-    <union-decl name='__anonymous_union__1' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='94' column='1' id='type-id-60'>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='173' column='1' id='type-id-55'>
       <data-member access='private'>
-        <!-- long long unsigned int __wseq -->
-        <var-decl name='__wseq' type-id='type-id-54' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='96' column='1'/>
+        <!-- long long unsigned int __anonymous_union__::__wseq -->
+        <var-decl name='__wseq' type-id='type-id-57' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='175' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- struct {unsigned int __low; unsigned int __high;} __wseq32 -->
-        <var-decl name='__wseq32' type-id='type-id-61' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='101' column='1'/>
+        <!-- __anonymous_struct__ __anonymous_union__::__wseq32 -->
+        <var-decl name='__wseq32' type-id='type-id-58' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='180' column='1'/>
       </data-member>
     </union-decl>
-    <!-- struct {unsigned int __low; unsigned int __high;} -->
-    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='97' column='1' id='type-id-61'>
+    <!-- long long unsigned int -->
+    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-57'/>
+    <!-- struct __anonymous_struct__ -->
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='176' column='1' id='type-id-58'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <!-- unsigned int __low -->
-        <var-decl name='__low' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='99' column='1'/>
+        <!-- unsigned int __anonymous_struct__::__low -->
+        <var-decl name='__low' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='178' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='32'>
-        <!-- unsigned int __high -->
-        <var-decl name='__high' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='100' column='1'/>
+        <!-- unsigned int __anonymous_struct__::__high -->
+        <var-decl name='__high' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='179' column='1'/>
       </data-member>
     </class-decl>
+
+    <!-- unsigned int[2] -->
+    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='64' id='type-id-56'>
+      <!-- <anonymous range>[2] -->
+      <subrange length='2' type-id='type-id-3' id='type-id-59'/>
+
+    </array-type-def>
+
+    <!-- char[48] -->
+    <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='384' id='type-id-53'>
+      <!-- <anonymous range>[48] -->
+      <subrange length='48' type-id='type-id-3' id='type-id-60'/>
+
+    </array-type-def>
+    <!-- long long int -->
+    <type-decl name='long long int' size-in-bits='64' id='type-id-54'/>
+    <!-- typedef __anonymous_union__ pthread_cond_t -->
+    <typedef-decl name='pthread_cond_t' type-id='type-id-51' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='80' column='1' id='type-id-61'/>
+    <!-- pthread_cond_t __urcu_compat_futex_cond -->
+    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-61' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
+    <!-- int32_t* -->
+    <pointer-type-def type-id='type-id-4' size-in-bits='64' id='type-id-62'/>
     <!-- struct timespec -->
-    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='10' column='1' id='type-id-62'>
+    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='9' column='1' id='type-id-63'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- __time_t timespec::tv_sec -->
-        <var-decl name='tv_sec' type-id='type-id-63' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='12' column='1'/>
+        <var-decl name='tv_sec' type-id='type-id-64' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='11' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- __syscall_slong_t timespec::tv_nsec -->
-        <var-decl name='tv_nsec' type-id='type-id-64' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='16' column='1'/>
+        <var-decl name='tv_nsec' type-id='type-id-65' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='12' column='1'/>
       </data-member>
     </class-decl>
     <!-- typedef long int __time_t -->
-    <typedef-decl name='__time_t' type-id='type-id-6' filepath='/usr/include/bits/types.h' line='160' column='1' id='type-id-63'/>
+    <typedef-decl name='__time_t' type-id='type-id-43' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='148' column='1' id='type-id-64'/>
     <!-- typedef long int __syscall_slong_t -->
-    <typedef-decl name='__syscall_slong_t' type-id='type-id-6' filepath='/usr/include/bits/types.h' line='197' column='1' id='type-id-64'/>
+    <typedef-decl name='__syscall_slong_t' type-id='type-id-43' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='184' column='1' id='type-id-65'/>
     <!-- const timespec -->
-    <qualified-type-def type-id='type-id-62' const='yes' id='type-id-65'/>
+    <qualified-type-def type-id='type-id-63' const='yes' id='type-id-66'/>
     <!-- const timespec* -->
-    <pointer-type-def type-id='type-id-65' size-in-bits='64' id='type-id-66'/>
-    <!-- int32_t* -->
-    <pointer-type-def type-id='type-id-11' size-in-bits='64' id='type-id-67'/>
-    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
-    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-33' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
-    <!-- pthread_cond_t __urcu_compat_futex_cond -->
-    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-58' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
+    <pointer-type-def type-id='type-id-66' size-in-bits='64' id='type-id-67'/>
     <!-- int compat_futex_async(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
     <function-decl name='compat_futex_async' mangled-name='compat_futex_async' filepath='src/compat_futex.c' line='118' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_async'>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-1' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-4' name='val' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'const timespec*' -->
-      <parameter type-id='type-id-66' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-67' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val3' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-4' name='val3' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
     </function-decl>
     <!-- int compat_futex_noasync(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
     <function-decl name='compat_futex_noasync' mangled-name='compat_futex_noasync' filepath='src/compat_futex.c' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_noasync'>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-1' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-4' name='val' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'const timespec*' -->
-      <parameter type-id='type-id-66' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-67' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val3' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-4' name='val3' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
     </function-decl>
   </abi-instr>
 </abi-corpus>
index ccfa14f3ce2d33e749b180a2ea618b6eeff048d2..184b474513b8b843a18cfa4077593665c9d81b17 100644 (file)
@@ -1,11 +1,14 @@
 <abi-corpus architecture='elf-amd-x86_64' soname='liburcu-bp.so.6'>
   <elf-needed>
-    <dependency name='liburcu-common.so.6'/>
     <dependency name='libpthread.so.0'/>
     <dependency name='libc.so.6'/>
     <dependency name='ld-linux-x86-64.so.2'/>
   </elf-needed>
   <elf-function-symbols>
+    <!-- _fini -->
+    <elf-symbol name='_fini' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- _init -->
+    <elf-symbol name='_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- call_rcu_after_fork_child_bp -->
     <elf-symbol name='call_rcu_after_fork_child_bp' type='func-type' binding='global-binding' visibility='default-visibility' alias='urcu_bp_call_rcu_after_fork_child' is-defined='yes'/>
     <!-- call_rcu_after_fork_parent_bp -->
     <elf-symbol name='urcu_bp_reader' size='8' type='tls-type' binding='global-binding' visibility='default-visibility' alias='rcu_reader_bp' is-defined='yes'/>
   </elf-variable-symbols>
   <abi-instr version='1.0' address-size='64' path='urcu-bp.c' comp-dir-path='src' language='LANG_C99'>
-
-    <!-- char -->
-    <type-decl name='char' size-in-bits='8' id='type-id-1'/>
-    <!-- char[40] -->
-    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='320' id='type-id-2'>
-      <!-- <anonymous range>[40] -->
-      <subrange length='40' type-id='type-id-3' id='type-id-4'/>
-
-    </array-type-def>
     <!-- int -->
-    <type-decl name='int' size-in-bits='32' id='type-id-5'/>
-    <!-- long int -->
-    <type-decl name='long int' size-in-bits='64' id='type-id-6'/>
-    <!-- short int -->
-    <type-decl name='short int' size-in-bits='16' id='type-id-7'/>
-    <!-- unsigned int -->
-    <type-decl name='unsigned int' size-in-bits='32' id='type-id-8'/>
-    <!-- unsigned long int -->
-    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-3'/>
-    <!-- void -->
-    <type-decl name='void' id='type-id-9'/>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <!-- int urcu_bp_has_sys_membarrier -->
+    <var-decl name='urcu_bp_has_sys_membarrier' type-id='type-id-1' mangled-name='urcu_bp_has_sys_membarrier' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='109' column='1' elf-symbol-id='urcu_bp_has_sys_membarrier'/>
     <!-- struct urcu_bp_gp -->
-    <class-decl name='urcu_bp_gp' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='77' column='1' id='type-id-10'>
+    <class-decl name='urcu_bp_gp' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='77' column='1' id='type-id-2'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned long int urcu_bp_gp::ctr -->
         <var-decl name='ctr' type-id='type-id-3' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='85' column='1'/>
       </data-member>
     </class-decl>
+    <!-- unsigned long int -->
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-3'/>
+    <!-- urcu_bp_gp urcu_bp_gp -->
+    <var-decl name='urcu_bp_gp' type-id='type-id-2' mangled-name='rcu_gp_bp' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='88' column='1' elf-symbol-id='rcu_gp_bp'/>
     <!-- struct urcu_bp_reader -->
-    <class-decl name='urcu_bp_reader' size-in-bits='2048' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='90' column='1' id='type-id-11'>
+    <class-decl name='urcu_bp_reader' size-in-bits='2048' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='90' column='1' id='type-id-4'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned long int urcu_bp_reader::ctr -->
         <var-decl name='ctr' type-id='type-id-3' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='92' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1024'>
         <!-- cds_list_head urcu_bp_reader::node -->
-        <var-decl name='node' type-id='type-id-12' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='94' column='1'/>
+        <var-decl name='node' type-id='type-id-5' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='94' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1152'>
         <!-- pthread_t urcu_bp_reader::tid -->
-        <var-decl name='tid' type-id='type-id-13' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='95' column='1'/>
+        <var-decl name='tid' type-id='type-id-6' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='95' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1216'>
         <!-- int urcu_bp_reader::alloc -->
-        <var-decl name='alloc' type-id='type-id-5' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='96' column='1'/>
+        <var-decl name='alloc' type-id='type-id-1' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='96' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_list_head -->
-    <class-decl name='cds_list_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/list.h' line='37' column='1' id='type-id-12'>
+    <class-decl name='cds_list_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/list.h' line='37' column='1' id='type-id-5'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_list_head* cds_list_head::next -->
-        <var-decl name='next' type-id='type-id-14' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
+        <var-decl name='next' type-id='type-id-7' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- cds_list_head* cds_list_head::prev -->
-        <var-decl name='prev' type-id='type-id-14' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
+        <var-decl name='prev' type-id='type-id-7' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_list_head* -->
+    <pointer-type-def type-id='type-id-5' size-in-bits='64' id='type-id-7'/>
     <!-- typedef unsigned long int pthread_t -->
-    <typedef-decl name='pthread_t' type-id='type-id-3' filepath='/usr/include/bits/pthreadtypes.h' line='27' column='1' id='type-id-13'/>
+    <typedef-decl name='pthread_t' type-id='type-id-3' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='27' column='1' id='type-id-6'/>
+    <!-- urcu_bp_reader* -->
+    <pointer-type-def type-id='type-id-4' size-in-bits='64' id='type-id-8'/>
+    <!-- urcu_bp_reader* urcu_bp_reader -->
+    <var-decl name='urcu_bp_reader' type-id='type-id-8' mangled-name='urcu_bp_reader' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='104' column='1' elf-symbol-id='urcu_bp_reader'/>
     <!-- struct rcu_flavor_struct -->
-    <class-decl name='rcu_flavor_struct' size-in-bits='896' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='42' column='1' id='type-id-15'>
+    <class-decl name='rcu_flavor_struct' size-in-bits='896' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='42' column='1' id='type-id-9'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- void ()* rcu_flavor_struct::read_lock -->
-        <var-decl name='read_lock' type-id='type-id-16' visibility='default' filepath='../include/urcu/flavor.h' line='43' column='1'/>
+        <var-decl name='read_lock' type-id='type-id-10' visibility='default' filepath='../include/urcu/flavor.h' line='43' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void ()* rcu_flavor_struct::read_unlock -->
-        <var-decl name='read_unlock' type-id='type-id-16' visibility='default' filepath='../include/urcu/flavor.h' line='44' column='1'/>
+        <var-decl name='read_unlock' type-id='type-id-10' visibility='default' filepath='../include/urcu/flavor.h' line='44' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- int ()* rcu_flavor_struct::read_ongoing -->
-        <var-decl name='read_ongoing' type-id='type-id-17' visibility='default' filepath='../include/urcu/flavor.h' line='45' column='1'/>
+        <var-decl name='read_ongoing' type-id='type-id-11' visibility='default' filepath='../include/urcu/flavor.h' line='45' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- void ()* rcu_flavor_struct::read_quiescent_state -->
-        <var-decl name='read_quiescent_state' type-id='type-id-16' visibility='default' filepath='../include/urcu/flavor.h' line='46' column='1'/>
+        <var-decl name='read_quiescent_state' type-id='type-id-10' visibility='default' filepath='../include/urcu/flavor.h' line='46' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- void (rcu_head*, void (rcu_head*)*)* rcu_flavor_struct::update_call_rcu -->
-        <var-decl name='update_call_rcu' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='47' column='1'/>
+        <var-decl name='update_call_rcu' type-id='type-id-12' visibility='default' filepath='../include/urcu/flavor.h' line='47' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
         <!-- void ()* rcu_flavor_struct::update_synchronize_rcu -->
-        <var-decl name='update_synchronize_rcu' type-id='type-id-16' visibility='default' filepath='../include/urcu/flavor.h' line='49' column='1'/>
+        <var-decl name='update_synchronize_rcu' type-id='type-id-10' visibility='default' filepath='../include/urcu/flavor.h' line='49' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='384'>
         <!-- void (void (void*)*, void*)* rcu_flavor_struct::update_defer_rcu -->
-        <var-decl name='update_defer_rcu' type-id='type-id-19' visibility='default' filepath='../include/urcu/flavor.h' line='50' column='1'/>
+        <var-decl name='update_defer_rcu' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='50' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='448'>
         <!-- void ()* rcu_flavor_struct::thread_offline -->
-        <var-decl name='thread_offline' type-id='type-id-16' visibility='default' filepath='../include/urcu/flavor.h' line='52' column='1'/>
+        <var-decl name='thread_offline' type-id='type-id-10' visibility='default' filepath='../include/urcu/flavor.h' line='52' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='512'>
         <!-- void ()* rcu_flavor_struct::thread_online -->
-        <var-decl name='thread_online' type-id='type-id-16' visibility='default' filepath='../include/urcu/flavor.h' line='53' column='1'/>
+        <var-decl name='thread_online' type-id='type-id-10' visibility='default' filepath='../include/urcu/flavor.h' line='53' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='576'>
         <!-- void ()* rcu_flavor_struct::register_thread -->
-        <var-decl name='register_thread' type-id='type-id-16' visibility='default' filepath='../include/urcu/flavor.h' line='54' column='1'/>
+        <var-decl name='register_thread' type-id='type-id-10' visibility='default' filepath='../include/urcu/flavor.h' line='54' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='640'>
         <!-- void ()* rcu_flavor_struct::unregister_thread -->
-        <var-decl name='unregister_thread' type-id='type-id-16' visibility='default' filepath='../include/urcu/flavor.h' line='55' column='1'/>
+        <var-decl name='unregister_thread' type-id='type-id-10' visibility='default' filepath='../include/urcu/flavor.h' line='55' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='704'>
         <!-- void ()* rcu_flavor_struct::barrier -->
-        <var-decl name='barrier' type-id='type-id-16' visibility='default' filepath='../include/urcu/flavor.h' line='57' column='1'/>
+        <var-decl name='barrier' type-id='type-id-10' visibility='default' filepath='../include/urcu/flavor.h' line='57' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='768'>
         <!-- void (urcu_atfork*)* rcu_flavor_struct::register_rculfhash_atfork -->
-        <var-decl name='register_rculfhash_atfork' type-id='type-id-20' visibility='default' filepath='../include/urcu/flavor.h' line='59' column='1'/>
+        <var-decl name='register_rculfhash_atfork' type-id='type-id-14' visibility='default' filepath='../include/urcu/flavor.h' line='59' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='832'>
         <!-- void (urcu_atfork*)* rcu_flavor_struct::unregister_rculfhash_atfork -->
-        <var-decl name='unregister_rculfhash_atfork' type-id='type-id-20' visibility='default' filepath='../include/urcu/flavor.h' line='60' column='1'/>
+        <var-decl name='unregister_rculfhash_atfork' type-id='type-id-14' visibility='default' filepath='../include/urcu/flavor.h' line='60' column='1'/>
       </data-member>
     </class-decl>
+    <!-- void -->
+    <type-decl name='void' id='type-id-15'/>
+    <!-- void ()* -->
+    <pointer-type-def type-id='type-id-16' size-in-bits='64' id='type-id-10'/>
+    <!-- int ()* -->
+    <pointer-type-def type-id='type-id-17' size-in-bits='64' id='type-id-11'/>
     <!-- struct rcu_head -->
-    <class-decl name='rcu_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/call-rcu.h' line='57' column='1' id='type-id-21'>
+    <class-decl name='rcu_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/call-rcu.h' line='57' column='1' id='type-id-18'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node rcu_head::next -->
-        <var-decl name='next' type-id='type-id-22' visibility='default' filepath='../include/urcu/call-rcu.h' line='58' column='1'/>
+        <var-decl name='next' type-id='type-id-19' visibility='default' filepath='../include/urcu/call-rcu.h' line='58' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void (rcu_head*)* rcu_head::func -->
-        <var-decl name='func' type-id='type-id-23' visibility='default' filepath='../include/urcu/call-rcu.h' line='59' column='1'/>
+        <var-decl name='func' type-id='type-id-20' visibility='default' filepath='../include/urcu/call-rcu.h' line='59' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_node -->
-    <class-decl name='cds_wfcq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='59' column='1' id='type-id-22'>
+    <class-decl name='cds_wfcq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='59' column='1' id='type-id-19'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node* cds_wfcq_node::next -->
-        <var-decl name='next' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='60' column='1'/>
+        <var-decl name='next' type-id='type-id-21' visibility='default' filepath='../include/urcu/wfcqueue.h' line='60' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_wfcq_node* -->
+    <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-21'/>
+    <!-- rcu_head* -->
+    <pointer-type-def type-id='type-id-18' size-in-bits='64' id='type-id-22'/>
+    <!-- void (rcu_head*)* -->
+    <pointer-type-def type-id='type-id-23' size-in-bits='64' id='type-id-20'/>
+    <!-- void (rcu_head*, void (rcu_head*)*)* -->
+    <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-12'/>
+    <!-- void* -->
+    <pointer-type-def type-id='type-id-15' size-in-bits='64' id='type-id-25'/>
+    <!-- void (void*)* -->
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-27'/>
+    <!-- void (void (void*)*, void*)* -->
+    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-13'/>
     <!-- struct urcu_atfork -->
-    <class-decl name='urcu_atfork' size-in-bits='256' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='32' column='1' id='type-id-25'>
+    <class-decl name='urcu_atfork' size-in-bits='256' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='32' column='1' id='type-id-29'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- void (void*)* urcu_atfork::before_fork -->
-        <var-decl name='before_fork' type-id='type-id-26' visibility='default' filepath='../include/urcu/flavor.h' line='33' column='1'/>
+        <var-decl name='before_fork' type-id='type-id-27' visibility='default' filepath='../include/urcu/flavor.h' line='33' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void (void*)* urcu_atfork::after_fork_parent -->
-        <var-decl name='after_fork_parent' type-id='type-id-26' visibility='default' filepath='../include/urcu/flavor.h' line='34' column='1'/>
+        <var-decl name='after_fork_parent' type-id='type-id-27' visibility='default' filepath='../include/urcu/flavor.h' line='34' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- void (void*)* urcu_atfork::after_fork_child -->
-        <var-decl name='after_fork_child' type-id='type-id-26' visibility='default' filepath='../include/urcu/flavor.h' line='35' column='1'/>
+        <var-decl name='after_fork_child' type-id='type-id-27' visibility='default' filepath='../include/urcu/flavor.h' line='35' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- void* urcu_atfork::priv -->
-        <var-decl name='priv' type-id='type-id-27' visibility='default' filepath='../include/urcu/flavor.h' line='36' column='1'/>
+        <var-decl name='priv' type-id='type-id-25' visibility='default' filepath='../include/urcu/flavor.h' line='36' column='1'/>
       </data-member>
     </class-decl>
+    <!-- urcu_atfork* -->
+    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-30'/>
+    <!-- void (urcu_atfork*)* -->
+    <pointer-type-def type-id='type-id-31' size-in-bits='64' id='type-id-14'/>
+    <!-- const rcu_flavor_struct -->
+    <qualified-type-def type-id='type-id-9' const='yes' id='type-id-32'/>
+    <!-- const rcu_flavor_struct urcu_bp_flavor -->
+    <var-decl name='urcu_bp_flavor' type-id='type-id-32' mangled-name='rcu_flavor_bp' visibility='default' filepath='../include/urcu/flavor.h' line='90' column='1' elf-symbol-id='rcu_flavor_bp'/>
+    <!-- void urcu_bp_defer_exit() -->
+    <function-decl name='urcu_bp_defer_exit' mangled-name='urcu_bp_defer_exit' filepath='src/urcu-defer-impl.h' line='476' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_defer_exit'>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <!-- void urcu_bp_defer_unregister_thread() -->
+    <function-decl name='urcu_bp_defer_unregister_thread' mangled-name='urcu_bp_defer_unregister_thread' filepath='src/urcu-defer-impl.h' line='456' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_defer_unregister_thread'>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <!-- int urcu_bp_defer_register_thread() -->
+    <function-decl name='urcu_bp_defer_register_thread' mangled-name='urcu_bp_defer_register_thread' filepath='src/urcu-defer-impl.h' line='432' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_defer_register_thread'>
+      <!-- int -->
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <!-- void urcu_bp_defer_rcu(void (void*)*, void*) -->
+    <function-decl name='urcu_bp_defer_rcu' mangled-name='defer_rcu_bp' filepath='src/urcu-defer-impl.h' line='400' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='defer_rcu_bp'>
+      <!-- parameter of type 'void (void*)*' -->
+      <parameter type-id='type-id-27' name='fct' filepath='src/urcu-defer-impl.h' line='400' column='1'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-25' name='p' filepath='src/urcu-defer-impl.h' line='400' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <!-- void urcu_bp_defer_barrier() -->
+    <function-decl name='urcu_bp_defer_barrier' mangled-name='rcu_defer_barrier_bp' filepath='src/urcu-defer-impl.h' line='284' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_barrier_bp'>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <!-- void urcu_bp_defer_barrier_thread() -->
+    <function-decl name='urcu_bp_defer_barrier_thread' mangled-name='rcu_defer_barrier_thread_bp' filepath='src/urcu-defer-impl.h' line='262' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_barrier_thread_bp'>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <!-- void urcu_bp_unregister_rculfhash_atfork(urcu_atfork*) -->
+    <function-decl name='urcu_bp_unregister_rculfhash_atfork' mangled-name='urcu_bp_unregister_rculfhash_atfork' filepath='src/urcu-call-rcu-impl.h' line='1056' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_unregister_rculfhash_atfork'>
+      <!-- parameter of type 'urcu_atfork*' -->
+      <parameter type-id='type-id-30' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1056' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <!-- void urcu_bp_register_rculfhash_atfork(urcu_atfork*) -->
+    <function-decl name='urcu_bp_register_rculfhash_atfork' mangled-name='urcu_register_rculfhash_atfork_bp' filepath='src/urcu-call-rcu-impl.h' line='1044' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_register_rculfhash_atfork_bp'>
+      <!-- parameter of type 'urcu_atfork*' -->
+      <parameter type-id='type-id-30' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1056' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <!-- void urcu_bp_call_rcu_after_fork_child() -->
+    <function-decl name='urcu_bp_call_rcu_after_fork_child' mangled-name='call_rcu_after_fork_child_bp' filepath='src/urcu-call-rcu-impl.h' line='1000' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_after_fork_child_bp'>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <!-- void urcu_bp_call_rcu_after_fork_parent() -->
+    <function-decl name='urcu_bp_call_rcu_after_fork_parent' mangled-name='urcu_bp_call_rcu_after_fork_parent' filepath='src/urcu-call-rcu-impl.h' line='976' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_call_rcu_after_fork_parent'>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <!-- void urcu_bp_call_rcu_before_fork() -->
+    <function-decl name='urcu_bp_call_rcu_before_fork' mangled-name='urcu_bp_call_rcu_before_fork' filepath='src/urcu-call-rcu-impl.h' line='947' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_call_rcu_before_fork'>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <!-- void urcu_bp_barrier() -->
+    <function-decl name='urcu_bp_barrier' mangled-name='rcu_barrier_bp' filepath='src/urcu-call-rcu-impl.h' line='874' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_barrier_bp'>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <!-- void urcu_bp_free_all_cpu_call_rcu_data() -->
+    <function-decl name='urcu_bp_free_all_cpu_call_rcu_data' mangled-name='free_all_cpu_call_rcu_data_bp' filepath='src/urcu-call-rcu-impl.h' line='801' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='free_all_cpu_call_rcu_data_bp'>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
     <!-- struct call_rcu_data -->
-    <class-decl name='call_rcu_data' size-in-bits='1024' is-struct='yes' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='53' column='1' id='type-id-28'>
+    <class-decl name='call_rcu_data' size-in-bits='1024' is-struct='yes' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='53' column='1' id='type-id-33'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_tail call_rcu_data::cbs_tail -->
-        <var-decl name='cbs_tail' type-id='type-id-29' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='61' column='1'/>
+        <var-decl name='cbs_tail' type-id='type-id-34' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='61' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- cds_wfcq_head call_rcu_data::cbs_head -->
-        <var-decl name='cbs_head' type-id='type-id-30' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='62' column='1'/>
+        <var-decl name='cbs_head' type-id='type-id-35' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='62' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='448'>
         <!-- unsigned long int call_rcu_data::flags -->
       </data-member>
       <data-member access='public' layout-offset-in-bits='512'>
         <!-- int32_t call_rcu_data::futex -->
-        <var-decl name='futex' type-id='type-id-31' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='64' column='1'/>
+        <var-decl name='futex' type-id='type-id-36' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='64' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='576'>
         <!-- unsigned long int call_rcu_data::qlen -->
       </data-member>
       <data-member access='public' layout-offset-in-bits='640'>
         <!-- pthread_t call_rcu_data::tid -->
-        <var-decl name='tid' type-id='type-id-13' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='66' column='1'/>
+        <var-decl name='tid' type-id='type-id-6' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='66' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='704'>
         <!-- int call_rcu_data::cpu_affinity -->
-        <var-decl name='cpu_affinity' type-id='type-id-5' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='67' column='1'/>
+        <var-decl name='cpu_affinity' type-id='type-id-1' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='67' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='768'>
         <!-- unsigned long int call_rcu_data::gp_count -->
       </data-member>
       <data-member access='public' layout-offset-in-bits='832'>
         <!-- cds_list_head call_rcu_data::list -->
-        <var-decl name='list' type-id='type-id-12' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='69' column='1'/>
+        <var-decl name='list' type-id='type-id-5' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='69' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_tail -->
-    <class-decl name='cds_wfcq_tail' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='127' column='1' id='type-id-29'>
+    <class-decl name='cds_wfcq_tail' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='127' column='1' id='type-id-34'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node* cds_wfcq_tail::p -->
-        <var-decl name='p' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='128' column='1'/>
+        <var-decl name='p' type-id='type-id-21' visibility='default' filepath='../include/urcu/wfcqueue.h' line='128' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_head -->
-    <class-decl name='cds_wfcq_head' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='72' column='1' id='type-id-30'>
+    <class-decl name='cds_wfcq_head' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='72' column='1' id='type-id-35'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node cds_wfcq_head::node -->
-        <var-decl name='node' type-id='type-id-22' visibility='default' filepath='../include/urcu/wfcqueue.h' line='73' column='1'/>
+        <var-decl name='node' type-id='type-id-19' visibility='default' filepath='../include/urcu/wfcqueue.h' line='73' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- pthread_mutex_t cds_wfcq_head::lock -->
-        <var-decl name='lock' type-id='type-id-32' visibility='default' filepath='../include/urcu/wfcqueue.h' line='74' column='1'/>
+        <var-decl name='lock' type-id='type-id-37' visibility='default' filepath='../include/urcu/wfcqueue.h' line='74' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __anonymous_union__ pthread_mutex_t -->
-    <typedef-decl name='pthread_mutex_t' type-id='type-id-33' filepath='/usr/include/bits/pthreadtypes.h' line='72' column='1' id='type-id-32'/>
-    <!-- union {__pthread_mutex_s __data; char __size[40]; long int __align;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='67' column='1' id='type-id-33'>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='67' column='1' id='type-id-38'>
       <data-member access='private'>
-        <!-- __pthread_mutex_s __data -->
-        <var-decl name='__data' type-id='type-id-34' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='69' column='1'/>
+        <!-- __pthread_mutex_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-39' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='69' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- char __size[40] -->
-        <var-decl name='__size' type-id='type-id-2' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='70' column='1'/>
+        <!-- char __anonymous_union__::__size[40] -->
+        <var-decl name='__size' type-id='type-id-40' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='70' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- long int __align -->
-        <var-decl name='__align' type-id='type-id-6' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='71' column='1'/>
+        <!-- long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-41' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='71' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __pthread_mutex_s -->
-    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='22' column='1' id='type-id-34'>
+    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='118' column='1' id='type-id-39'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- int __pthread_mutex_s::__lock -->
-        <var-decl name='__lock' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='24' column='1'/>
+        <var-decl name='__lock' type-id='type-id-1' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='120' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='32'>
         <!-- unsigned int __pthread_mutex_s::__count -->
-        <var-decl name='__count' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='25' column='1'/>
+        <var-decl name='__count' type-id='type-id-42' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='121' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- int __pthread_mutex_s::__owner -->
-        <var-decl name='__owner' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='26' column='1'/>
+        <var-decl name='__owner' type-id='type-id-1' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='122' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='96'>
         <!-- unsigned int __pthread_mutex_s::__nusers -->
-        <var-decl name='__nusers' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='28' column='1'/>
+        <var-decl name='__nusers' type-id='type-id-42' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='124' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- int __pthread_mutex_s::__kind -->
-        <var-decl name='__kind' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='32' column='1'/>
+        <var-decl name='__kind' type-id='type-id-1' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='148' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='160'>
         <!-- short int __pthread_mutex_s::__spins -->
-        <var-decl name='__spins' type-id='type-id-7' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='34' column='1'/>
+        <var-decl name='__spins' type-id='type-id-43' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='176'>
         <!-- short int __pthread_mutex_s::__elision -->
-        <var-decl name='__elision' type-id='type-id-7' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='35' column='1'/>
+        <var-decl name='__elision' type-id='type-id-43' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- __pthread_list_t __pthread_mutex_s::__list -->
-        <var-decl name='__list' type-id='type-id-35' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='36' column='1'/>
+        <var-decl name='__list' type-id='type-id-44' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='155' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __pthread_internal_list __pthread_list_t -->
-    <typedef-decl name='__pthread_list_t' type-id='type-id-36' filepath='/usr/include/bits/thread-shared-types.h' line='53' column='1' id='type-id-35'/>
+    <!-- unsigned int -->
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-42'/>
+    <!-- short int -->
+    <type-decl name='short int' size-in-bits='16' id='type-id-43'/>
     <!-- struct __pthread_internal_list -->
-    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='49' column='1' id='type-id-36'>
+    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='82' column='1' id='type-id-45'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- __pthread_internal_list* __pthread_internal_list::__prev -->
-        <var-decl name='__prev' type-id='type-id-37' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='51' column='1'/>
+        <var-decl name='__prev' type-id='type-id-46' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='84' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- __pthread_internal_list* __pthread_internal_list::__next -->
-        <var-decl name='__next' type-id='type-id-37' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='52' column='1'/>
+        <var-decl name='__next' type-id='type-id-46' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='85' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __int32_t int32_t -->
-    <typedef-decl name='int32_t' type-id='type-id-38' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-31'/>
-    <!-- typedef int __int32_t -->
-    <typedef-decl name='__int32_t' type-id='type-id-5' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-38'/>
     <!-- __pthread_internal_list* -->
-    <pointer-type-def type-id='type-id-36' size-in-bits='64' id='type-id-37'/>
+    <pointer-type-def type-id='type-id-45' size-in-bits='64' id='type-id-46'/>
+    <!-- typedef __pthread_internal_list __pthread_list_t -->
+    <typedef-decl name='__pthread_list_t' type-id='type-id-45' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='86' column='1' id='type-id-44'/>
+    <!-- char -->
+    <type-decl name='char' size-in-bits='8' id='type-id-47'/>
+
+    <!-- char[40] -->
+    <array-type-def dimensions='1' type-id='type-id-47' size-in-bits='320' id='type-id-40'>
+      <!-- <anonymous range>[40] -->
+      <subrange length='40' type-id='type-id-3' id='type-id-48'/>
+
+    </array-type-def>
+    <!-- long int -->
+    <type-decl name='long int' size-in-bits='64' id='type-id-41'/>
+    <!-- typedef __anonymous_union__ pthread_mutex_t -->
+    <typedef-decl name='pthread_mutex_t' type-id='type-id-38' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='72' column='1' id='type-id-37'/>
+    <!-- typedef int __int32_t -->
+    <typedef-decl name='__int32_t' type-id='type-id-1' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='40' column='1' id='type-id-49'/>
+    <!-- typedef __int32_t int32_t -->
+    <typedef-decl name='int32_t' type-id='type-id-49' filepath='/usr/include/x86_64-linux-gnu/bits/stdint-intn.h' line='26' column='1' id='type-id-36'/>
     <!-- call_rcu_data* -->
-    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-39'/>
-    <!-- cds_list_head* -->
-    <pointer-type-def type-id='type-id-12' size-in-bits='64' id='type-id-14'/>
-    <!-- cds_wfcq_node* -->
-    <pointer-type-def type-id='type-id-22' size-in-bits='64' id='type-id-24'/>
-    <!-- const rcu_flavor_struct -->
-    <qualified-type-def type-id='type-id-15' const='yes' id='type-id-40'/>
-    <!-- int ()* -->
-    <pointer-type-def type-id='type-id-41' size-in-bits='64' id='type-id-17'/>
-    <!-- rcu_head* -->
-    <pointer-type-def type-id='type-id-21' size-in-bits='64' id='type-id-42'/>
-    <!-- urcu_atfork* -->
-    <pointer-type-def type-id='type-id-25' size-in-bits='64' id='type-id-43'/>
-    <!-- urcu_bp_reader* -->
-    <pointer-type-def type-id='type-id-11' size-in-bits='64' id='type-id-44'/>
-    <!-- void ()* -->
-    <pointer-type-def type-id='type-id-45' size-in-bits='64' id='type-id-16'/>
-    <!-- void (rcu_head*)* -->
-    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-23'/>
-    <!-- void (rcu_head*, void (rcu_head*)*)* -->
-    <pointer-type-def type-id='type-id-47' size-in-bits='64' id='type-id-18'/>
-    <!-- void (urcu_atfork*)* -->
-    <pointer-type-def type-id='type-id-48' size-in-bits='64' id='type-id-20'/>
-    <!-- void (void (void*)*, void*)* -->
-    <pointer-type-def type-id='type-id-49' size-in-bits='64' id='type-id-19'/>
-    <!-- void (void*)* -->
-    <pointer-type-def type-id='type-id-50' size-in-bits='64' id='type-id-26'/>
-    <!-- void* -->
-    <pointer-type-def type-id='type-id-9' size-in-bits='64' id='type-id-27'/>
-    <!-- void** -->
-    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-51'/>
-    <!-- int urcu_bp_has_sys_membarrier -->
-    <var-decl name='urcu_bp_has_sys_membarrier' type-id='type-id-5' mangled-name='urcu_bp_has_sys_membarrier' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='109' column='1' elf-symbol-id='urcu_bp_has_sys_membarrier'/>
-    <!-- urcu_bp_gp urcu_bp_gp -->
-    <var-decl name='urcu_bp_gp' type-id='type-id-10' mangled-name='rcu_gp_bp' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='88' column='1' elf-symbol-id='rcu_gp_bp'/>
-    <!-- urcu_bp_reader* urcu_bp_reader -->
-    <var-decl name='urcu_bp_reader' type-id='type-id-44' mangled-name='urcu_bp_reader' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='104' column='1' elf-symbol-id='urcu_bp_reader'/>
-    <!-- const rcu_flavor_struct urcu_bp_flavor -->
-    <var-decl name='urcu_bp_flavor' type-id='type-id-40' mangled-name='rcu_flavor_bp' visibility='default' filepath='../include/urcu/flavor.h' line='90' column='1' elf-symbol-id='rcu_flavor_bp'/>
-    <!-- void urcu_bp_defer_exit() -->
-    <function-decl name='urcu_bp_defer_exit' mangled-name='urcu_bp_defer_exit' filepath='src/urcu-defer-impl.h' line='476' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_defer_exit'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_bp_defer_unregister_thread() -->
-    <function-decl name='urcu_bp_defer_unregister_thread' mangled-name='urcu_bp_defer_unregister_thread' filepath='src/urcu-defer-impl.h' line='456' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_defer_unregister_thread'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- int urcu_bp_defer_register_thread() -->
-    <function-decl name='urcu_bp_defer_register_thread' mangled-name='urcu_bp_defer_register_thread' filepath='src/urcu-defer-impl.h' line='432' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_defer_register_thread'>
-      <!-- int -->
-      <return type-id='type-id-5'/>
-    </function-decl>
-    <!-- void urcu_bp_defer_rcu(void (void*)*, void*) -->
-    <function-decl name='urcu_bp_defer_rcu' mangled-name='defer_rcu_bp' filepath='src/urcu-defer-impl.h' line='400' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='defer_rcu_bp'>
-      <!-- parameter of type 'void (void*)*' -->
-      <parameter type-id='type-id-26' name='fct' filepath='src/urcu-defer-impl.h' line='400' column='1'/>
-      <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-27' name='p' filepath='src/urcu-defer-impl.h' line='400' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_bp_defer_barrier() -->
-    <function-decl name='urcu_bp_defer_barrier' mangled-name='rcu_defer_barrier_bp' filepath='src/urcu-defer-impl.h' line='284' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_barrier_bp'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_bp_defer_barrier_thread() -->
-    <function-decl name='urcu_bp_defer_barrier_thread' mangled-name='rcu_defer_barrier_thread_bp' filepath='src/urcu-defer-impl.h' line='262' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_barrier_thread_bp'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_bp_unregister_rculfhash_atfork(urcu_atfork*) -->
-    <function-decl name='urcu_bp_unregister_rculfhash_atfork' mangled-name='urcu_bp_unregister_rculfhash_atfork' filepath='src/urcu-call-rcu-impl.h' line='1056' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_unregister_rculfhash_atfork'>
-      <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-43' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1056' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_bp_register_rculfhash_atfork(urcu_atfork*) -->
-    <function-decl name='urcu_bp_register_rculfhash_atfork' mangled-name='urcu_register_rculfhash_atfork_bp' filepath='src/urcu-call-rcu-impl.h' line='1044' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_register_rculfhash_atfork_bp'>
-      <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-43' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1044' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_bp_call_rcu_after_fork_child() -->
-    <function-decl name='urcu_bp_call_rcu_after_fork_child' mangled-name='call_rcu_after_fork_child_bp' filepath='src/urcu-call-rcu-impl.h' line='1000' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_after_fork_child_bp'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_bp_call_rcu_after_fork_parent() -->
-    <function-decl name='urcu_bp_call_rcu_after_fork_parent' mangled-name='urcu_bp_call_rcu_after_fork_parent' filepath='src/urcu-call-rcu-impl.h' line='976' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_call_rcu_after_fork_parent'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_bp_call_rcu_before_fork() -->
-    <function-decl name='urcu_bp_call_rcu_before_fork' mangled-name='urcu_bp_call_rcu_before_fork' filepath='src/urcu-call-rcu-impl.h' line='947' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_call_rcu_before_fork'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_bp_barrier() -->
-    <function-decl name='urcu_bp_barrier' mangled-name='rcu_barrier_bp' filepath='src/urcu-call-rcu-impl.h' line='874' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_barrier_bp'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_bp_free_all_cpu_call_rcu_data() -->
-    <function-decl name='urcu_bp_free_all_cpu_call_rcu_data' mangled-name='free_all_cpu_call_rcu_data_bp' filepath='src/urcu-call-rcu-impl.h' line='801' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='free_all_cpu_call_rcu_data_bp'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
+    <pointer-type-def type-id='type-id-33' size-in-bits='64' id='type-id-50'/>
     <!-- void urcu_bp_call_rcu_data_free(call_rcu_data*) -->
     <function-decl name='urcu_bp_call_rcu_data_free' mangled-name='call_rcu_data_free_bp' filepath='src/urcu-call-rcu-impl.h' line='764' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_data_free_bp'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='764' column='1'/>
+      <parameter type-id='type-id-50' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='764' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-15'/>
     </function-decl>
     <!-- void urcu_bp_call_rcu(rcu_head*, void (rcu_head*)*) -->
     <function-decl name='urcu_bp_call_rcu' mangled-name='call_rcu_bp' filepath='src/urcu-call-rcu-impl.h' line='725' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_bp'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42' name='head' filepath='src/urcu-call-rcu-impl.h' line='725' column='1'/>
+      <parameter type-id='type-id-22' name='head' filepath='src/urcu-call-rcu-impl.h' line='725' column='1'/>
       <!-- parameter of type 'void (rcu_head*)*' -->
-      <parameter type-id='type-id-23' name='func' filepath='src/urcu-call-rcu-impl.h' line='726' column='1'/>
+      <parameter type-id='type-id-20' name='func' filepath='src/urcu-call-rcu-impl.h' line='726' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-15'/>
     </function-decl>
     <!-- int urcu_bp_create_all_cpu_call_rcu_data(unsigned long int) -->
     <function-decl name='urcu_bp_create_all_cpu_call_rcu_data' mangled-name='create_all_cpu_call_rcu_data_bp' filepath='src/urcu-call-rcu-impl.h' line='645' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='create_all_cpu_call_rcu_data_bp'>
       <!-- parameter of type 'unsigned long int' -->
       <parameter type-id='type-id-3' name='flags' filepath='src/urcu-call-rcu-impl.h' line='645' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
     </function-decl>
     <!-- void urcu_bp_set_thread_call_rcu_data(call_rcu_data*) -->
     <function-decl name='urcu_bp_set_thread_call_rcu_data' mangled-name='urcu_bp_set_thread_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='630' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_set_thread_call_rcu_data'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='630' column='1'/>
+      <parameter type-id='type-id-50' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='630' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-15'/>
     </function-decl>
     <!-- call_rcu_data* urcu_bp_get_thread_call_rcu_data() -->
     <function-decl name='urcu_bp_get_thread_call_rcu_data' mangled-name='urcu_bp_get_thread_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='612' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_get_thread_call_rcu_data'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-50'/>
     </function-decl>
     <!-- call_rcu_data* urcu_bp_get_call_rcu_data() -->
     <function-decl name='urcu_bp_get_call_rcu_data' mangled-name='get_call_rcu_data_bp' filepath='src/urcu-call-rcu-impl.h' line='590' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_call_rcu_data_bp'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-50'/>
     </function-decl>
     <!-- call_rcu_data* urcu_bp_get_default_call_rcu_data() -->
     <function-decl name='urcu_bp_get_default_call_rcu_data' mangled-name='urcu_bp_get_default_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='563' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_get_default_call_rcu_data'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-50'/>
     </function-decl>
     <!-- int urcu_bp_set_cpu_call_rcu_data(int, call_rcu_data*) -->
     <function-decl name='urcu_bp_set_cpu_call_rcu_data' mangled-name='set_cpu_call_rcu_data_bp' filepath='src/urcu-call-rcu-impl.h' line='522' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='set_cpu_call_rcu_data_bp'>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='522' column='1'/>
+      <parameter type-id='type-id-1' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='522' column='1'/>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='522' column='1'/>
+      <parameter type-id='type-id-50' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='522' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
     </function-decl>
     <!-- call_rcu_data* urcu_bp_create_call_rcu_data(unsigned long int, int) -->
     <function-decl name='urcu_bp_create_call_rcu_data' mangled-name='create_call_rcu_data_bp' filepath='src/urcu-call-rcu-impl.h' line='498' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='create_call_rcu_data_bp'>
       <!-- parameter of type 'unsigned long int' -->
       <parameter type-id='type-id-3' name='flags' filepath='src/urcu-call-rcu-impl.h' line='498' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu_affinity' filepath='src/urcu-call-rcu-impl.h' line='499' column='1'/>
+      <parameter type-id='type-id-1' name='cpu_affinity' filepath='src/urcu-call-rcu-impl.h' line='499' column='1'/>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-50'/>
     </function-decl>
     <!-- pthread_t urcu_bp_get_call_rcu_thread(call_rcu_data*) -->
     <function-decl name='urcu_bp_get_call_rcu_thread' mangled-name='urcu_bp_get_call_rcu_thread' filepath='src/urcu-call-rcu-impl.h' line='476' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_get_call_rcu_thread'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='476' column='1'/>
+      <parameter type-id='type-id-50' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='476' column='1'/>
       <!-- typedef pthread_t -->
-      <return type-id='type-id-13'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- call_rcu_data* urcu_bp_get_cpu_call_rcu_data(int) -->
     <function-decl name='urcu_bp_get_cpu_call_rcu_data' mangled-name='urcu_bp_get_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='452' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_get_cpu_call_rcu_data'>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='452' column='1'/>
+      <parameter type-id='type-id-1' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='452' column='1'/>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-50'/>
     </function-decl>
+    <!-- void** -->
+    <pointer-type-def type-id='type-id-25' size-in-bits='64' id='type-id-51'/>
     <!-- void* urcu_bp_cmpxchg_pointer_sym(void**, void*, void*) -->
     <function-decl name='urcu_bp_cmpxchg_pointer_sym' mangled-name='rcu_cmpxchg_pointer_sym_bp' filepath='src/urcu-bp.c' line='780' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_cmpxchg_pointer_sym_bp'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-51' name='p' filepath='src/urcu-bp.c' line='780' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-27' name='old' filepath='src/urcu-bp.c' line='780' column='1'/>
+      <parameter type-id='type-id-25' name='old' filepath='src/urcu-bp.c' line='780' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-27' name='_new' filepath='src/urcu-bp.c' line='780' column='1'/>
+      <parameter type-id='type-id-25' name='_new' filepath='src/urcu-bp.c' line='780' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-27'/>
+      <return type-id='type-id-25'/>
     </function-decl>
     <!-- void* urcu_bp_xchg_pointer_sym(void**, void*) -->
     <function-decl name='urcu_bp_xchg_pointer_sym' mangled-name='urcu_bp_xchg_pointer_sym' filepath='src/urcu-bp.c' line='772' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_xchg_pointer_sym'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-51' name='p' filepath='src/urcu-bp.c' line='772' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-27' name='v' filepath='src/urcu-bp.c' line='772' column='1'/>
+      <parameter type-id='type-id-25' name='v' filepath='src/urcu-bp.c' line='772' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-27'/>
+      <return type-id='type-id-25'/>
     </function-decl>
     <!-- void* urcu_bp_set_pointer_sym(void**, void*) -->
     <function-decl name='urcu_bp_set_pointer_sym' mangled-name='urcu_bp_set_pointer_sym' filepath='src/urcu-bp.c' line='763' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_set_pointer_sym'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-51' name='p' filepath='src/urcu-bp.c' line='763' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-27' name='v' filepath='src/urcu-bp.c' line='763' column='1'/>
+      <parameter type-id='type-id-25' name='v' filepath='src/urcu-bp.c' line='763' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-27'/>
+      <return type-id='type-id-25'/>
     </function-decl>
     <!-- void* urcu_bp_dereference_sym(void*) -->
     <function-decl name='urcu_bp_dereference_sym' mangled-name='rcu_dereference_sym_bp' filepath='src/urcu-bp.c' line='756' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_dereference_sym_bp'>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-27' name='p' filepath='src/urcu-bp.c' line='756' column='1'/>
+      <parameter type-id='type-id-25' name='p' filepath='src/urcu-bp.c' line='756' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-27'/>
+      <return type-id='type-id-25'/>
     </function-decl>
     <!-- void urcu_bp_after_fork_child() -->
     <function-decl name='urcu_bp_after_fork_child' mangled-name='rcu_bp_after_fork_child' filepath='src/urcu-bp.c' line='741' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_bp_after_fork_child'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-15'/>
     </function-decl>
     <!-- void urcu_bp_after_fork_parent() -->
     <function-decl name='urcu_bp_after_fork_parent' mangled-name='urcu_bp_after_fork_parent' filepath='src/urcu-bp.c' line='704' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_after_fork_parent'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-15'/>
     </function-decl>
     <!-- void urcu_bp_before_fork() -->
     <function-decl name='urcu_bp_before_fork' mangled-name='urcu_bp_before_fork' filepath='src/urcu-bp.c' line='689' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_before_fork'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-15'/>
     </function-decl>
     <!-- void urcu_bp_register_thread() -->
     <function-decl name='urcu_bp_register_thread' mangled-name='urcu_bp_register_thread' filepath='src/urcu-bp.c' line='572' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_register_thread'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-15'/>
     </function-decl>
     <!-- void urcu_bp_register() -->
     <function-decl name='urcu_bp_register' mangled-name='rcu_bp_register' filepath='src/urcu-bp.c' line='538' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_bp_register'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-15'/>
     </function-decl>
     <!-- int urcu_bp_read_ongoing() -->
     <function-decl name='urcu_bp_read_ongoing' mangled-name='urcu_bp_read_ongoing' filepath='src/urcu-bp.c' line='370' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_read_ongoing'>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
     </function-decl>
     <!-- void urcu_bp_read_unlock() -->
     <function-decl name='urcu_bp_read_unlock' mangled-name='rcu_read_unlock_bp' filepath='src/urcu-bp.c' line='364' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_read_unlock_bp'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-15'/>
     </function-decl>
     <!-- void urcu_bp_read_lock() -->
     <function-decl name='urcu_bp_read_lock' mangled-name='urcu_bp_read_lock' filepath='src/urcu-bp.c' line='358' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_read_lock'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-15'/>
     </function-decl>
     <!-- void urcu_bp_synchronize_rcu() -->
     <function-decl name='urcu_bp_synchronize_rcu' mangled-name='urcu_bp_synchronize_rcu' filepath='src/urcu-bp.c' line='274' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_synchronize_rcu'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-15'/>
     </function-decl>
     <!-- int () -->
-    <function-type size-in-bits='64' id='type-id-41'>
+    <function-type size-in-bits='64' id='type-id-17'>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
     </function-type>
     <!-- void () -->
-    <function-type size-in-bits='64' id='type-id-45'>
+    <function-type size-in-bits='64' id='type-id-16'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-15'/>
     </function-type>
     <!-- void (rcu_head*) -->
-    <function-type size-in-bits='64' id='type-id-46'>
+    <function-type size-in-bits='64' id='type-id-23'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42'/>
+      <parameter type-id='type-id-22'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-15'/>
     </function-type>
     <!-- void (rcu_head*, void (rcu_head*)*) -->
-    <function-type size-in-bits='64' id='type-id-47'>
+    <function-type size-in-bits='64' id='type-id-24'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42'/>
+      <parameter type-id='type-id-22'/>
       <!-- parameter of type 'void (rcu_head*)*' -->
-      <parameter type-id='type-id-23'/>
+      <parameter type-id='type-id-20'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-15'/>
     </function-type>
     <!-- void (urcu_atfork*) -->
-    <function-type size-in-bits='64' id='type-id-48'>
+    <function-type size-in-bits='64' id='type-id-31'>
       <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-43'/>
+      <parameter type-id='type-id-30'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-15'/>
     </function-type>
     <!-- void (void (void*)*, void*) -->
-    <function-type size-in-bits='64' id='type-id-49'>
+    <function-type size-in-bits='64' id='type-id-28'>
       <!-- parameter of type 'void (void*)*' -->
-      <parameter type-id='type-id-26'/>
-      <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-27'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-25'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-15'/>
     </function-type>
     <!-- void (void*) -->
-    <function-type size-in-bits='64' id='type-id-50'>
+    <function-type size-in-bits='64' id='type-id-26'>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-27'/>
+      <parameter type-id='type-id-25'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-15'/>
     </function-type>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='urcu-pointer.c' comp-dir-path='src' language='LANG_C99'>
     <!-- void* rcu_cmpxchg_pointer_sym(void**, void*, void*) -->
     <function-decl name='rcu_cmpxchg_pointer_sym' mangled-name='rcu_cmpxchg_pointer_sym' filepath='src/urcu-pointer.c' line='53' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_cmpxchg_pointer_sym'>
       <!-- parameter of type 'void**' -->
-      <parameter type-id='type-id-51' name='p' filepath='src/urcu-pointer.c' line='53' column='1'/>
+      <parameter type-id='type-id-51' name='p' filepath='src/urcu-bp.c' line='780' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-27' name='old' filepath='src/urcu-pointer.c' line='53' column='1'/>
+      <parameter type-id='type-id-25' name='old' filepath='src/urcu-bp.c' line='780' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-27' name='_new' filepath='src/urcu-pointer.c' line='53' column='1'/>
+      <parameter type-id='type-id-25' name='_new' filepath='src/urcu-bp.c' line='780' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-27'/>
+      <return type-id='type-id-25'/>
     </function-decl>
     <!-- void* rcu_xchg_pointer_sym(void**, void*) -->
     <function-decl name='rcu_xchg_pointer_sym' mangled-name='rcu_xchg_pointer_sym' filepath='src/urcu-pointer.c' line='47' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_xchg_pointer_sym'>
       <!-- parameter of type 'void**' -->
-      <parameter type-id='type-id-51' name='p' filepath='src/urcu-pointer.c' line='47' column='1'/>
+      <parameter type-id='type-id-51' name='p' filepath='src/urcu-bp.c' line='772' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-27' name='v' filepath='src/urcu-pointer.c' line='47' column='1'/>
+      <parameter type-id='type-id-25' name='v' filepath='src/urcu-bp.c' line='772' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-27'/>
+      <return type-id='type-id-25'/>
     </function-decl>
     <!-- void* rcu_set_pointer_sym(void**, void*) -->
     <function-decl name='rcu_set_pointer_sym' mangled-name='rcu_set_pointer_sym' filepath='src/urcu-pointer.c' line='40' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_set_pointer_sym'>
       <!-- parameter of type 'void**' -->
-      <parameter type-id='type-id-51' name='p' filepath='src/urcu-pointer.c' line='40' column='1'/>
+      <parameter type-id='type-id-51' name='p' filepath='src/urcu-bp.c' line='763' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-27' name='v' filepath='src/urcu-pointer.c' line='40' column='1'/>
+      <parameter type-id='type-id-25' name='v' filepath='src/urcu-bp.c' line='763' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-27'/>
+      <return type-id='type-id-25'/>
     </function-decl>
     <!-- void* rcu_dereference_sym(void*) -->
     <function-decl name='rcu_dereference_sym' mangled-name='rcu_dereference_sym' filepath='src/urcu-pointer.c' line='35' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_dereference_sym'>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-27' name='p' filepath='src/urcu-pointer.c' line='35' column='1'/>
+      <parameter type-id='type-id-25' name='p' filepath='src/urcu-bp.c' line='756' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-27'/>
+      <return type-id='type-id-25'/>
     </function-decl>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='compat_futex.c' comp-dir-path='src' language='LANG_C99'>
-
-
-    <!-- char[48] -->
-    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='384' id='type-id-52'>
-      <!-- <anonymous range>[48] -->
-      <subrange length='48' type-id='type-id-3' id='type-id-53'/>
-
-    </array-type-def>
-    <!-- long long int -->
-    <type-decl name='long long int' size-in-bits='64' id='type-id-54'/>
-    <!-- long long unsigned int -->
-    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-55'/>
-    <!-- unsigned int[2] -->
-    <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='64' id='type-id-56'>
-      <!-- <anonymous range>[2] -->
-      <subrange length='2' type-id='type-id-3' id='type-id-57'/>
-
-    </array-type-def>
-    <!-- typedef __anonymous_union__ pthread_cond_t -->
-    <typedef-decl name='pthread_cond_t' type-id='type-id-58' filepath='/usr/include/bits/pthreadtypes.h' line='80' column='1' id='type-id-59'/>
-    <!-- union {__pthread_cond_s __data; char __size[48]; long long int __align;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='75' column='1' id='type-id-58'>
+    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
+    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-37' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='75' column='1' id='type-id-52'>
       <data-member access='private'>
-        <!-- __pthread_cond_s __data -->
-        <var-decl name='__data' type-id='type-id-60' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='77' column='1'/>
+        <!-- __pthread_cond_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-53' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='77' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- char __size[48] -->
-        <var-decl name='__size' type-id='type-id-52' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='78' column='1'/>
+        <!-- char __anonymous_union__::__size[48] -->
+        <var-decl name='__size' type-id='type-id-54' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='78' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- long long int __align -->
-        <var-decl name='__align' type-id='type-id-54' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='79' column='1'/>
+        <!-- long long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-55' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='79' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __pthread_cond_s -->
-    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='92' column='1' id='type-id-60'>
+    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='171' column='1' id='type-id-53'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <!-- union {long long unsigned int __wseq; struct {unsigned int __low; unsigned int __high;} __wseq32;} -->
-        <var-decl name='' type-id='type-id-61' visibility='default'/>
+        <!-- __anonymous_union__  -->
+        <var-decl name='' type-id='type-id-56' visibility='default'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- unsigned int __pthread_cond_s::__g_refs[2] -->
-        <var-decl name='__g_refs' type-id='type-id-56' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='112' column='1'/>
+        <var-decl name='__g_refs' type-id='type-id-57' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='191' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- unsigned int __pthread_cond_s::__g_size[2] -->
-        <var-decl name='__g_size' type-id='type-id-56' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='113' column='1'/>
+        <var-decl name='__g_size' type-id='type-id-57' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='192' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- unsigned int __pthread_cond_s::__g1_orig_size -->
-        <var-decl name='__g1_orig_size' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='114' column='1'/>
+        <var-decl name='__g1_orig_size' type-id='type-id-42' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='193' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='288'>
         <!-- unsigned int __pthread_cond_s::__wrefs -->
-        <var-decl name='__wrefs' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='115' column='1'/>
+        <var-decl name='__wrefs' type-id='type-id-42' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='194' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
         <!-- unsigned int __pthread_cond_s::__g_signals[2] -->
-        <var-decl name='__g_signals' type-id='type-id-56' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='116' column='1'/>
+        <var-decl name='__g_signals' type-id='type-id-57' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='195' column='1'/>
       </data-member>
     </class-decl>
-    <!-- union {long long unsigned int __wseq; struct {unsigned int __low; unsigned int __high;} __wseq32;} -->
-    <union-decl name='__anonymous_union__1' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='94' column='1' id='type-id-61'>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='173' column='1' id='type-id-56'>
       <data-member access='private'>
-        <!-- long long unsigned int __wseq -->
-        <var-decl name='__wseq' type-id='type-id-55' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='96' column='1'/>
+        <!-- long long unsigned int __anonymous_union__::__wseq -->
+        <var-decl name='__wseq' type-id='type-id-58' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='175' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- struct {unsigned int __low; unsigned int __high;} __wseq32 -->
-        <var-decl name='__wseq32' type-id='type-id-62' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='101' column='1'/>
+        <!-- __anonymous_struct__ __anonymous_union__::__wseq32 -->
+        <var-decl name='__wseq32' type-id='type-id-59' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='180' column='1'/>
       </data-member>
     </union-decl>
-    <!-- struct {unsigned int __low; unsigned int __high;} -->
-    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='97' column='1' id='type-id-62'>
+    <!-- long long unsigned int -->
+    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-58'/>
+    <!-- struct __anonymous_struct__ -->
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='176' column='1' id='type-id-59'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <!-- unsigned int __low -->
-        <var-decl name='__low' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='99' column='1'/>
+        <!-- unsigned int __anonymous_struct__::__low -->
+        <var-decl name='__low' type-id='type-id-42' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='178' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='32'>
-        <!-- unsigned int __high -->
-        <var-decl name='__high' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='100' column='1'/>
+        <!-- unsigned int __anonymous_struct__::__high -->
+        <var-decl name='__high' type-id='type-id-42' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='179' column='1'/>
       </data-member>
     </class-decl>
+
+    <!-- unsigned int[2] -->
+    <array-type-def dimensions='1' type-id='type-id-42' size-in-bits='64' id='type-id-57'>
+      <!-- <anonymous range>[2] -->
+      <subrange length='2' type-id='type-id-3' id='type-id-60'/>
+
+    </array-type-def>
+
+    <!-- char[48] -->
+    <array-type-def dimensions='1' type-id='type-id-47' size-in-bits='384' id='type-id-54'>
+      <!-- <anonymous range>[48] -->
+      <subrange length='48' type-id='type-id-3' id='type-id-61'/>
+
+    </array-type-def>
+    <!-- long long int -->
+    <type-decl name='long long int' size-in-bits='64' id='type-id-55'/>
+    <!-- typedef __anonymous_union__ pthread_cond_t -->
+    <typedef-decl name='pthread_cond_t' type-id='type-id-52' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='80' column='1' id='type-id-62'/>
+    <!-- pthread_cond_t __urcu_compat_futex_cond -->
+    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-62' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
+    <!-- int32_t* -->
+    <pointer-type-def type-id='type-id-36' size-in-bits='64' id='type-id-63'/>
     <!-- struct timespec -->
-    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='10' column='1' id='type-id-63'>
+    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='9' column='1' id='type-id-64'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- __time_t timespec::tv_sec -->
-        <var-decl name='tv_sec' type-id='type-id-64' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='12' column='1'/>
+        <var-decl name='tv_sec' type-id='type-id-65' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='11' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- __syscall_slong_t timespec::tv_nsec -->
-        <var-decl name='tv_nsec' type-id='type-id-65' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='16' column='1'/>
+        <var-decl name='tv_nsec' type-id='type-id-66' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='12' column='1'/>
       </data-member>
     </class-decl>
     <!-- typedef long int __time_t -->
-    <typedef-decl name='__time_t' type-id='type-id-6' filepath='/usr/include/bits/types.h' line='160' column='1' id='type-id-64'/>
+    <typedef-decl name='__time_t' type-id='type-id-41' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='148' column='1' id='type-id-65'/>
     <!-- typedef long int __syscall_slong_t -->
-    <typedef-decl name='__syscall_slong_t' type-id='type-id-6' filepath='/usr/include/bits/types.h' line='197' column='1' id='type-id-65'/>
+    <typedef-decl name='__syscall_slong_t' type-id='type-id-41' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='184' column='1' id='type-id-66'/>
     <!-- const timespec -->
-    <qualified-type-def type-id='type-id-63' const='yes' id='type-id-66'/>
+    <qualified-type-def type-id='type-id-64' const='yes' id='type-id-67'/>
     <!-- const timespec* -->
-    <pointer-type-def type-id='type-id-66' size-in-bits='64' id='type-id-67'/>
-    <!-- int32_t* -->
-    <pointer-type-def type-id='type-id-31' size-in-bits='64' id='type-id-68'/>
-    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
-    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-32' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
-    <!-- pthread_cond_t __urcu_compat_futex_cond -->
-    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-59' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
+    <pointer-type-def type-id='type-id-67' size-in-bits='64' id='type-id-68'/>
     <!-- int compat_futex_async(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
     <function-decl name='compat_futex_async' mangled-name='compat_futex_async' filepath='src/compat_futex.c' line='118' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_async'>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-68' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-63' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-1' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-31' name='val' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-36' name='val' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'const timespec*' -->
-      <parameter type-id='type-id-67' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-68' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-68' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-63' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-31' name='val3' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-36' name='val3' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
     </function-decl>
     <!-- int compat_futex_noasync(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
     <function-decl name='compat_futex_noasync' mangled-name='compat_futex_noasync' filepath='src/compat_futex.c' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_noasync'>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-68' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-63' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-1' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-31' name='val' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-36' name='val' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'const timespec*' -->
-      <parameter type-id='type-id-67' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-68' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-68' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-63' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-31' name='val3' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-36' name='val3' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
     </function-decl>
   </abi-instr>
 </abi-corpus>
index 5d9540c7d020bdb05225e562278d78573baf6162..05706128086f2af12fa112e2ece46beff02add61 100644 (file)
@@ -1,6 +1,5 @@
 <abi-corpus architecture='elf-amd-x86_64' soname='liburcu-cds.so.6'>
   <elf-needed>
-    <dependency name='liburcu-common.so.6'/>
     <dependency name='libpthread.so.0'/>
     <dependency name='libc.so.6'/>
   </elf-needed>
     <elf-symbol name='__cds_lfs_pop_all' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- _cds_lfht_new -->
     <elf-symbol name='_cds_lfht_new' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- _fini -->
+    <elf-symbol name='_fini' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- _init -->
+    <elf-symbol name='_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- cds_lfht_add -->
     <elf-symbol name='cds_lfht_add' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- cds_lfht_add_replace -->
     <elf-symbol name='cds_lfht_mm_order' size='32' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
   </elf-variable-symbols>
   <abi-instr version='1.0' address-size='64' path='rculfqueue.c' comp-dir-path='src' language='LANG_C99'>
-    <!-- int -->
-    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
-    <!-- void -->
-    <type-decl name='void' id='type-id-2'/>
     <!-- struct cds_lfq_node_rcu -->
-    <class-decl name='cds_lfq_node_rcu' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/rculfqueue.h' line='35' column='1' id='type-id-3'>
+    <class-decl name='cds_lfq_node_rcu' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/rculfqueue.h' line='35' column='1' id='type-id-1'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_lfq_node_rcu* cds_lfq_node_rcu::next -->
-        <var-decl name='next' type-id='type-id-4' visibility='default' filepath='../include/urcu/rculfqueue.h' line='36' column='1'/>
+        <var-decl name='next' type-id='type-id-2' visibility='default' filepath='../include/urcu/rculfqueue.h' line='36' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- int cds_lfq_node_rcu::dummy -->
-        <var-decl name='dummy' type-id='type-id-1' visibility='default' filepath='../include/urcu/rculfqueue.h' line='37' column='1'/>
+        <var-decl name='dummy' type-id='type-id-3' visibility='default' filepath='../include/urcu/rculfqueue.h' line='37' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_lfq_node_rcu* -->
+    <pointer-type-def type-id='type-id-1' size-in-bits='64' id='type-id-2'/>
+    <!-- int -->
+    <type-decl name='int' size-in-bits='32' id='type-id-3'/>
     <!-- struct cds_lfq_queue_rcu -->
-    <class-decl name='cds_lfq_queue_rcu' size-in-bits='192' is-struct='yes' visibility='default' filepath='../include/urcu/rculfqueue.h' line='40' column='1' id='type-id-5'>
+    <class-decl name='cds_lfq_queue_rcu' size-in-bits='192' is-struct='yes' visibility='default' filepath='../include/urcu/rculfqueue.h' line='40' column='1' id='type-id-4'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_lfq_node_rcu* cds_lfq_queue_rcu::head -->
-        <var-decl name='head' type-id='type-id-4' visibility='default' filepath='../include/urcu/rculfqueue.h' line='41' column='1'/>
+        <var-decl name='head' type-id='type-id-2' visibility='default' filepath='../include/urcu/rculfqueue.h' line='41' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- cds_lfq_node_rcu* cds_lfq_queue_rcu::tail -->
-        <var-decl name='tail' type-id='type-id-4' visibility='default' filepath='../include/urcu/rculfqueue.h' line='41' column='1'/>
+        <var-decl name='tail' type-id='type-id-2' visibility='default' filepath='../include/urcu/rculfqueue.h' line='41' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- void (rcu_head*, void (rcu_head*)*)* cds_lfq_queue_rcu::queue_call_rcu -->
-        <var-decl name='queue_call_rcu' type-id='type-id-6' visibility='default' filepath='../include/urcu/rculfqueue.h' line='42' column='1'/>
+        <var-decl name='queue_call_rcu' type-id='type-id-5' visibility='default' filepath='../include/urcu/rculfqueue.h' line='42' column='1'/>
       </data-member>
     </class-decl>
+    <!-- void -->
+    <type-decl name='void' id='type-id-6'/>
     <!-- struct rcu_head -->
     <class-decl name='rcu_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/call-rcu.h' line='57' column='1' id='type-id-7'>
       <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='next' type-id='type-id-10' visibility='default' filepath='../include/urcu/wfcqueue.h' line='60' column='1'/>
       </data-member>
     </class-decl>
-    <!-- cds_lfq_node_rcu* -->
-    <pointer-type-def type-id='type-id-3' size-in-bits='64' id='type-id-4'/>
-    <!-- cds_lfq_queue_rcu* -->
-    <pointer-type-def type-id='type-id-5' size-in-bits='64' id='type-id-11'/>
     <!-- cds_wfcq_node* -->
     <pointer-type-def type-id='type-id-8' size-in-bits='64' id='type-id-10'/>
     <!-- rcu_head* -->
-    <pointer-type-def type-id='type-id-7' size-in-bits='64' id='type-id-12'/>
+    <pointer-type-def type-id='type-id-7' size-in-bits='64' id='type-id-11'/>
     <!-- void (rcu_head*)* -->
-    <pointer-type-def type-id='type-id-13' size-in-bits='64' id='type-id-9'/>
+    <pointer-type-def type-id='type-id-12' size-in-bits='64' id='type-id-9'/>
     <!-- void (rcu_head*, void (rcu_head*)*)* -->
-    <pointer-type-def type-id='type-id-14' size-in-bits='64' id='type-id-6'/>
+    <pointer-type-def type-id='type-id-13' size-in-bits='64' id='type-id-5'/>
+    <!-- cds_lfq_queue_rcu* -->
+    <pointer-type-def type-id='type-id-4' size-in-bits='64' id='type-id-14'/>
     <!-- cds_lfq_node_rcu* cds_lfq_dequeue_rcu(cds_lfq_queue_rcu*) -->
     <function-decl name='cds_lfq_dequeue_rcu' mangled-name='cds_lfq_dequeue_rcu' filepath='src/rculfqueue.c' line='56' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfq_dequeue_rcu'>
       <!-- parameter of type 'cds_lfq_queue_rcu*' -->
-      <parameter type-id='type-id-11' name='q' filepath='src/rculfqueue.c' line='56' column='1'/>
+      <parameter type-id='type-id-14' name='q' filepath='src/rculfqueue.c' line='56' column='1'/>
       <!-- cds_lfq_node_rcu* -->
-      <return type-id='type-id-4'/>
+      <return type-id='type-id-2'/>
     </function-decl>
     <!-- void cds_lfq_enqueue_rcu(cds_lfq_queue_rcu*, cds_lfq_node_rcu*) -->
     <function-decl name='cds_lfq_enqueue_rcu' mangled-name='cds_lfq_enqueue_rcu' filepath='src/rculfqueue.c' line='50' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfq_enqueue_rcu'>
       <!-- parameter of type 'cds_lfq_queue_rcu*' -->
-      <parameter type-id='type-id-11' name='q' filepath='src/rculfqueue.c' line='50' column='1'/>
+      <parameter type-id='type-id-14' name='q' filepath='src/rculfqueue.c' line='50' column='1'/>
       <!-- parameter of type 'cds_lfq_node_rcu*' -->
-      <parameter type-id='type-id-4' name='node' filepath='src/rculfqueue.c' line='50' column='1'/>
+      <parameter type-id='type-id-2' name='node' filepath='src/rculfqueue.c' line='50' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- int cds_lfq_destroy_rcu(cds_lfq_queue_rcu*) -->
     <function-decl name='cds_lfq_destroy_rcu' mangled-name='cds_lfq_destroy_rcu' filepath='src/rculfqueue.c' line='45' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfq_destroy_rcu'>
       <!-- parameter of type 'cds_lfq_queue_rcu*' -->
-      <parameter type-id='type-id-11' name='q' filepath='src/rculfqueue.c' line='45' column='1'/>
+      <parameter type-id='type-id-14' name='q' filepath='src/rculfqueue.c' line='45' column='1'/>
       <!-- int -->
-      <return type-id='type-id-1'/>
+      <return type-id='type-id-3'/>
     </function-decl>
     <!-- void cds_lfq_init_rcu(cds_lfq_queue_rcu*, void (rcu_head*, void (rcu_head*)*)*) -->
     <function-decl name='cds_lfq_init_rcu' mangled-name='cds_lfq_init_rcu' filepath='src/rculfqueue.c' line='38' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfq_init_rcu'>
       <!-- parameter of type 'cds_lfq_queue_rcu*' -->
-      <parameter type-id='type-id-11' name='q' filepath='src/rculfqueue.c' line='38' column='1'/>
+      <parameter type-id='type-id-14' name='q' filepath='src/rculfqueue.c' line='38' column='1'/>
       <!-- parameter of type 'void (rcu_head*, void (rcu_head*)*)*' -->
-      <parameter type-id='type-id-6' name='queue_call_rcu' filepath='src/rculfqueue.c' line='39' column='1'/>
+      <parameter type-id='type-id-5' name='queue_call_rcu' filepath='src/rculfqueue.c' line='39' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- void cds_lfq_node_init_rcu(cds_lfq_node_rcu*) -->
     <function-decl name='cds_lfq_node_init_rcu' mangled-name='cds_lfq_node_init_rcu' filepath='src/rculfqueue.c' line='33' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfq_node_init_rcu'>
       <!-- parameter of type 'cds_lfq_node_rcu*' -->
-      <parameter type-id='type-id-4' name='node' filepath='src/rculfqueue.c' line='33' column='1'/>
+      <parameter type-id='type-id-2' name='node' filepath='src/rculfqueue.c' line='33' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- void (rcu_head*) -->
-    <function-type size-in-bits='64' id='type-id-13'>
+    <function-type size-in-bits='64' id='type-id-12'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-12'/>
+      <parameter type-id='type-id-11'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-type>
     <!-- void (rcu_head*, void (rcu_head*)*) -->
-    <function-type size-in-bits='64' id='type-id-14'>
+    <function-type size-in-bits='64' id='type-id-13'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-12'/>
+      <parameter type-id='type-id-11'/>
       <!-- parameter of type 'void (rcu_head*)*' -->
       <parameter type-id='type-id-9'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-type>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='rculfstack.c' comp-dir-path='src' language='LANG_C99'>
         <var-decl name='next' type-id='type-id-16' visibility='default' filepath='../include/urcu/rculfstack.h' line='38' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_lfs_node_rcu* -->
+    <pointer-type-def type-id='type-id-15' size-in-bits='64' id='type-id-16'/>
     <!-- struct cds_lfs_stack_rcu -->
     <class-decl name='cds_lfs_stack_rcu' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/rculfstack.h' line='41' column='1' id='type-id-17'>
       <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='head' type-id='type-id-16' visibility='default' filepath='../include/urcu/rculfstack.h' line='42' column='1'/>
       </data-member>
     </class-decl>
-    <!-- cds_lfs_node_rcu* -->
-    <pointer-type-def type-id='type-id-15' size-in-bits='64' id='type-id-16'/>
     <!-- cds_lfs_stack_rcu* -->
     <pointer-type-def type-id='type-id-17' size-in-bits='64' id='type-id-18'/>
     <!-- cds_lfs_node_rcu* cds_lfs_pop_rcu(cds_lfs_stack_rcu*) -->
       <!-- parameter of type 'cds_lfs_node_rcu*' -->
       <parameter type-id='type-id-16' name='node' filepath='src/rculfstack.c' line='48' column='1'/>
       <!-- int -->
-      <return type-id='type-id-1'/>
+      <return type-id='type-id-3'/>
     </function-decl>
     <!-- void cds_lfs_init_rcu(cds_lfs_stack_rcu*) -->
     <function-decl name='cds_lfs_init_rcu' mangled-name='cds_lfs_init_rcu' filepath='src/rculfstack.c' line='42' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_init_rcu'>
       <!-- parameter of type 'cds_lfs_stack_rcu*' -->
       <parameter type-id='type-id-18' name='s' filepath='src/rculfstack.c' line='42' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- void cds_lfs_node_init_rcu(cds_lfs_node_rcu*) -->
     <function-decl name='cds_lfs_node_init_rcu' mangled-name='cds_lfs_node_init_rcu' filepath='src/rculfstack.c' line='37' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_node_init_rcu'>
       <!-- parameter of type 'cds_lfs_node_rcu*' -->
       <parameter type-id='type-id-16' name='node' filepath='src/rculfstack.c' line='37' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='lfstack.c' comp-dir-path='src' language='LANG_C99'>
-
-    <!-- bool -->
-    <type-decl name='bool' size-in-bits='8' id='type-id-19'/>
-    <!-- char -->
-    <type-decl name='char' size-in-bits='8' id='type-id-20'/>
-    <!-- char[40] -->
-    <array-type-def dimensions='1' type-id='type-id-20' size-in-bits='320' id='type-id-21'>
-      <!-- <anonymous range>[40] -->
-      <subrange length='40' type-id='type-id-22' id='type-id-23'/>
-
-    </array-type-def>
-    <!-- long int -->
-    <type-decl name='long int' size-in-bits='64' id='type-id-24'/>
-    <!-- short int -->
-    <type-decl name='short int' size-in-bits='16' id='type-id-25'/>
-    <!-- unsigned int -->
-    <type-decl name='unsigned int' size-in-bits='32' id='type-id-26'/>
-    <!-- unsigned long int -->
-    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-22'/>
     <!-- struct cds_lfs_head -->
-    <class-decl name='cds_lfs_head' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/lfstack.h' line='69' column='1' id='type-id-27'>
+    <class-decl name='cds_lfs_head' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/lfstack.h' line='69' column='1' id='type-id-19'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_lfs_node cds_lfs_head::node -->
-        <var-decl name='node' type-id='type-id-28' visibility='default' filepath='../include/urcu/lfstack.h' line='70' column='1'/>
+        <var-decl name='node' type-id='type-id-20' visibility='default' filepath='../include/urcu/lfstack.h' line='70' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_lfs_node -->
-    <class-decl name='cds_lfs_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/lfstack.h' line='59' column='1' id='type-id-28'>
+    <class-decl name='cds_lfs_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/lfstack.h' line='59' column='1' id='type-id-20'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_lfs_node* cds_lfs_node::next -->
-        <var-decl name='next' type-id='type-id-29' visibility='default' filepath='../include/urcu/lfstack.h' line='60' column='1'/>
+        <var-decl name='next' type-id='type-id-21' visibility='default' filepath='../include/urcu/lfstack.h' line='60' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __anonymous_union__ cds_lfs_stack_ptr_t -->
-    <typedef-decl name='cds_lfs_stack_ptr_t' type-id='type-id-30' filepath='../include/urcu/lfstack.h' line='90' column='1' id='type-id-31'/>
-    <!-- union {__cds_lfs_stack* _s; cds_lfs_stack* s;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../include/urcu/lfstack.h' line='87' column='1' id='type-id-30'>
+    <!-- cds_lfs_node* -->
+    <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-21'/>
+    <!-- cds_lfs_head* -->
+    <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-22'/>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../include/urcu/lfstack.h' line='87' column='1' id='type-id-23'>
       <data-member access='private'>
-        <!-- __cds_lfs_stack* _s -->
-        <var-decl name='_s' type-id='type-id-32' visibility='default' filepath='../include/urcu/lfstack.h' line='88' column='1'/>
+        <!-- __cds_lfs_stack* __anonymous_union__::_s -->
+        <var-decl name='_s' type-id='type-id-24' visibility='default' filepath='../include/urcu/lfstack.h' line='88' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- cds_lfs_stack* s -->
-        <var-decl name='s' type-id='type-id-33' visibility='default' filepath='../include/urcu/lfstack.h' line='89' column='1'/>
+        <!-- cds_lfs_stack* __anonymous_union__::s -->
+        <var-decl name='s' type-id='type-id-25' visibility='default' filepath='../include/urcu/lfstack.h' line='89' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __cds_lfs_stack -->
-    <class-decl name='__cds_lfs_stack' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/lfstack.h' line='73' column='1' id='type-id-34'>
+    <class-decl name='__cds_lfs_stack' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/lfstack.h' line='73' column='1' id='type-id-26'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_lfs_head* __cds_lfs_stack::head -->
-        <var-decl name='head' type-id='type-id-35' visibility='default' filepath='../include/urcu/lfstack.h' line='74' column='1'/>
+        <var-decl name='head' type-id='type-id-22' visibility='default' filepath='../include/urcu/lfstack.h' line='74' column='1'/>
       </data-member>
     </class-decl>
+    <!-- __cds_lfs_stack* -->
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-24'/>
     <!-- struct cds_lfs_stack -->
-    <class-decl name='cds_lfs_stack' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/lfstack.h' line='77' column='1' id='type-id-36'>
+    <class-decl name='cds_lfs_stack' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/lfstack.h' line='77' column='1' id='type-id-27'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_lfs_head* cds_lfs_stack::head -->
-        <var-decl name='head' type-id='type-id-35' visibility='default' filepath='../include/urcu/lfstack.h' line='78' column='1'/>
+        <var-decl name='head' type-id='type-id-22' visibility='default' filepath='../include/urcu/lfstack.h' line='78' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- pthread_mutex_t cds_lfs_stack::lock -->
-        <var-decl name='lock' type-id='type-id-37' visibility='default' filepath='../include/urcu/lfstack.h' line='79' column='1'/>
+        <var-decl name='lock' type-id='type-id-28' visibility='default' filepath='../include/urcu/lfstack.h' line='79' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __anonymous_union__1 pthread_mutex_t -->
-    <typedef-decl name='pthread_mutex_t' type-id='type-id-38' filepath='/usr/include/bits/pthreadtypes.h' line='72' column='1' id='type-id-37'/>
-    <!-- union {__pthread_mutex_s __data; char __size[40]; long int __align;} -->
-    <union-decl name='__anonymous_union__1' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='67' column='1' id='type-id-38'>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='67' column='1' id='type-id-29'>
       <data-member access='private'>
-        <!-- __pthread_mutex_s __data -->
-        <var-decl name='__data' type-id='type-id-39' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='69' column='1'/>
+        <!-- __pthread_mutex_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-30' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='69' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- char __size[40] -->
-        <var-decl name='__size' type-id='type-id-21' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='70' column='1'/>
+        <!-- char __anonymous_union__::__size[40] -->
+        <var-decl name='__size' type-id='type-id-31' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='70' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- long int __align -->
-        <var-decl name='__align' type-id='type-id-24' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='71' column='1'/>
+        <!-- long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-32' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='71' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __pthread_mutex_s -->
-    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='22' column='1' id='type-id-39'>
+    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='118' column='1' id='type-id-30'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- int __pthread_mutex_s::__lock -->
-        <var-decl name='__lock' type-id='type-id-1' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='24' column='1'/>
+        <var-decl name='__lock' type-id='type-id-3' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='120' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='32'>
         <!-- unsigned int __pthread_mutex_s::__count -->
-        <var-decl name='__count' type-id='type-id-26' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='25' column='1'/>
+        <var-decl name='__count' type-id='type-id-33' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='121' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- int __pthread_mutex_s::__owner -->
-        <var-decl name='__owner' type-id='type-id-1' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='26' column='1'/>
+        <var-decl name='__owner' type-id='type-id-3' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='122' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='96'>
         <!-- unsigned int __pthread_mutex_s::__nusers -->
-        <var-decl name='__nusers' type-id='type-id-26' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='28' column='1'/>
+        <var-decl name='__nusers' type-id='type-id-33' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='124' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- int __pthread_mutex_s::__kind -->
-        <var-decl name='__kind' type-id='type-id-1' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='32' column='1'/>
+        <var-decl name='__kind' type-id='type-id-3' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='148' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='160'>
         <!-- short int __pthread_mutex_s::__spins -->
-        <var-decl name='__spins' type-id='type-id-25' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='34' column='1'/>
+        <var-decl name='__spins' type-id='type-id-34' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='176'>
         <!-- short int __pthread_mutex_s::__elision -->
-        <var-decl name='__elision' type-id='type-id-25' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='35' column='1'/>
+        <var-decl name='__elision' type-id='type-id-34' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- __pthread_list_t __pthread_mutex_s::__list -->
-        <var-decl name='__list' type-id='type-id-40' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='36' column='1'/>
+        <var-decl name='__list' type-id='type-id-35' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='155' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __pthread_internal_list __pthread_list_t -->
-    <typedef-decl name='__pthread_list_t' type-id='type-id-41' filepath='/usr/include/bits/thread-shared-types.h' line='53' column='1' id='type-id-40'/>
+    <!-- unsigned int -->
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-33'/>
+    <!-- short int -->
+    <type-decl name='short int' size-in-bits='16' id='type-id-34'/>
     <!-- struct __pthread_internal_list -->
-    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='49' column='1' id='type-id-41'>
+    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='82' column='1' id='type-id-36'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- __pthread_internal_list* __pthread_internal_list::__prev -->
-        <var-decl name='__prev' type-id='type-id-42' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='51' column='1'/>
+        <var-decl name='__prev' type-id='type-id-37' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='84' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- __pthread_internal_list* __pthread_internal_list::__next -->
-        <var-decl name='__next' type-id='type-id-42' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='52' column='1'/>
+        <var-decl name='__next' type-id='type-id-37' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='85' column='1'/>
       </data-member>
     </class-decl>
-    <!-- __cds_lfs_stack* -->
-    <pointer-type-def type-id='type-id-34' size-in-bits='64' id='type-id-32'/>
     <!-- __pthread_internal_list* -->
-    <pointer-type-def type-id='type-id-41' size-in-bits='64' id='type-id-42'/>
-    <!-- cds_lfs_head* -->
-    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-35'/>
-    <!-- cds_lfs_node* -->
-    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-29'/>
+    <pointer-type-def type-id='type-id-36' size-in-bits='64' id='type-id-37'/>
+    <!-- typedef __pthread_internal_list __pthread_list_t -->
+    <typedef-decl name='__pthread_list_t' type-id='type-id-36' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='86' column='1' id='type-id-35'/>
+    <!-- char -->
+    <type-decl name='char' size-in-bits='8' id='type-id-38'/>
+    <!-- unsigned long int -->
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-39'/>
+
+    <!-- char[40] -->
+    <array-type-def dimensions='1' type-id='type-id-38' size-in-bits='320' id='type-id-31'>
+      <!-- <anonymous range>[40] -->
+      <subrange length='40' type-id='type-id-39' id='type-id-40'/>
+
+    </array-type-def>
+    <!-- long int -->
+    <type-decl name='long int' size-in-bits='64' id='type-id-32'/>
+    <!-- typedef __anonymous_union__ pthread_mutex_t -->
+    <typedef-decl name='pthread_mutex_t' type-id='type-id-29' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='72' column='1' id='type-id-28'/>
     <!-- cds_lfs_stack* -->
-    <pointer-type-def type-id='type-id-36' size-in-bits='64' id='type-id-33'/>
+    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-25'/>
+    <!-- typedef __anonymous_union__ cds_lfs_stack_ptr_t -->
+    <typedef-decl name='cds_lfs_stack_ptr_t' type-id='type-id-23' filepath='../include/urcu/lfstack.h' line='90' column='1' id='type-id-41'/>
     <!-- cds_lfs_head* __cds_lfs_pop_all(cds_lfs_stack_ptr_t) -->
     <function-decl name='__cds_lfs_pop_all' mangled-name='__cds_lfs_pop_all' filepath='src/lfstack.c' line='88' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_lfs_pop_all'>
       <!-- parameter of type 'typedef cds_lfs_stack_ptr_t' -->
-      <parameter type-id='type-id-31' name='s' filepath='src/lfstack.c' line='88' column='1'/>
+      <parameter type-id='type-id-41' name='s' filepath='src/lfstack.c' line='88' column='1'/>
       <!-- cds_lfs_head* -->
-      <return type-id='type-id-35'/>
+      <return type-id='type-id-22'/>
     </function-decl>
     <!-- cds_lfs_node* __cds_lfs_pop(cds_lfs_stack_ptr_t) -->
     <function-decl name='__cds_lfs_pop' mangled-name='__cds_lfs_pop' filepath='src/lfstack.c' line='83' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_lfs_pop'>
       <!-- parameter of type 'typedef cds_lfs_stack_ptr_t' -->
-      <parameter type-id='type-id-31' name='s' filepath='src/lfstack.c' line='83' column='1'/>
+      <parameter type-id='type-id-41' name='s' filepath='src/lfstack.c' line='83' column='1'/>
       <!-- cds_lfs_node* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-21'/>
     </function-decl>
     <!-- void cds_lfs_pop_unlock(cds_lfs_stack*) -->
     <function-decl name='cds_lfs_pop_unlock' mangled-name='cds_lfs_pop_unlock' filepath='src/lfstack.c' line='78' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_pop_unlock'>
       <!-- parameter of type 'cds_lfs_stack*' -->
-      <parameter type-id='type-id-33' name='s' filepath='src/lfstack.c' line='78' column='1'/>
+      <parameter type-id='type-id-25' name='s' filepath='src/lfstack.c' line='78' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- void cds_lfs_pop_lock(cds_lfs_stack*) -->
     <function-decl name='cds_lfs_pop_lock' mangled-name='cds_lfs_pop_lock' filepath='src/lfstack.c' line='73' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_pop_lock'>
       <!-- parameter of type 'cds_lfs_stack*' -->
-      <parameter type-id='type-id-33' name='s' filepath='src/lfstack.c' line='73' column='1'/>
+      <parameter type-id='type-id-25' name='s' filepath='src/lfstack.c' line='78' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- cds_lfs_head* cds_lfs_pop_all_blocking(cds_lfs_stack*) -->
     <function-decl name='cds_lfs_pop_all_blocking' mangled-name='cds_lfs_pop_all_blocking' filepath='src/lfstack.c' line='68' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_pop_all_blocking'>
       <!-- parameter of type 'cds_lfs_stack*' -->
-      <parameter type-id='type-id-33' name='s' filepath='src/lfstack.c' line='68' column='1'/>
+      <parameter type-id='type-id-25' name='s' filepath='src/lfstack.c' line='68' column='1'/>
       <!-- cds_lfs_head* -->
-      <return type-id='type-id-35'/>
+      <return type-id='type-id-22'/>
     </function-decl>
     <!-- cds_lfs_node* cds_lfs_pop_blocking(cds_lfs_stack*) -->
     <function-decl name='cds_lfs_pop_blocking' mangled-name='cds_lfs_pop_blocking' filepath='src/lfstack.c' line='63' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_pop_blocking'>
       <!-- parameter of type 'cds_lfs_stack*' -->
-      <parameter type-id='type-id-33' name='s' filepath='src/lfstack.c' line='63' column='1'/>
+      <parameter type-id='type-id-25' name='s' filepath='src/lfstack.c' line='63' column='1'/>
       <!-- cds_lfs_node* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-21'/>
     </function-decl>
+    <!-- bool -->
+    <type-decl name='bool' size-in-bits='8' id='type-id-42'/>
     <!-- bool cds_lfs_push(cds_lfs_stack_ptr_t, cds_lfs_node*) -->
     <function-decl name='cds_lfs_push' mangled-name='cds_lfs_push' filepath='src/lfstack.c' line='58' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_push'>
       <!-- parameter of type 'typedef cds_lfs_stack_ptr_t' -->
-      <parameter type-id='type-id-31' name='s' filepath='src/lfstack.c' line='58' column='1'/>
+      <parameter type-id='type-id-41' name='s' filepath='src/lfstack.c' line='58' column='1'/>
       <!-- parameter of type 'cds_lfs_node*' -->
-      <parameter type-id='type-id-29' name='node' filepath='src/lfstack.c' line='58' column='1'/>
+      <parameter type-id='type-id-21' name='node' filepath='src/lfstack.c' line='58' column='1'/>
       <!-- bool -->
-      <return type-id='type-id-19'/>
+      <return type-id='type-id-42'/>
     </function-decl>
     <!-- bool cds_lfs_empty(cds_lfs_stack_ptr_t) -->
     <function-decl name='cds_lfs_empty' mangled-name='cds_lfs_empty' filepath='src/lfstack.c' line='53' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_empty'>
       <!-- parameter of type 'typedef cds_lfs_stack_ptr_t' -->
-      <parameter type-id='type-id-31' name='s' filepath='src/lfstack.c' line='53' column='1'/>
+      <parameter type-id='type-id-41' name='s' filepath='src/lfstack.c' line='53' column='1'/>
       <!-- bool -->
-      <return type-id='type-id-19'/>
+      <return type-id='type-id-42'/>
     </function-decl>
     <!-- void __cds_lfs_init(__cds_lfs_stack*) -->
     <function-decl name='__cds_lfs_init' mangled-name='__cds_lfs_init' filepath='src/lfstack.c' line='48' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_lfs_init'>
       <!-- parameter of type '__cds_lfs_stack*' -->
-      <parameter type-id='type-id-32' name='s' filepath='src/lfstack.c' line='48' column='1'/>
+      <parameter type-id='type-id-24' name='s' filepath='src/lfstack.c' line='48' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- void cds_lfs_destroy(cds_lfs_stack*) -->
     <function-decl name='cds_lfs_destroy' mangled-name='cds_lfs_destroy' filepath='src/lfstack.c' line='43' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_destroy'>
       <!-- parameter of type 'cds_lfs_stack*' -->
-      <parameter type-id='type-id-33' name='s' filepath='src/lfstack.c' line='43' column='1'/>
+      <parameter type-id='type-id-25' name='s' filepath='src/lfstack.c' line='78' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- void cds_lfs_init(cds_lfs_stack*) -->
     <function-decl name='cds_lfs_init' mangled-name='cds_lfs_init' filepath='src/lfstack.c' line='38' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_init'>
       <!-- parameter of type 'cds_lfs_stack*' -->
-      <parameter type-id='type-id-33' name='s' filepath='src/lfstack.c' line='38' column='1'/>
+      <parameter type-id='type-id-25' name='s' filepath='src/lfstack.c' line='78' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- void cds_lfs_node_init(cds_lfs_node*) -->
     <function-decl name='cds_lfs_node_init' mangled-name='cds_lfs_node_init' filepath='src/lfstack.c' line='33' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_node_init'>
       <!-- parameter of type 'cds_lfs_node*' -->
-      <parameter type-id='type-id-29' name='node' filepath='src/lfstack.c' line='33' column='1'/>
+      <parameter type-id='type-id-21' name='node' filepath='src/lfstack.c' line='33' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='workqueue.c' comp-dir-path='src' language='LANG_C99'>
       </data-member>
       <data-member access='public' layout-offset-in-bits='448'>
         <!-- unsigned long int urcu_workqueue::flags -->
-        <var-decl name='flags' type-id='type-id-22' visibility='default' filepath='src/workqueue.c' line='63' column='1'/>
+        <var-decl name='flags' type-id='type-id-39' visibility='default' filepath='src/workqueue.c' line='63' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='512'>
         <!-- int32_t urcu_workqueue::futex -->
       </data-member>
       <data-member access='public' layout-offset-in-bits='576'>
         <!-- unsigned long int urcu_workqueue::qlen -->
-        <var-decl name='qlen' type-id='type-id-22' visibility='default' filepath='src/workqueue.c' line='65' column='1'/>
+        <var-decl name='qlen' type-id='type-id-39' visibility='default' filepath='src/workqueue.c' line='65' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='640'>
         <!-- pthread_t urcu_workqueue::tid -->
       </data-member>
       <data-member access='public' layout-offset-in-bits='704'>
         <!-- int urcu_workqueue::cpu_affinity -->
-        <var-decl name='cpu_affinity' type-id='type-id-1' visibility='default' filepath='src/workqueue.c' line='67' column='1'/>
+        <var-decl name='cpu_affinity' type-id='type-id-3' visibility='default' filepath='src/workqueue.c' line='67' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='768'>
         <!-- unsigned long int urcu_workqueue::loop_count -->
-        <var-decl name='loop_count' type-id='type-id-22' visibility='default' filepath='src/workqueue.c' line='68' column='1'/>
+        <var-decl name='loop_count' type-id='type-id-39' visibility='default' filepath='src/workqueue.c' line='68' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='832'>
         <!-- void* urcu_workqueue::priv -->
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- pthread_mutex_t cds_wfcq_head::lock -->
-        <var-decl name='lock' type-id='type-id-37' visibility='default' filepath='../include/urcu/wfcqueue.h' line='74' column='1'/>
+        <var-decl name='lock' type-id='type-id-28' visibility='default' filepath='../include/urcu/wfcqueue.h' line='74' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __int32_t int32_t -->
-    <typedef-decl name='int32_t' type-id='type-id-50' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-46'/>
     <!-- typedef int __int32_t -->
-    <typedef-decl name='__int32_t' type-id='type-id-1' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-50'/>
+    <typedef-decl name='__int32_t' type-id='type-id-3' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='40' column='1' id='type-id-50'/>
+    <!-- typedef __int32_t int32_t -->
+    <typedef-decl name='int32_t' type-id='type-id-50' filepath='/usr/include/x86_64-linux-gnu/bits/stdint-intn.h' line='26' column='1' id='type-id-46'/>
     <!-- typedef unsigned long int pthread_t -->
-    <typedef-decl name='pthread_t' type-id='type-id-22' filepath='/usr/include/bits/pthreadtypes.h' line='27' column='1' id='type-id-47'/>
-    <!-- struct urcu_workqueue_completion -->
-    <class-decl name='urcu_workqueue_completion' size-in-bits='128' is-struct='yes' visibility='default' filepath='src/workqueue.c' line='79' column='1' id='type-id-51'>
-      <data-member access='public' layout-offset-in-bits='0'>
-        <!-- int urcu_workqueue_completion::barrier_count -->
-        <var-decl name='barrier_count' type-id='type-id-1' visibility='default' filepath='src/workqueue.c' line='80' column='1'/>
-      </data-member>
-      <data-member access='public' layout-offset-in-bits='32'>
-        <!-- int32_t urcu_workqueue_completion::futex -->
-        <var-decl name='futex' type-id='type-id-46' visibility='default' filepath='src/workqueue.c' line='81' column='1'/>
-      </data-member>
-      <data-member access='public' layout-offset-in-bits='64'>
-        <!-- urcu_ref urcu_workqueue_completion::ref -->
-        <var-decl name='ref' type-id='type-id-52' visibility='default' filepath='src/workqueue.c' line='82' column='1'/>
-      </data-member>
-    </class-decl>
-    <!-- struct urcu_ref -->
-    <class-decl name='urcu_ref' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/ref.h' line='23' column='1' id='type-id-52'>
-      <data-member access='public' layout-offset-in-bits='0'>
-        <!-- long int urcu_ref::refcount -->
-        <var-decl name='refcount' type-id='type-id-24' visibility='default' filepath='../include/urcu/ref.h' line='24' column='1'/>
-      </data-member>
-    </class-decl>
-    <!-- struct urcu_work -->
-    <class-decl name='urcu_work' size-in-bits='128' is-struct='yes' visibility='default' filepath='src/workqueue.h' line='53' column='1' id='type-id-53'>
-      <data-member access='public' layout-offset-in-bits='0'>
-        <!-- cds_wfcq_node urcu_work::next -->
-        <var-decl name='next' type-id='type-id-8' visibility='default' filepath='src/workqueue.h' line='54' column='1'/>
-      </data-member>
-      <data-member access='public' layout-offset-in-bits='64'>
-        <!-- void (urcu_work*)* urcu_work::func -->
-        <var-decl name='func' type-id='type-id-54' visibility='default' filepath='src/workqueue.h' line='55' column='1'/>
-      </data-member>
-    </class-decl>
-    <!-- urcu_work* -->
-    <pointer-type-def type-id='type-id-53' size-in-bits='64' id='type-id-55'/>
+    <typedef-decl name='pthread_t' type-id='type-id-39' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='27' column='1' id='type-id-47'/>
+    <!-- void* -->
+    <pointer-type-def type-id='type-id-6' size-in-bits='64' id='type-id-48'/>
     <!-- urcu_workqueue* -->
-    <pointer-type-def type-id='type-id-43' size-in-bits='64' id='type-id-56'/>
-    <!-- urcu_workqueue_completion* -->
-    <pointer-type-def type-id='type-id-51' size-in-bits='64' id='type-id-57'/>
-    <!-- void (urcu_work*)* -->
-    <pointer-type-def type-id='type-id-58' size-in-bits='64' id='type-id-54'/>
+    <pointer-type-def type-id='type-id-43' size-in-bits='64' id='type-id-51'/>
     <!-- void (urcu_workqueue*, void*)* -->
-    <pointer-type-def type-id='type-id-59' size-in-bits='64' id='type-id-49'/>
-    <!-- void* -->
-    <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-48'/>
+    <pointer-type-def type-id='type-id-52' size-in-bits='64' id='type-id-49'/>
     <!-- void urcu_workqueue_create_worker(urcu_workqueue*) -->
     <function-decl name='urcu_workqueue_create_worker' mangled-name='urcu_workqueue_create_worker' filepath='src/workqueue.c' line='458' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_workqueue_create_worker'>
       <!-- parameter of type 'urcu_workqueue*' -->
-      <parameter type-id='type-id-56' name='workqueue' filepath='src/workqueue.c' line='458' column='1'/>
+      <parameter type-id='type-id-51' name='workqueue' filepath='src/workqueue.c' line='458' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- void urcu_workqueue_resume_worker(urcu_workqueue*) -->
     <function-decl name='urcu_workqueue_resume_worker' mangled-name='urcu_workqueue_resume_worker' filepath='src/workqueue.c' line='451' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_workqueue_resume_worker'>
       <!-- parameter of type 'urcu_workqueue*' -->
-      <parameter type-id='type-id-56' name='workqueue' filepath='src/workqueue.c' line='451' column='1'/>
+      <parameter type-id='type-id-51' name='workqueue' filepath='src/workqueue.c' line='451' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- void urcu_workqueue_pause_worker(urcu_workqueue*) -->
     <function-decl name='urcu_workqueue_pause_worker' mangled-name='urcu_workqueue_pause_worker' filepath='src/workqueue.c' line='440' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_workqueue_pause_worker'>
       <!-- parameter of type 'urcu_workqueue*' -->
-      <parameter type-id='type-id-56' name='workqueue' filepath='src/workqueue.c' line='440' column='1'/>
+      <parameter type-id='type-id-51' name='workqueue' filepath='src/workqueue.c' line='451' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- void urcu_workqueue_flush_queued_work(urcu_workqueue*) -->
     <function-decl name='urcu_workqueue_flush_queued_work' mangled-name='urcu_workqueue_flush_queued_work' filepath='src/workqueue.c' line='427' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_workqueue_flush_queued_work'>
       <!-- parameter of type 'urcu_workqueue*' -->
-      <parameter type-id='type-id-56' name='workqueue' filepath='src/workqueue.c' line='427' column='1'/>
+      <parameter type-id='type-id-51' name='workqueue' filepath='src/workqueue.c' line='458' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
+    <!-- struct urcu_workqueue_completion -->
+    <class-decl name='urcu_workqueue_completion' size-in-bits='128' is-struct='yes' visibility='default' filepath='src/workqueue.c' line='79' column='1' id='type-id-53'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- int urcu_workqueue_completion::barrier_count -->
+        <var-decl name='barrier_count' type-id='type-id-3' visibility='default' filepath='src/workqueue.c' line='80' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <!-- int32_t urcu_workqueue_completion::futex -->
+        <var-decl name='futex' type-id='type-id-46' visibility='default' filepath='src/workqueue.c' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- urcu_ref urcu_workqueue_completion::ref -->
+        <var-decl name='ref' type-id='type-id-54' visibility='default' filepath='src/workqueue.c' line='82' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- struct urcu_ref -->
+    <class-decl name='urcu_ref' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/ref.h' line='23' column='1' id='type-id-54'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- long int urcu_ref::refcount -->
+        <var-decl name='refcount' type-id='type-id-32' visibility='default' filepath='../include/urcu/ref.h' line='24' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- urcu_workqueue_completion* -->
+    <pointer-type-def type-id='type-id-53' size-in-bits='64' id='type-id-55'/>
     <!-- void urcu_workqueue_queue_completion(urcu_workqueue*, urcu_workqueue_completion*) -->
     <function-decl name='urcu_workqueue_queue_completion' mangled-name='urcu_workqueue_queue_completion' filepath='src/workqueue.c' line='410' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_workqueue_queue_completion'>
       <!-- parameter of type 'urcu_workqueue*' -->
-      <parameter type-id='type-id-56' name='workqueue' filepath='src/workqueue.c' line='410' column='1'/>
+      <parameter type-id='type-id-51' name='workqueue' filepath='src/workqueue.c' line='410' column='1'/>
       <!-- parameter of type 'urcu_workqueue_completion*' -->
-      <parameter type-id='type-id-57' name='completion' filepath='src/workqueue.c' line='411' column='1'/>
+      <parameter type-id='type-id-55' name='completion' filepath='src/workqueue.c' line='411' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- void urcu_workqueue_wait_completion(urcu_workqueue_completion*) -->
     <function-decl name='urcu_workqueue_wait_completion' mangled-name='urcu_workqueue_wait_completion' filepath='src/workqueue.c' line='397' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_workqueue_wait_completion'>
       <!-- parameter of type 'urcu_workqueue_completion*' -->
-      <parameter type-id='type-id-57' name='completion' filepath='src/workqueue.c' line='397' column='1'/>
+      <parameter type-id='type-id-55' name='completion' filepath='src/workqueue.c' line='397' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- void urcu_workqueue_destroy_completion(urcu_workqueue_completion*) -->
     <function-decl name='urcu_workqueue_destroy_completion' mangled-name='urcu_workqueue_destroy_completion' filepath='src/workqueue.c' line='392' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_workqueue_destroy_completion'>
       <!-- parameter of type 'urcu_workqueue_completion*' -->
-      <parameter type-id='type-id-57' name='completion' filepath='src/workqueue.c' line='392' column='1'/>
+      <parameter type-id='type-id-55' name='completion' filepath='src/workqueue.c' line='392' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- urcu_workqueue_completion* urcu_workqueue_create_completion() -->
     <function-decl name='urcu_workqueue_create_completion' mangled-name='urcu_workqueue_create_completion' filepath='src/workqueue.c' line='380' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_workqueue_create_completion'>
       <!-- urcu_workqueue_completion* -->
-      <return type-id='type-id-57'/>
+      <return type-id='type-id-55'/>
     </function-decl>
+    <!-- struct urcu_work -->
+    <class-decl name='urcu_work' size-in-bits='128' is-struct='yes' visibility='default' filepath='src/workqueue.h' line='53' column='1' id='type-id-56'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_wfcq_node urcu_work::next -->
+        <var-decl name='next' type-id='type-id-8' visibility='default' filepath='src/workqueue.h' line='54' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- void (urcu_work*)* urcu_work::func -->
+        <var-decl name='func' type-id='type-id-57' visibility='default' filepath='src/workqueue.h' line='55' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- urcu_work* -->
+    <pointer-type-def type-id='type-id-56' size-in-bits='64' id='type-id-58'/>
+    <!-- void (urcu_work*)* -->
+    <pointer-type-def type-id='type-id-59' size-in-bits='64' id='type-id-57'/>
     <!-- void urcu_workqueue_queue_work(urcu_workqueue*, urcu_work*, void (urcu_work*)*) -->
     <function-decl name='urcu_workqueue_queue_work' mangled-name='urcu_workqueue_queue_work' filepath='src/workqueue.c' line='346' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_workqueue_queue_work'>
       <!-- parameter of type 'urcu_workqueue*' -->
-      <parameter type-id='type-id-56' name='workqueue' filepath='src/workqueue.c' line='346' column='1'/>
+      <parameter type-id='type-id-51' name='workqueue' filepath='src/workqueue.c' line='346' column='1'/>
       <!-- parameter of type 'urcu_work*' -->
-      <parameter type-id='type-id-55' name='work' filepath='src/workqueue.c' line='347' column='1'/>
+      <parameter type-id='type-id-58' name='work' filepath='src/workqueue.c' line='347' column='1'/>
       <!-- parameter of type 'void (urcu_work*)*' -->
-      <parameter type-id='type-id-54' name='func' filepath='src/workqueue.c' line='348' column='1'/>
+      <parameter type-id='type-id-57' name='func' filepath='src/workqueue.c' line='348' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- void urcu_workqueue_destroy(urcu_workqueue*) -->
     <function-decl name='urcu_workqueue_destroy' mangled-name='urcu_workqueue_destroy' filepath='src/workqueue.c' line='334' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_workqueue_destroy'>
       <!-- parameter of type 'urcu_workqueue*' -->
-      <parameter type-id='type-id-56' name='workqueue' filepath='src/workqueue.c' line='334' column='1'/>
+      <parameter type-id='type-id-51' name='workqueue' filepath='src/workqueue.c' line='458' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- urcu_workqueue* urcu_workqueue_create(unsigned long int, int, void*, void (urcu_workqueue*, void*)*, void (urcu_workqueue*, void*)*, void (urcu_workqueue*, void*)*, void (urcu_workqueue*, void*)*, void (urcu_workqueue*, void*)*, void (urcu_workqueue*, void*)*, void (urcu_workqueue*, void*)*) -->
     <function-decl name='urcu_workqueue_create' mangled-name='urcu_workqueue_create' filepath='src/workqueue.c' line='269' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_workqueue_create'>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-22' name='flags' filepath='src/workqueue.c' line='269' column='1'/>
+      <parameter type-id='type-id-39' name='flags' filepath='src/workqueue.c' line='269' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-1' name='cpu_affinity' filepath='src/workqueue.c' line='270' column='1'/>
+      <parameter type-id='type-id-3' name='cpu_affinity' filepath='src/workqueue.c' line='270' column='1'/>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-48' name='priv' filepath='src/workqueue.c' line='270' column='1'/>
       <!-- parameter of type 'void (urcu_workqueue*, void*)*' -->
       <!-- parameter of type 'void (urcu_workqueue*, void*)*' -->
       <parameter type-id='type-id-49' name='worker_after_resume_fct' filepath='src/workqueue.c' line='277' column='1'/>
       <!-- urcu_workqueue* -->
-      <return type-id='type-id-56'/>
+      <return type-id='type-id-51'/>
     </function-decl>
     <!-- void (urcu_work*) -->
-    <function-type size-in-bits='64' id='type-id-58'>
+    <function-type size-in-bits='64' id='type-id-59'>
       <!-- parameter of type 'urcu_work*' -->
-      <parameter type-id='type-id-55'/>
+      <parameter type-id='type-id-58'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-type>
     <!-- void (urcu_workqueue*, void*) -->
-    <function-type size-in-bits='64' id='type-id-59'>
+    <function-type size-in-bits='64' id='type-id-52'>
       <!-- parameter of type 'urcu_workqueue*' -->
-      <parameter type-id='type-id-56'/>
+      <parameter type-id='type-id-51'/>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-48'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-type>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='rculfhash.c' comp-dir-path='src' language='LANG_C99'>
-
-
-
-    <!-- cds_lfht_node*[64] -->
-    <array-type-def dimensions='1' type-id='type-id-60' size-in-bits='4096' id='type-id-61'>
-      <!-- <anonymous range>[64] -->
-      <subrange length='64' type-id='type-id-22' id='type-id-62'/>
-
-    </array-type-def>
-    <!-- cds_lfht_node*[] -->
-    <array-type-def dimensions='1' type-id='type-id-60' size-in-bits='infinite' id='type-id-63'>
-      <!-- <anonymous range>[] -->
-      <subrange length='infinite' type-id='type-id-22' id='type-id-64'/>
-
-    </array-type-def>
-    <!-- char[56] -->
-    <array-type-def dimensions='1' type-id='type-id-20' size-in-bits='448' id='type-id-65'>
-      <!-- <anonymous range>[56] -->
-      <subrange length='56' type-id='type-id-22' id='type-id-66'/>
-
-    </array-type-def>
     <!-- struct cds_lfht -->
-    <class-decl name='cds_lfht' size-in-bits='5248' is-struct='yes' visibility='default' filepath='../src/rculfhash-internal.h' line='70' column='1' id='type-id-67'>
+    <class-decl name='cds_lfht' size-in-bits='5248' is-struct='yes' visibility='default' filepath='../src/rculfhash-internal.h' line='70' column='1' id='type-id-60'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned long int cds_lfht::max_nr_buckets -->
-        <var-decl name='max_nr_buckets' type-id='type-id-22' visibility='default' filepath='../src/rculfhash-internal.h' line='72' column='1'/>
+        <var-decl name='max_nr_buckets' type-id='type-id-39' visibility='default' filepath='../src/rculfhash-internal.h' line='72' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- const cds_lfht_mm_type* cds_lfht::mm -->
-        <var-decl name='mm' type-id='type-id-68' visibility='default' filepath='../src/rculfhash-internal.h' line='73' column='1'/>
+        <var-decl name='mm' type-id='type-id-61' visibility='default' filepath='../src/rculfhash-internal.h' line='73' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- const rcu_flavor_struct* cds_lfht::flavor -->
-        <var-decl name='flavor' type-id='type-id-69' visibility='default' filepath='../src/rculfhash-internal.h' line='74' column='1'/>
+        <var-decl name='flavor' type-id='type-id-62' visibility='default' filepath='../src/rculfhash-internal.h' line='74' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- long int cds_lfht::count -->
-        <var-decl name='count' type-id='type-id-24' visibility='default' filepath='../src/rculfhash-internal.h' line='76' column='1'/>
+        <var-decl name='count' type-id='type-id-32' visibility='default' filepath='../src/rculfhash-internal.h' line='76' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- pthread_mutex_t cds_lfht::resize_mutex -->
-        <var-decl name='resize_mutex' type-id='type-id-37' visibility='default' filepath='../src/rculfhash-internal.h' line='85' column='1'/>
+        <var-decl name='resize_mutex' type-id='type-id-28' visibility='default' filepath='../src/rculfhash-internal.h' line='85' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='576'>
         <!-- pthread_attr_t* cds_lfht::resize_attr -->
-        <var-decl name='resize_attr' type-id='type-id-70' visibility='default' filepath='../src/rculfhash-internal.h' line='86' column='1'/>
+        <var-decl name='resize_attr' type-id='type-id-63' visibility='default' filepath='../src/rculfhash-internal.h' line='86' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='640'>
         <!-- unsigned int cds_lfht::in_progress_destroy -->
-        <var-decl name='in_progress_destroy' type-id='type-id-26' visibility='default' filepath='../src/rculfhash-internal.h' line='87' column='1'/>
+        <var-decl name='in_progress_destroy' type-id='type-id-33' visibility='default' filepath='../src/rculfhash-internal.h' line='87' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='704'>
         <!-- unsigned long int cds_lfht::resize_target -->
-        <var-decl name='resize_target' type-id='type-id-22' visibility='default' filepath='../src/rculfhash-internal.h' line='88' column='1'/>
+        <var-decl name='resize_target' type-id='type-id-39' visibility='default' filepath='../src/rculfhash-internal.h' line='88' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='768'>
         <!-- int cds_lfht::resize_initiated -->
-        <var-decl name='resize_initiated' type-id='type-id-1' visibility='default' filepath='../src/rculfhash-internal.h' line='89' column='1'/>
+        <var-decl name='resize_initiated' type-id='type-id-3' visibility='default' filepath='../src/rculfhash-internal.h' line='89' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='800'>
         <!-- int cds_lfht::flags -->
-        <var-decl name='flags' type-id='type-id-1' visibility='default' filepath='../src/rculfhash-internal.h' line='94' column='1'/>
+        <var-decl name='flags' type-id='type-id-3' visibility='default' filepath='../src/rculfhash-internal.h' line='94' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='832'>
         <!-- unsigned long int cds_lfht::min_alloc_buckets_order -->
-        <var-decl name='min_alloc_buckets_order' type-id='type-id-22' visibility='default' filepath='../src/rculfhash-internal.h' line='95' column='1'/>
+        <var-decl name='min_alloc_buckets_order' type-id='type-id-39' visibility='default' filepath='../src/rculfhash-internal.h' line='95' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='896'>
         <!-- unsigned long int cds_lfht::min_nr_alloc_buckets -->
-        <var-decl name='min_nr_alloc_buckets' type-id='type-id-22' visibility='default' filepath='../src/rculfhash-internal.h' line='96' column='1'/>
+        <var-decl name='min_nr_alloc_buckets' type-id='type-id-39' visibility='default' filepath='../src/rculfhash-internal.h' line='96' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='960'>
         <!-- ht_items_count* cds_lfht::split_count -->
-        <var-decl name='split_count' type-id='type-id-71' visibility='default' filepath='../src/rculfhash-internal.h' line='97' column='1'/>
+        <var-decl name='split_count' type-id='type-id-64' visibility='default' filepath='../src/rculfhash-internal.h' line='97' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1024'>
         <!-- unsigned long int cds_lfht::size -->
-        <var-decl name='size' type-id='type-id-22' visibility='default' filepath='../src/rculfhash-internal.h' line='102' column='1'/>
+        <var-decl name='size' type-id='type-id-39' visibility='default' filepath='../src/rculfhash-internal.h' line='102' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1088'>
         <!-- cds_lfht_node* (cds_lfht*, unsigned long int)* cds_lfht::bucket_at -->
-        <var-decl name='bucket_at' type-id='type-id-72' visibility='default' filepath='../src/rculfhash-internal.h' line='107' column='1'/>
+        <var-decl name='bucket_at' type-id='type-id-65' visibility='default' filepath='../src/rculfhash-internal.h' line='107' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1152'>
-        <!-- union {cds_lfht_node* tbl_order[64]; cds_lfht_node* tbl_chunk[]; cds_lfht_node* tbl_mmap;} -->
-        <var-decl name='' type-id='type-id-73' visibility='default'/>
+        <!-- __anonymous_union__  -->
+        <var-decl name='' type-id='type-id-66' visibility='default'/>
       </data-member>
     </class-decl>
     <!-- struct cds_lfht_mm_type -->
-    <class-decl name='cds_lfht_mm_type' size-in-bits='256' is-struct='yes' visibility='default' filepath='../include/urcu/rculfhash.h' line='120' column='1' id='type-id-74'>
+    <class-decl name='cds_lfht_mm_type' size-in-bits='256' is-struct='yes' visibility='default' filepath='../include/urcu/rculfhash.h' line='120' column='1' id='type-id-67'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_lfht* (unsigned long int, unsigned long int)* cds_lfht_mm_type::alloc_cds_lfht -->
-        <var-decl name='alloc_cds_lfht' type-id='type-id-75' visibility='default' filepath='../include/urcu/rculfhash.h' line='121' column='1'/>
+        <var-decl name='alloc_cds_lfht' type-id='type-id-68' visibility='default' filepath='../include/urcu/rculfhash.h' line='121' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
-        <!-- void ()* cds_lfht_mm_type::alloc_bucket_table -->
-        <var-decl name='alloc_bucket_table' type-id='type-id-76' visibility='default' filepath='../include/urcu/rculfhash.h' line='123' column='1'/>
+        <!-- void (cds_lfht*, unsigned long int)* cds_lfht_mm_type::alloc_bucket_table -->
+        <var-decl name='alloc_bucket_table' type-id='type-id-69' visibility='default' filepath='../include/urcu/rculfhash.h' line='123' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
-        <!-- void ()* cds_lfht_mm_type::free_bucket_table -->
-        <var-decl name='free_bucket_table' type-id='type-id-76' visibility='default' filepath='../include/urcu/rculfhash.h' line='124' column='1'/>
+        <!-- void (cds_lfht*, unsigned long int)* cds_lfht_mm_type::free_bucket_table -->
+        <var-decl name='free_bucket_table' type-id='type-id-69' visibility='default' filepath='../include/urcu/rculfhash.h' line='124' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- cds_lfht_node* (cds_lfht*, unsigned long int)* cds_lfht_mm_type::bucket_at -->
-        <var-decl name='bucket_at' type-id='type-id-72' visibility='default' filepath='../include/urcu/rculfhash.h' line='125' column='1'/>
+        <var-decl name='bucket_at' type-id='type-id-65' visibility='default' filepath='../include/urcu/rculfhash.h' line='125' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_lfht* -->
+    <pointer-type-def type-id='type-id-60' size-in-bits='64' id='type-id-70'/>
+    <!-- cds_lfht* (unsigned long int, unsigned long int)* -->
+    <pointer-type-def type-id='type-id-71' size-in-bits='64' id='type-id-68'/>
+    <!-- void (cds_lfht*, unsigned long int)* -->
+    <pointer-type-def type-id='type-id-72' size-in-bits='64' id='type-id-69'/>
     <!-- struct cds_lfht_node -->
-    <class-decl name='cds_lfht_node' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/rculfhash.h' line='63' column='1' id='type-id-77'>
+    <class-decl name='cds_lfht_node' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/rculfhash.h' line='63' column='1' id='type-id-73'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_lfht_node* cds_lfht_node::next -->
-        <var-decl name='next' type-id='type-id-60' visibility='default' filepath='../include/urcu/rculfhash.h' line='64' column='1'/>
+        <var-decl name='next' type-id='type-id-74' visibility='default' filepath='../include/urcu/rculfhash.h' line='64' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- unsigned long int cds_lfht_node::reverse_hash -->
-        <var-decl name='reverse_hash' type-id='type-id-22' visibility='default' filepath='../include/urcu/rculfhash.h' line='65' column='1'/>
+        <var-decl name='reverse_hash' type-id='type-id-39' visibility='default' filepath='../include/urcu/rculfhash.h' line='65' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_lfht_node* -->
+    <pointer-type-def type-id='type-id-73' size-in-bits='64' id='type-id-74'/>
+    <!-- cds_lfht_node* (cds_lfht*, unsigned long int)* -->
+    <pointer-type-def type-id='type-id-75' size-in-bits='64' id='type-id-65'/>
+    <!-- const cds_lfht_mm_type -->
+    <qualified-type-def type-id='type-id-67' const='yes' id='type-id-76'/>
+    <!-- const cds_lfht_mm_type* -->
+    <pointer-type-def type-id='type-id-76' size-in-bits='64' id='type-id-61'/>
     <!-- struct rcu_flavor_struct -->
-    <class-decl name='rcu_flavor_struct' size-in-bits='896' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='42' column='1' id='type-id-78'>
+    <class-decl name='rcu_flavor_struct' size-in-bits='896' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='42' column='1' id='type-id-77'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- void ()* rcu_flavor_struct::read_lock -->
-        <var-decl name='read_lock' type-id='type-id-79' visibility='default' filepath='../include/urcu/flavor.h' line='43' column='1'/>
+        <var-decl name='read_lock' type-id='type-id-78' visibility='default' filepath='../include/urcu/flavor.h' line='43' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void ()* rcu_flavor_struct::read_unlock -->
-        <var-decl name='read_unlock' type-id='type-id-79' visibility='default' filepath='../include/urcu/flavor.h' line='44' column='1'/>
+        <var-decl name='read_unlock' type-id='type-id-78' visibility='default' filepath='../include/urcu/flavor.h' line='44' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- int ()* rcu_flavor_struct::read_ongoing -->
-        <var-decl name='read_ongoing' type-id='type-id-80' visibility='default' filepath='../include/urcu/flavor.h' line='45' column='1'/>
+        <var-decl name='read_ongoing' type-id='type-id-79' visibility='default' filepath='../include/urcu/flavor.h' line='45' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- void ()* rcu_flavor_struct::read_quiescent_state -->
-        <var-decl name='read_quiescent_state' type-id='type-id-79' visibility='default' filepath='../include/urcu/flavor.h' line='46' column='1'/>
+        <var-decl name='read_quiescent_state' type-id='type-id-78' visibility='default' filepath='../include/urcu/flavor.h' line='46' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- void (rcu_head*, void (rcu_head*)*)* rcu_flavor_struct::update_call_rcu -->
-        <var-decl name='update_call_rcu' type-id='type-id-6' visibility='default' filepath='../include/urcu/flavor.h' line='47' column='1'/>
+        <var-decl name='update_call_rcu' type-id='type-id-5' visibility='default' filepath='../include/urcu/flavor.h' line='47' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
         <!-- void ()* rcu_flavor_struct::update_synchronize_rcu -->
-        <var-decl name='update_synchronize_rcu' type-id='type-id-79' visibility='default' filepath='../include/urcu/flavor.h' line='49' column='1'/>
+        <var-decl name='update_synchronize_rcu' type-id='type-id-78' visibility='default' filepath='../include/urcu/flavor.h' line='49' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='384'>
         <!-- void (void (void*)*, void*)* rcu_flavor_struct::update_defer_rcu -->
-        <var-decl name='update_defer_rcu' type-id='type-id-81' visibility='default' filepath='../include/urcu/flavor.h' line='50' column='1'/>
+        <var-decl name='update_defer_rcu' type-id='type-id-80' visibility='default' filepath='../include/urcu/flavor.h' line='50' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='448'>
         <!-- void ()* rcu_flavor_struct::thread_offline -->
-        <var-decl name='thread_offline' type-id='type-id-79' visibility='default' filepath='../include/urcu/flavor.h' line='52' column='1'/>
+        <var-decl name='thread_offline' type-id='type-id-78' visibility='default' filepath='../include/urcu/flavor.h' line='52' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='512'>
         <!-- void ()* rcu_flavor_struct::thread_online -->
-        <var-decl name='thread_online' type-id='type-id-79' visibility='default' filepath='../include/urcu/flavor.h' line='53' column='1'/>
+        <var-decl name='thread_online' type-id='type-id-78' visibility='default' filepath='../include/urcu/flavor.h' line='53' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='576'>
         <!-- void ()* rcu_flavor_struct::register_thread -->
-        <var-decl name='register_thread' type-id='type-id-79' visibility='default' filepath='../include/urcu/flavor.h' line='54' column='1'/>
+        <var-decl name='register_thread' type-id='type-id-78' visibility='default' filepath='../include/urcu/flavor.h' line='54' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='640'>
         <!-- void ()* rcu_flavor_struct::unregister_thread -->
-        <var-decl name='unregister_thread' type-id='type-id-79' visibility='default' filepath='../include/urcu/flavor.h' line='55' column='1'/>
+        <var-decl name='unregister_thread' type-id='type-id-78' visibility='default' filepath='../include/urcu/flavor.h' line='55' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='704'>
         <!-- void ()* rcu_flavor_struct::barrier -->
-        <var-decl name='barrier' type-id='type-id-79' visibility='default' filepath='../include/urcu/flavor.h' line='57' column='1'/>
+        <var-decl name='barrier' type-id='type-id-78' visibility='default' filepath='../include/urcu/flavor.h' line='57' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='768'>
         <!-- void (urcu_atfork*)* rcu_flavor_struct::register_rculfhash_atfork -->
-        <var-decl name='register_rculfhash_atfork' type-id='type-id-82' visibility='default' filepath='../include/urcu/flavor.h' line='59' column='1'/>
+        <var-decl name='register_rculfhash_atfork' type-id='type-id-81' visibility='default' filepath='../include/urcu/flavor.h' line='59' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='832'>
         <!-- void (urcu_atfork*)* rcu_flavor_struct::unregister_rculfhash_atfork -->
-        <var-decl name='unregister_rculfhash_atfork' type-id='type-id-82' visibility='default' filepath='../include/urcu/flavor.h' line='60' column='1'/>
+        <var-decl name='unregister_rculfhash_atfork' type-id='type-id-81' visibility='default' filepath='../include/urcu/flavor.h' line='60' column='1'/>
       </data-member>
     </class-decl>
+    <!-- void ()* -->
+    <pointer-type-def type-id='type-id-82' size-in-bits='64' id='type-id-78'/>
+    <!-- int ()* -->
+    <pointer-type-def type-id='type-id-83' size-in-bits='64' id='type-id-79'/>
+    <!-- void (void*)* -->
+    <pointer-type-def type-id='type-id-84' size-in-bits='64' id='type-id-85'/>
+    <!-- void (void (void*)*, void*)* -->
+    <pointer-type-def type-id='type-id-86' size-in-bits='64' id='type-id-80'/>
     <!-- struct urcu_atfork -->
-    <class-decl name='urcu_atfork' size-in-bits='256' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='32' column='1' id='type-id-83'>
+    <class-decl name='urcu_atfork' size-in-bits='256' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='32' column='1' id='type-id-87'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- void (void*)* urcu_atfork::before_fork -->
-        <var-decl name='before_fork' type-id='type-id-84' visibility='default' filepath='../include/urcu/flavor.h' line='33' column='1'/>
+        <var-decl name='before_fork' type-id='type-id-85' visibility='default' filepath='../include/urcu/flavor.h' line='33' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void (void*)* urcu_atfork::after_fork_parent -->
-        <var-decl name='after_fork_parent' type-id='type-id-84' visibility='default' filepath='../include/urcu/flavor.h' line='34' column='1'/>
+        <var-decl name='after_fork_parent' type-id='type-id-85' visibility='default' filepath='../include/urcu/flavor.h' line='34' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- void (void*)* urcu_atfork::after_fork_child -->
-        <var-decl name='after_fork_child' type-id='type-id-84' visibility='default' filepath='../include/urcu/flavor.h' line='35' column='1'/>
+        <var-decl name='after_fork_child' type-id='type-id-85' visibility='default' filepath='../include/urcu/flavor.h' line='35' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- void* urcu_atfork::priv -->
         <var-decl name='priv' type-id='type-id-48' visibility='default' filepath='../include/urcu/flavor.h' line='36' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef pthread_attr_t pthread_attr_t -->
-    <typedef-decl name='pthread_attr_t' type-id='type-id-85' filepath='/usr/include/bits/pthreadtypes.h' line='62' column='1' id='type-id-86'/>
+    <!-- urcu_atfork* -->
+    <pointer-type-def type-id='type-id-87' size-in-bits='64' id='type-id-88'/>
+    <!-- void (urcu_atfork*)* -->
+    <pointer-type-def type-id='type-id-89' size-in-bits='64' id='type-id-81'/>
+    <!-- const rcu_flavor_struct -->
+    <qualified-type-def type-id='type-id-77' const='yes' id='type-id-90'/>
+    <!-- const rcu_flavor_struct* -->
+    <pointer-type-def type-id='type-id-90' size-in-bits='64' id='type-id-62'/>
     <!-- union pthread_attr_t -->
-    <union-decl name='pthread_attr_t' size-in-bits='448' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='56' column='1' id='type-id-85'>
+    <union-decl name='pthread_attr_t' size-in-bits='448' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='56' column='1' id='type-id-91'>
       <data-member access='private'>
         <!-- char pthread_attr_t::__size[56] -->
-        <var-decl name='__size' type-id='type-id-65' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='58' column='1'/>
+        <var-decl name='__size' type-id='type-id-92' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='58' column='1'/>
       </data-member>
       <data-member access='private'>
         <!-- long int pthread_attr_t::__align -->
-        <var-decl name='__align' type-id='type-id-24' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='59' column='1'/>
+        <var-decl name='__align' type-id='type-id-32' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='59' column='1'/>
       </data-member>
     </union-decl>
+
+    <!-- char[56] -->
+    <array-type-def dimensions='1' type-id='type-id-38' size-in-bits='448' id='type-id-92'>
+      <!-- <anonymous range>[56] -->
+      <subrange length='56' type-id='type-id-39' id='type-id-93'/>
+
+    </array-type-def>
+    <!-- typedef pthread_attr_t pthread_attr_t -->
+    <typedef-decl name='pthread_attr_t' type-id='type-id-91' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='62' column='1' id='type-id-94'/>
+    <!-- pthread_attr_t* -->
+    <pointer-type-def type-id='type-id-94' size-in-bits='64' id='type-id-63'/>
     <!-- struct ht_items_count -->
-    <class-decl name='ht_items_count' size-in-bits='1024' is-struct='yes' visibility='default' filepath='src/rculfhash.c' line='338' column='1' id='type-id-87'>
+    <class-decl name='ht_items_count' size-in-bits='1024' is-struct='yes' visibility='default' filepath='src/rculfhash.c' line='338' column='1' id='type-id-95'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned long int ht_items_count::add -->
-        <var-decl name='add' type-id='type-id-22' visibility='default' filepath='src/rculfhash.c' line='339' column='1'/>
+        <var-decl name='add' type-id='type-id-39' visibility='default' filepath='src/rculfhash.c' line='339' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- unsigned long int ht_items_count::del -->
-        <var-decl name='del' type-id='type-id-22' visibility='default' filepath='src/rculfhash.c' line='339' column='1'/>
+        <var-decl name='del' type-id='type-id-39' visibility='default' filepath='src/rculfhash.c' line='339' column='1'/>
       </data-member>
     </class-decl>
-    <!-- union {cds_lfht_node* tbl_order[64]; cds_lfht_node* tbl_chunk[]; cds_lfht_node* tbl_mmap;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='4096' is-anonymous='yes' visibility='default' filepath='../src/rculfhash-internal.h' line='113' column='1' id='type-id-73'>
+    <!-- ht_items_count* -->
+    <pointer-type-def type-id='type-id-95' size-in-bits='64' id='type-id-64'/>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='4096' is-anonymous='yes' visibility='default' filepath='../src/rculfhash-internal.h' line='113' column='1' id='type-id-66'>
       <data-member access='private'>
-        <!-- cds_lfht_node* tbl_order[64] -->
-        <var-decl name='tbl_order' type-id='type-id-61' visibility='default' filepath='../src/rculfhash-internal.h' line='122' column='1'/>
+        <!-- cds_lfht_node* __anonymous_union__::tbl_order[64] -->
+        <var-decl name='tbl_order' type-id='type-id-96' visibility='default' filepath='../src/rculfhash-internal.h' line='122' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- cds_lfht_node* tbl_chunk[] -->
-        <var-decl name='tbl_chunk' type-id='type-id-63' visibility='default' filepath='../src/rculfhash-internal.h' line='134' column='1'/>
+        <!-- cds_lfht_node* __anonymous_union__::tbl_chunk[1] -->
+        <var-decl name='tbl_chunk' type-id='type-id-97' visibility='default' filepath='../src/rculfhash-internal.h' line='134' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- cds_lfht_node* tbl_mmap -->
-        <var-decl name='tbl_mmap' type-id='type-id-60' visibility='default' filepath='../src/rculfhash-internal.h' line='140' column='1'/>
+        <!-- cds_lfht_node* __anonymous_union__::tbl_mmap -->
+        <var-decl name='tbl_mmap' type-id='type-id-74' visibility='default' filepath='../src/rculfhash-internal.h' line='140' column='1'/>
       </data-member>
     </union-decl>
-    <!-- struct cds_lfht_iter -->
-    <class-decl name='cds_lfht_iter' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/rculfhash.h' line='69' column='1' id='type-id-88'>
-      <data-member access='public' layout-offset-in-bits='0'>
-        <!-- cds_lfht_node* cds_lfht_iter::node -->
-        <var-decl name='node' type-id='type-id-60' visibility='default' filepath='../include/urcu/rculfhash.h' line='70' column='1'/>
-      </data-member>
-      <data-member access='public' layout-offset-in-bits='64'>
-        <!-- cds_lfht_node* cds_lfht_iter::next -->
-        <var-decl name='next' type-id='type-id-60' visibility='default' filepath='../include/urcu/rculfhash.h' line='70' column='1'/>
-      </data-member>
-    </class-decl>
-    <!-- typedef int (cds_lfht_node*, void*)* cds_lfht_match_fct -->
-    <typedef-decl name='cds_lfht_match_fct' type-id='type-id-89' filepath='../include/urcu/rculfhash.h' line='98' column='1' id='type-id-90'/>
-    <!-- cds_lfht* -->
-    <pointer-type-def type-id='type-id-67' size-in-bits='64' id='type-id-91'/>
-    <!-- cds_lfht* (unsigned long int, unsigned long int)* -->
-    <pointer-type-def type-id='type-id-92' size-in-bits='64' id='type-id-75'/>
-    <!-- cds_lfht_iter* -->
-    <pointer-type-def type-id='type-id-88' size-in-bits='64' id='type-id-93'/>
-    <!-- cds_lfht_node* -->
-    <pointer-type-def type-id='type-id-77' size-in-bits='64' id='type-id-60'/>
-    <!-- cds_lfht_node* (cds_lfht*, unsigned long int)* -->
-    <pointer-type-def type-id='type-id-94' size-in-bits='64' id='type-id-72'/>
-    <!-- const cds_lfht_mm_type -->
-    <qualified-type-def type-id='type-id-74' const='yes' id='type-id-95'/>
-    <!-- const cds_lfht_mm_type* -->
-    <pointer-type-def type-id='type-id-95' size-in-bits='64' id='type-id-68'/>
-    <!-- const cds_lfht_node -->
-    <qualified-type-def type-id='type-id-77' const='yes' id='type-id-96'/>
-    <!-- const cds_lfht_node* -->
-    <pointer-type-def type-id='type-id-96' size-in-bits='64' id='type-id-97'/>
-    <!-- const rcu_flavor_struct -->
-    <qualified-type-def type-id='type-id-78' const='yes' id='type-id-98'/>
-    <!-- const rcu_flavor_struct* -->
-    <pointer-type-def type-id='type-id-98' size-in-bits='64' id='type-id-69'/>
-    <!-- ht_items_count* -->
-    <pointer-type-def type-id='type-id-87' size-in-bits='64' id='type-id-71'/>
-    <!-- int ()* -->
-    <pointer-type-def type-id='type-id-99' size-in-bits='64' id='type-id-80'/>
-    <!-- int (cds_lfht_node*, void*)* -->
-    <pointer-type-def type-id='type-id-100' size-in-bits='64' id='type-id-89'/>
-    <!-- long int* -->
-    <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-101'/>
-    <!-- pthread_attr_t* -->
-    <pointer-type-def type-id='type-id-86' size-in-bits='64' id='type-id-70'/>
-    <!-- pthread_attr_t** -->
-    <pointer-type-def type-id='type-id-70' size-in-bits='64' id='type-id-102'/>
-    <!-- unsigned long int* -->
-    <pointer-type-def type-id='type-id-22' size-in-bits='64' id='type-id-103'/>
-    <!-- urcu_atfork* -->
-    <pointer-type-def type-id='type-id-83' size-in-bits='64' id='type-id-104'/>
-    <!-- void ()* -->
-    <pointer-type-def type-id='type-id-105' size-in-bits='64' id='type-id-79'/>
-    <!-- void ()* -->
-    <pointer-type-def type-id='type-id-106' size-in-bits='64' id='type-id-76'/>
-    <!-- void (urcu_atfork*)* -->
-    <pointer-type-def type-id='type-id-107' size-in-bits='64' id='type-id-82'/>
-    <!-- void (void (void*)*, void*)* -->
-    <pointer-type-def type-id='type-id-108' size-in-bits='64' id='type-id-81'/>
-    <!-- void (void*)* -->
-    <pointer-type-def type-id='type-id-109' size-in-bits='64' id='type-id-84'/>
+
+    <!-- cds_lfht_node*[64] -->
+    <array-type-def dimensions='1' type-id='type-id-74' size-in-bits='4096' id='type-id-96'>
+      <!-- <anonymous range>[64] -->
+      <subrange length='64' type-id='type-id-39' id='type-id-98'/>
+
+    </array-type-def>
+
+    <!-- cds_lfht_node*[1] -->
+    <array-type-def dimensions='1' type-id='type-id-74' size-in-bits='64' id='type-id-97'>
+      <!-- <anonymous range>[1] -->
+      <subrange length='1' type-id='type-id-39' id='type-id-99'/>
+
+    </array-type-def>
     <!-- void cds_lfht_resize(cds_lfht*, unsigned long int) -->
     <function-decl name='cds_lfht_resize' mangled-name='cds_lfht_resize' filepath='src/rculfhash.c' line='2028' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_resize'>
       <!-- parameter of type 'cds_lfht*' -->
-      <parameter type-id='type-id-91' name='ht' filepath='src/rculfhash.c' line='2028' column='1'/>
+      <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='2028' column='1'/>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-22' name='new_size' filepath='src/rculfhash.c' line='2028' column='1'/>
+      <parameter type-id='type-id-39' name='new_size' filepath='src/rculfhash.c' line='2028' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
+    <!-- long int* -->
+    <pointer-type-def type-id='type-id-32' size-in-bits='64' id='type-id-100'/>
+    <!-- unsigned long int* -->
+    <pointer-type-def type-id='type-id-39' size-in-bits='64' id='type-id-101'/>
     <!-- void cds_lfht_count_nodes(cds_lfht*, long int*, unsigned long int*, long int*) -->
     <function-decl name='cds_lfht_count_nodes' mangled-name='cds_lfht_count_nodes' filepath='src/rculfhash.c' line='1906' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_count_nodes'>
       <!-- parameter of type 'cds_lfht*' -->
-      <parameter type-id='type-id-91' name='ht' filepath='src/rculfhash.c' line='1906' column='1'/>
+      <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='1906' column='1'/>
       <!-- parameter of type 'long int*' -->
-      <parameter type-id='type-id-101' name='approx_before' filepath='src/rculfhash.c' line='1907' column='1'/>
+      <parameter type-id='type-id-100' name='approx_before' filepath='src/rculfhash.c' line='1907' column='1'/>
       <!-- parameter of type 'unsigned long int*' -->
-      <parameter type-id='type-id-103' name='count' filepath='src/rculfhash.c' line='1908' column='1'/>
+      <parameter type-id='type-id-101' name='count' filepath='src/rculfhash.c' line='1908' column='1'/>
       <!-- parameter of type 'long int*' -->
-      <parameter type-id='type-id-101' name='approx_after' filepath='src/rculfhash.c' line='1909' column='1'/>
+      <parameter type-id='type-id-100' name='approx_after' filepath='src/rculfhash.c' line='1909' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
+    <!-- pthread_attr_t** -->
+    <pointer-type-def type-id='type-id-63' size-in-bits='64' id='type-id-102'/>
     <!-- int cds_lfht_destroy(cds_lfht*, pthread_attr_t**) -->
     <function-decl name='cds_lfht_destroy' mangled-name='cds_lfht_destroy' filepath='src/rculfhash.c' line='1881' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_destroy'>
       <!-- parameter of type 'cds_lfht*' -->
-      <parameter type-id='type-id-91' name='ht' filepath='src/rculfhash.c' line='1881' column='1'/>
+      <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='1881' column='1'/>
       <!-- parameter of type 'pthread_attr_t**' -->
       <parameter type-id='type-id-102' name='attr' filepath='src/rculfhash.c' line='1881' column='1'/>
       <!-- int -->
-      <return type-id='type-id-1'/>
+      <return type-id='type-id-3'/>
     </function-decl>
+    <!-- const cds_lfht_node -->
+    <qualified-type-def type-id='type-id-73' const='yes' id='type-id-103'/>
+    <!-- const cds_lfht_node* -->
+    <pointer-type-def type-id='type-id-103' size-in-bits='64' id='type-id-104'/>
     <!-- int cds_lfht_is_node_deleted(const cds_lfht_node*) -->
     <function-decl name='cds_lfht_is_node_deleted' mangled-name='cds_lfht_is_node_deleted' filepath='src/rculfhash.c' line='1838' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_is_node_deleted'>
       <!-- parameter of type 'const cds_lfht_node*' -->
-      <parameter type-id='type-id-97' name='node' filepath='src/rculfhash.c' line='1838' column='1'/>
+      <parameter type-id='type-id-104' name='node' filepath='src/rculfhash.c' line='1838' column='1'/>
       <!-- int -->
-      <return type-id='type-id-1'/>
+      <return type-id='type-id-3'/>
     </function-decl>
     <!-- int cds_lfht_del(cds_lfht*, cds_lfht_node*) -->
     <function-decl name='cds_lfht_del' mangled-name='cds_lfht_del' filepath='src/rculfhash.c' line='1822' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_del'>
       <!-- parameter of type 'cds_lfht*' -->
-      <parameter type-id='type-id-91' name='ht' filepath='src/rculfhash.c' line='1822' column='1'/>
+      <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='1822' column='1'/>
       <!-- parameter of type 'cds_lfht_node*' -->
-      <parameter type-id='type-id-60' name='node' filepath='src/rculfhash.c' line='1822' column='1'/>
+      <parameter type-id='type-id-74' name='node' filepath='src/rculfhash.c' line='1822' column='1'/>
       <!-- int -->
-      <return type-id='type-id-1'/>
+      <return type-id='type-id-3'/>
     </function-decl>
+    <!-- struct cds_lfht_iter -->
+    <class-decl name='cds_lfht_iter' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/rculfhash.h' line='69' column='1' id='type-id-105'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_lfht_node* cds_lfht_iter::node -->
+        <var-decl name='node' type-id='type-id-74' visibility='default' filepath='../include/urcu/rculfhash.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- cds_lfht_node* cds_lfht_iter::next -->
+        <var-decl name='next' type-id='type-id-74' visibility='default' filepath='../include/urcu/rculfhash.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- cds_lfht_iter* -->
+    <pointer-type-def type-id='type-id-105' size-in-bits='64' id='type-id-106'/>
+    <!-- int (cds_lfht_node*, void*)* -->
+    <pointer-type-def type-id='type-id-107' size-in-bits='64' id='type-id-108'/>
+    <!-- typedef int (cds_lfht_node*, void*)* cds_lfht_match_fct -->
+    <typedef-decl name='cds_lfht_match_fct' type-id='type-id-108' filepath='../include/urcu/rculfhash.h' line='98' column='1' id='type-id-109'/>
     <!-- int cds_lfht_replace(cds_lfht*, cds_lfht_iter*, unsigned long int, cds_lfht_match_fct, void*, cds_lfht_node*) -->
     <function-decl name='cds_lfht_replace' mangled-name='cds_lfht_replace' filepath='src/rculfhash.c' line='1801' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_replace'>
       <!-- parameter of type 'cds_lfht*' -->
-      <parameter type-id='type-id-91' name='ht' filepath='src/rculfhash.c' line='1801' column='1'/>
+      <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='1801' column='1'/>
       <!-- parameter of type 'cds_lfht_iter*' -->
-      <parameter type-id='type-id-93' name='old_iter' filepath='src/rculfhash.c' line='1802' column='1'/>
+      <parameter type-id='type-id-106' name='old_iter' filepath='src/rculfhash.c' line='1802' column='1'/>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-22' name='hash' filepath='src/rculfhash.c' line='1803' column='1'/>
+      <parameter type-id='type-id-39' name='hash' filepath='src/rculfhash.c' line='1803' column='1'/>
       <!-- parameter of type 'typedef cds_lfht_match_fct' -->
-      <parameter type-id='type-id-90' name='match' filepath='src/rculfhash.c' line='1804' column='1'/>
+      <parameter type-id='type-id-109' name='match' filepath='src/rculfhash.c' line='1804' column='1'/>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-48' name='key' filepath='src/rculfhash.c' line='1805' column='1'/>
       <!-- parameter of type 'cds_lfht_node*' -->
-      <parameter type-id='type-id-60' name='new_node' filepath='src/rculfhash.c' line='1806' column='1'/>
+      <parameter type-id='type-id-74' name='new_node' filepath='src/rculfhash.c' line='1806' column='1'/>
       <!-- int -->
-      <return type-id='type-id-1'/>
+      <return type-id='type-id-3'/>
     </function-decl>
     <!-- cds_lfht_node* cds_lfht_add_replace(cds_lfht*, unsigned long int, cds_lfht_match_fct, void*, cds_lfht_node*) -->
     <function-decl name='cds_lfht_add_replace' mangled-name='cds_lfht_add_replace' filepath='src/rculfhash.c' line='1778' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_add_replace'>
       <!-- parameter of type 'cds_lfht*' -->
-      <parameter type-id='type-id-91' name='ht' filepath='src/rculfhash.c' line='1778' column='1'/>
+      <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='1778' column='1'/>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-22' name='hash' filepath='src/rculfhash.c' line='1779' column='1'/>
+      <parameter type-id='type-id-39' name='hash' filepath='src/rculfhash.c' line='1779' column='1'/>
       <!-- parameter of type 'typedef cds_lfht_match_fct' -->
-      <parameter type-id='type-id-90' name='match' filepath='src/rculfhash.c' line='1780' column='1'/>
+      <parameter type-id='type-id-109' name='match' filepath='src/rculfhash.c' line='1780' column='1'/>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-48' name='key' filepath='src/rculfhash.c' line='1781' column='1'/>
       <!-- parameter of type 'cds_lfht_node*' -->
-      <parameter type-id='type-id-60' name='node' filepath='src/rculfhash.c' line='1782' column='1'/>
+      <parameter type-id='type-id-74' name='node' filepath='src/rculfhash.c' line='1782' column='1'/>
       <!-- cds_lfht_node* -->
-      <return type-id='type-id-60'/>
+      <return type-id='type-id-74'/>
     </function-decl>
     <!-- cds_lfht_node* cds_lfht_add_unique(cds_lfht*, unsigned long int, cds_lfht_match_fct, void*, cds_lfht_node*) -->
     <function-decl name='cds_lfht_add_unique' mangled-name='cds_lfht_add_unique' filepath='src/rculfhash.c' line='1761' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_add_unique'>
       <!-- parameter of type 'cds_lfht*' -->
-      <parameter type-id='type-id-91' name='ht' filepath='src/rculfhash.c' line='1761' column='1'/>
+      <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='1778' column='1'/>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-22' name='hash' filepath='src/rculfhash.c' line='1762' column='1'/>
+      <parameter type-id='type-id-39' name='hash' filepath='src/rculfhash.c' line='1779' column='1'/>
       <!-- parameter of type 'typedef cds_lfht_match_fct' -->
-      <parameter type-id='type-id-90' name='match' filepath='src/rculfhash.c' line='1763' column='1'/>
+      <parameter type-id='type-id-109' name='match' filepath='src/rculfhash.c' line='1780' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-48' name='key' filepath='src/rculfhash.c' line='1764' column='1'/>
+      <parameter type-id='type-id-48' name='key' filepath='src/rculfhash.c' line='1781' column='1'/>
       <!-- parameter of type 'cds_lfht_node*' -->
-      <parameter type-id='type-id-60' name='node' filepath='src/rculfhash.c' line='1765' column='1'/>
+      <parameter type-id='type-id-74' name='node' filepath='src/rculfhash.c' line='1782' column='1'/>
       <!-- cds_lfht_node* -->
-      <return type-id='type-id-60'/>
+      <return type-id='type-id-74'/>
     </function-decl>
     <!-- void cds_lfht_add(cds_lfht*, unsigned long int, cds_lfht_node*) -->
     <function-decl name='cds_lfht_add' mangled-name='cds_lfht_add' filepath='src/rculfhash.c' line='1750' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_add'>
       <!-- parameter of type 'cds_lfht*' -->
-      <parameter type-id='type-id-91' name='ht' filepath='src/rculfhash.c' line='1750' column='1'/>
+      <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='1750' column='1'/>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-22' name='hash' filepath='src/rculfhash.c' line='1750' column='1'/>
+      <parameter type-id='type-id-39' name='hash' filepath='src/rculfhash.c' line='1750' column='1'/>
       <!-- parameter of type 'cds_lfht_node*' -->
-      <parameter type-id='type-id-60' name='node' filepath='src/rculfhash.c' line='1751' column='1'/>
+      <parameter type-id='type-id-74' name='node' filepath='src/rculfhash.c' line='1751' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- void cds_lfht_first(cds_lfht*, cds_lfht_iter*) -->
     <function-decl name='cds_lfht_first' mangled-name='cds_lfht_first' filepath='src/rculfhash.c' line='1739' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_first'>
       <!-- parameter of type 'cds_lfht*' -->
-      <parameter type-id='type-id-91' name='ht' filepath='src/rculfhash.c' line='1739' column='1'/>
+      <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='1739' column='1'/>
       <!-- parameter of type 'cds_lfht_iter*' -->
-      <parameter type-id='type-id-93' name='iter' filepath='src/rculfhash.c' line='1739' column='1'/>
+      <parameter type-id='type-id-106' name='iter' filepath='src/rculfhash.c' line='1739' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- void cds_lfht_next(cds_lfht*, cds_lfht_iter*) -->
     <function-decl name='cds_lfht_next' mangled-name='cds_lfht_next' filepath='src/rculfhash.c' line='1715' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_next'>
       <!-- parameter of type 'cds_lfht*' -->
-      <parameter type-id='type-id-91' name='ht' filepath='src/rculfhash.c' line='1715' column='1'/>
+      <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='1715' column='1'/>
       <!-- parameter of type 'cds_lfht_iter*' -->
-      <parameter type-id='type-id-93' name='iter' filepath='src/rculfhash.c' line='1716' column='1'/>
+      <parameter type-id='type-id-106' name='iter' filepath='src/rculfhash.c' line='1716' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- void cds_lfht_next_duplicate(cds_lfht*, cds_lfht_match_fct, void*, cds_lfht_iter*) -->
     <function-decl name='cds_lfht_next_duplicate' mangled-name='cds_lfht_next_duplicate' filepath='src/rculfhash.c' line='1680' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_next_duplicate'>
       <!-- parameter of type 'cds_lfht*' -->
-      <parameter type-id='type-id-91' name='ht' filepath='src/rculfhash.c' line='1680' column='1'/>
+      <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='1680' column='1'/>
       <!-- parameter of type 'typedef cds_lfht_match_fct' -->
-      <parameter type-id='type-id-90' name='match' filepath='src/rculfhash.c' line='1681' column='1'/>
+      <parameter type-id='type-id-109' name='match' filepath='src/rculfhash.c' line='1681' column='1'/>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-48' name='key' filepath='src/rculfhash.c' line='1682' column='1'/>
       <!-- parameter of type 'cds_lfht_iter*' -->
-      <parameter type-id='type-id-93' name='iter' filepath='src/rculfhash.c' line='1682' column='1'/>
+      <parameter type-id='type-id-106' name='iter' filepath='src/rculfhash.c' line='1682' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- void cds_lfht_lookup(cds_lfht*, unsigned long int, cds_lfht_match_fct, void*, cds_lfht_iter*) -->
     <function-decl name='cds_lfht_lookup' mangled-name='cds_lfht_lookup' filepath='src/rculfhash.c' line='1640' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_lookup'>
       <!-- parameter of type 'cds_lfht*' -->
-      <parameter type-id='type-id-91' name='ht' filepath='src/rculfhash.c' line='1640' column='1'/>
+      <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='1640' column='1'/>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-22' name='hash' filepath='src/rculfhash.c' line='1640' column='1'/>
+      <parameter type-id='type-id-39' name='hash' filepath='src/rculfhash.c' line='1640' column='1'/>
       <!-- parameter of type 'typedef cds_lfht_match_fct' -->
-      <parameter type-id='type-id-90' name='match' filepath='src/rculfhash.c' line='1641' column='1'/>
+      <parameter type-id='type-id-109' name='match' filepath='src/rculfhash.c' line='1641' column='1'/>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-48' name='key' filepath='src/rculfhash.c' line='1641' column='1'/>
       <!-- parameter of type 'cds_lfht_iter*' -->
-      <parameter type-id='type-id-93' name='iter' filepath='src/rculfhash.c' line='1642' column='1'/>
+      <parameter type-id='type-id-106' name='iter' filepath='src/rculfhash.c' line='1642' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- cds_lfht* _cds_lfht_new(unsigned long int, unsigned long int, unsigned long int, int, const cds_lfht_mm_type*, const rcu_flavor_struct*, pthread_attr_t*) -->
     <function-decl name='_cds_lfht_new' mangled-name='_cds_lfht_new' filepath='src/rculfhash.c' line='1581' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_cds_lfht_new'>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-22' name='init_size' filepath='src/rculfhash.c' line='1581' column='1'/>
+      <parameter type-id='type-id-39' name='init_size' filepath='src/rculfhash.c' line='1581' column='1'/>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-22' name='min_nr_alloc_buckets' filepath='src/rculfhash.c' line='1582' column='1'/>
+      <parameter type-id='type-id-39' name='min_nr_alloc_buckets' filepath='src/rculfhash.c' line='1582' column='1'/>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-22' name='max_nr_buckets' filepath='src/rculfhash.c' line='1583' column='1'/>
+      <parameter type-id='type-id-39' name='max_nr_buckets' filepath='src/rculfhash.c' line='1583' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-1' name='flags' filepath='src/rculfhash.c' line='1584' column='1'/>
+      <parameter type-id='type-id-3' name='flags' filepath='src/rculfhash.c' line='1584' column='1'/>
       <!-- parameter of type 'const cds_lfht_mm_type*' -->
-      <parameter type-id='type-id-68' name='mm' filepath='src/rculfhash.c' line='1585' column='1'/>
+      <parameter type-id='type-id-61' name='mm' filepath='src/rculfhash.c' line='1585' column='1'/>
       <!-- parameter of type 'const rcu_flavor_struct*' -->
-      <parameter type-id='type-id-69' name='flavor' filepath='src/rculfhash.c' line='1586' column='1'/>
+      <parameter type-id='type-id-62' name='flavor' filepath='src/rculfhash.c' line='1586' column='1'/>
       <!-- parameter of type 'pthread_attr_t*' -->
-      <parameter type-id='type-id-70' name='attr' filepath='src/rculfhash.c' line='1587' column='1'/>
+      <parameter type-id='type-id-63' name='attr' filepath='src/rculfhash.c' line='1587' column='1'/>
       <!-- cds_lfht* -->
-      <return type-id='type-id-91'/>
+      <return type-id='type-id-70'/>
     </function-decl>
     <!-- int cds_lfht_get_count_order_ulong(unsigned long int) -->
     <function-decl name='cds_lfht_get_count_order_ulong' mangled-name='cds_lfht_get_count_order_ulong' filepath='src/rculfhash.c' line='598' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_get_count_order_ulong'>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-22' name='x' filepath='src/rculfhash.c' line='598' column='1'/>
+      <parameter type-id='type-id-39' name='x' filepath='src/rculfhash.c' line='598' column='1'/>
       <!-- int -->
-      <return type-id='type-id-1'/>
+      <return type-id='type-id-3'/>
     </function-decl>
     <!-- unsigned int cds_lfht_fls_ulong(unsigned long int) -->
     <function-decl name='cds_lfht_fls_ulong' mangled-name='cds_lfht_fls_ulong' filepath='src/rculfhash.c' line='572' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_fls_ulong'>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-22' name='x' filepath='src/rculfhash.c' line='572' column='1'/>
+      <parameter type-id='type-id-39' name='x' filepath='src/rculfhash.c' line='572' column='1'/>
       <!-- unsigned int -->
-      <return type-id='type-id-26'/>
+      <return type-id='type-id-33'/>
     </function-decl>
     <!-- cds_lfht* (unsigned long int, unsigned long int) -->
-    <function-type size-in-bits='64' id='type-id-92'>
+    <function-type size-in-bits='64' id='type-id-71'>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-22'/>
+      <parameter type-id='type-id-39'/>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-22'/>
+      <parameter type-id='type-id-39'/>
       <!-- cds_lfht* -->
-      <return type-id='type-id-91'/>
+      <return type-id='type-id-70'/>
     </function-type>
     <!-- cds_lfht_node* (cds_lfht*, unsigned long int) -->
-    <function-type size-in-bits='64' id='type-id-94'>
+    <function-type size-in-bits='64' id='type-id-75'>
       <!-- parameter of type 'cds_lfht*' -->
-      <parameter type-id='type-id-91'/>
+      <parameter type-id='type-id-70'/>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-22'/>
+      <parameter type-id='type-id-39'/>
       <!-- cds_lfht_node* -->
-      <return type-id='type-id-60'/>
+      <return type-id='type-id-74'/>
     </function-type>
     <!-- int () -->
-    <function-type size-in-bits='64' id='type-id-99'>
+    <function-type size-in-bits='64' id='type-id-83'>
       <!-- int -->
-      <return type-id='type-id-1'/>
+      <return type-id='type-id-3'/>
     </function-type>
     <!-- int (cds_lfht_node*, void*) -->
-    <function-type size-in-bits='64' id='type-id-100'>
+    <function-type size-in-bits='64' id='type-id-107'>
       <!-- parameter of type 'cds_lfht_node*' -->
-      <parameter type-id='type-id-60'/>
+      <parameter type-id='type-id-74'/>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-48'/>
       <!-- int -->
-      <return type-id='type-id-1'/>
+      <return type-id='type-id-3'/>
     </function-type>
     <!-- void () -->
-    <function-type size-in-bits='64' id='type-id-105'>
+    <function-type size-in-bits='64' id='type-id-82'>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-type>
     <!-- void (cds_lfht*, unsigned long int) -->
-    <function-type size-in-bits='64' id='type-id-106'>
+    <function-type size-in-bits='64' id='type-id-72'>
       <!-- parameter of type 'cds_lfht*' -->
-      <parameter type-id='type-id-91' name='ht'/>
+      <parameter type-id='type-id-70'/>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-22' name='new_size'/>
+      <parameter type-id='type-id-39'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-type>
     <!-- void (urcu_atfork*) -->
-    <function-type size-in-bits='64' id='type-id-107'>
+    <function-type size-in-bits='64' id='type-id-89'>
       <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-104'/>
+      <parameter type-id='type-id-88'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-type>
     <!-- void (void (void*)*, void*) -->
-    <function-type size-in-bits='64' id='type-id-108'>
+    <function-type size-in-bits='64' id='type-id-86'>
       <!-- parameter of type 'void (void*)*' -->
-      <parameter type-id='type-id-84'/>
+      <parameter type-id='type-id-85'/>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-48'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-type>
     <!-- void (void*) -->
-    <function-type size-in-bits='64' id='type-id-109'>
+    <function-type size-in-bits='64' id='type-id-84'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-48'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-type>
   </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='rculfhash-mm-order.c' comp-dir-path='src' language='LANG_C99'>
+    <!-- const cds_lfht_mm_type cds_lfht_mm_order -->
+    <var-decl name='cds_lfht_mm_order' type-id='type-id-76' mangled-name='cds_lfht_mm_order' visibility='default' filepath='../include/urcu/rculfhash.h' line='129' column='1' elf-symbol-id='cds_lfht_mm_order'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='rculfhash-mm-chunk.c' comp-dir-path='src' language='LANG_C99'>
+    <!-- const cds_lfht_mm_type cds_lfht_mm_chunk -->
+    <var-decl name='cds_lfht_mm_chunk' type-id='type-id-76' mangled-name='cds_lfht_mm_chunk' visibility='default' filepath='../include/urcu/rculfhash.h' line='130' column='1' elf-symbol-id='cds_lfht_mm_chunk'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='rculfhash-mm-mmap.c' comp-dir-path='src' language='LANG_C99'>
+    <!-- const cds_lfht_mm_type cds_lfht_mm_mmap -->
+    <var-decl name='cds_lfht_mm_mmap' type-id='type-id-76' mangled-name='cds_lfht_mm_mmap' visibility='default' filepath='../include/urcu/rculfhash.h' line='131' column='1' elf-symbol-id='cds_lfht_mm_mmap'/>
+  </abi-instr>
   <abi-instr version='1.0' address-size='64' path='compat_futex.c' comp-dir-path='src' language='LANG_C99'>
-
-
-    <!-- char[48] -->
-    <array-type-def dimensions='1' type-id='type-id-20' size-in-bits='384' id='type-id-110'>
-      <!-- <anonymous range>[48] -->
-      <subrange length='48' type-id='type-id-22' id='type-id-111'/>
-
-    </array-type-def>
-    <!-- long long int -->
-    <type-decl name='long long int' size-in-bits='64' id='type-id-112'/>
-    <!-- long long unsigned int -->
-    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-113'/>
-    <!-- unsigned int[2] -->
-    <array-type-def dimensions='1' type-id='type-id-26' size-in-bits='64' id='type-id-114'>
-      <!-- <anonymous range>[2] -->
-      <subrange length='2' type-id='type-id-22' id='type-id-115'/>
-
-    </array-type-def>
-    <!-- typedef __anonymous_union__ pthread_cond_t -->
-    <typedef-decl name='pthread_cond_t' type-id='type-id-116' filepath='/usr/include/bits/pthreadtypes.h' line='80' column='1' id='type-id-117'/>
-    <!-- union {__pthread_cond_s __data; char __size[48]; long long int __align;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='75' column='1' id='type-id-116'>
+    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
+    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-28' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='75' column='1' id='type-id-110'>
       <data-member access='private'>
-        <!-- __pthread_cond_s __data -->
-        <var-decl name='__data' type-id='type-id-118' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='77' column='1'/>
+        <!-- __pthread_cond_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-111' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='77' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- char __size[48] -->
-        <var-decl name='__size' type-id='type-id-110' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='78' column='1'/>
+        <!-- char __anonymous_union__::__size[48] -->
+        <var-decl name='__size' type-id='type-id-112' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='78' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- long long int __align -->
-        <var-decl name='__align' type-id='type-id-112' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='79' column='1'/>
+        <!-- long long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-113' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='79' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __pthread_cond_s -->
-    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='92' column='1' id='type-id-118'>
+    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='171' column='1' id='type-id-111'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <!-- union {long long unsigned int __wseq; struct {unsigned int __low; unsigned int __high;} __wseq32;} -->
-        <var-decl name='' type-id='type-id-119' visibility='default'/>
+        <!-- __anonymous_union__  -->
+        <var-decl name='' type-id='type-id-114' visibility='default'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- unsigned int __pthread_cond_s::__g_refs[2] -->
-        <var-decl name='__g_refs' type-id='type-id-114' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='112' column='1'/>
+        <var-decl name='__g_refs' type-id='type-id-115' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='191' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- unsigned int __pthread_cond_s::__g_size[2] -->
-        <var-decl name='__g_size' type-id='type-id-114' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='113' column='1'/>
+        <var-decl name='__g_size' type-id='type-id-115' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='192' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- unsigned int __pthread_cond_s::__g1_orig_size -->
-        <var-decl name='__g1_orig_size' type-id='type-id-26' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='114' column='1'/>
+        <var-decl name='__g1_orig_size' type-id='type-id-33' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='193' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='288'>
         <!-- unsigned int __pthread_cond_s::__wrefs -->
-        <var-decl name='__wrefs' type-id='type-id-26' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='115' column='1'/>
+        <var-decl name='__wrefs' type-id='type-id-33' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='194' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
         <!-- unsigned int __pthread_cond_s::__g_signals[2] -->
-        <var-decl name='__g_signals' type-id='type-id-114' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='116' column='1'/>
+        <var-decl name='__g_signals' type-id='type-id-115' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='195' column='1'/>
       </data-member>
     </class-decl>
-    <!-- union {long long unsigned int __wseq; struct {unsigned int __low; unsigned int __high;} __wseq32;} -->
-    <union-decl name='__anonymous_union__1' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='94' column='1' id='type-id-119'>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='173' column='1' id='type-id-114'>
       <data-member access='private'>
-        <!-- long long unsigned int __wseq -->
-        <var-decl name='__wseq' type-id='type-id-113' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='96' column='1'/>
+        <!-- long long unsigned int __anonymous_union__::__wseq -->
+        <var-decl name='__wseq' type-id='type-id-116' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='175' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- struct {unsigned int __low; unsigned int __high;} __wseq32 -->
-        <var-decl name='__wseq32' type-id='type-id-120' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='101' column='1'/>
+        <!-- __anonymous_struct__ __anonymous_union__::__wseq32 -->
+        <var-decl name='__wseq32' type-id='type-id-117' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='180' column='1'/>
       </data-member>
     </union-decl>
-    <!-- struct {unsigned int __low; unsigned int __high;} -->
-    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='97' column='1' id='type-id-120'>
+    <!-- long long unsigned int -->
+    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-116'/>
+    <!-- struct __anonymous_struct__ -->
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='176' column='1' id='type-id-117'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <!-- unsigned int __low -->
-        <var-decl name='__low' type-id='type-id-26' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='99' column='1'/>
+        <!-- unsigned int __anonymous_struct__::__low -->
+        <var-decl name='__low' type-id='type-id-33' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='178' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='32'>
-        <!-- unsigned int __high -->
-        <var-decl name='__high' type-id='type-id-26' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='100' column='1'/>
+        <!-- unsigned int __anonymous_struct__::__high -->
+        <var-decl name='__high' type-id='type-id-33' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='179' column='1'/>
       </data-member>
     </class-decl>
+
+    <!-- unsigned int[2] -->
+    <array-type-def dimensions='1' type-id='type-id-33' size-in-bits='64' id='type-id-115'>
+      <!-- <anonymous range>[2] -->
+      <subrange length='2' type-id='type-id-39' id='type-id-118'/>
+
+    </array-type-def>
+
+    <!-- char[48] -->
+    <array-type-def dimensions='1' type-id='type-id-38' size-in-bits='384' id='type-id-112'>
+      <!-- <anonymous range>[48] -->
+      <subrange length='48' type-id='type-id-39' id='type-id-119'/>
+
+    </array-type-def>
+    <!-- long long int -->
+    <type-decl name='long long int' size-in-bits='64' id='type-id-113'/>
+    <!-- typedef __anonymous_union__ pthread_cond_t -->
+    <typedef-decl name='pthread_cond_t' type-id='type-id-110' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='80' column='1' id='type-id-120'/>
+    <!-- pthread_cond_t __urcu_compat_futex_cond -->
+    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-120' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
+    <!-- int32_t* -->
+    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-121'/>
     <!-- struct timespec -->
-    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='10' column='1' id='type-id-121'>
+    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='9' column='1' id='type-id-122'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- __time_t timespec::tv_sec -->
-        <var-decl name='tv_sec' type-id='type-id-122' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='12' column='1'/>
+        <var-decl name='tv_sec' type-id='type-id-123' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='11' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- __syscall_slong_t timespec::tv_nsec -->
-        <var-decl name='tv_nsec' type-id='type-id-123' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='16' column='1'/>
+        <var-decl name='tv_nsec' type-id='type-id-124' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='12' column='1'/>
       </data-member>
     </class-decl>
     <!-- typedef long int __time_t -->
-    <typedef-decl name='__time_t' type-id='type-id-24' filepath='/usr/include/bits/types.h' line='160' column='1' id='type-id-122'/>
+    <typedef-decl name='__time_t' type-id='type-id-32' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='148' column='1' id='type-id-123'/>
     <!-- typedef long int __syscall_slong_t -->
-    <typedef-decl name='__syscall_slong_t' type-id='type-id-24' filepath='/usr/include/bits/types.h' line='197' column='1' id='type-id-123'/>
+    <typedef-decl name='__syscall_slong_t' type-id='type-id-32' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='184' column='1' id='type-id-124'/>
     <!-- const timespec -->
-    <qualified-type-def type-id='type-id-121' const='yes' id='type-id-124'/>
+    <qualified-type-def type-id='type-id-122' const='yes' id='type-id-125'/>
     <!-- const timespec* -->
-    <pointer-type-def type-id='type-id-124' size-in-bits='64' id='type-id-125'/>
-    <!-- int32_t* -->
-    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-126'/>
-    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
-    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-37' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
-    <!-- pthread_cond_t __urcu_compat_futex_cond -->
-    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-117' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
+    <pointer-type-def type-id='type-id-125' size-in-bits='64' id='type-id-126'/>
     <!-- int compat_futex_async(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
     <function-decl name='compat_futex_async' mangled-name='compat_futex_async' filepath='src/compat_futex.c' line='118' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_async'>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-126' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-121' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-1' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-3' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
       <parameter type-id='type-id-46' name='val' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'const timespec*' -->
-      <parameter type-id='type-id-125' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-126' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-126' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-121' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
       <parameter type-id='type-id-46' name='val3' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- int -->
-      <return type-id='type-id-1'/>
+      <return type-id='type-id-3'/>
     </function-decl>
     <!-- int compat_futex_noasync(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
     <function-decl name='compat_futex_noasync' mangled-name='compat_futex_noasync' filepath='src/compat_futex.c' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_noasync'>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-126' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-121' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-1' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-3' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
       <parameter type-id='type-id-46' name='val' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'const timespec*' -->
-      <parameter type-id='type-id-125' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-126' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-126' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-121' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
       <parameter type-id='type-id-46' name='val3' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- int -->
-      <return type-id='type-id-1'/>
+      <return type-id='type-id-3'/>
     </function-decl>
   </abi-instr>
 </abi-corpus>
index 07daf21a5d9ae9cd44ae287f28250c2097022be3..4773d91eed60643f7bc58746b876233896805426 100644 (file)
     <elf-symbol name='__cds_wfs_pop_with_state_blocking' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- __cds_wfs_pop_with_state_nonblocking -->
     <elf-symbol name='__cds_wfs_pop_with_state_nonblocking' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- _fini -->
+    <elf-symbol name='_fini' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- _init -->
+    <elf-symbol name='_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- cds_wfcq_dequeue_blocking -->
     <elf-symbol name='cds_wfcq_dequeue_blocking' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- cds_wfcq_dequeue_lock -->
     <elf-symbol name='__urcu_compat_futex_lock' size='40' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
   </elf-variable-symbols>
   <abi-instr version='1.0' address-size='64' path='wfqueue.c' comp-dir-path='src' language='LANG_C99'>
-
-    <!-- char -->
-    <type-decl name='char' size-in-bits='8' id='type-id-1'/>
-    <!-- char[40] -->
-    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='320' id='type-id-2'>
-      <!-- <anonymous range>[40] -->
-      <subrange length='40' type-id='type-id-3' id='type-id-4'/>
-
-    </array-type-def>
-    <!-- int -->
-    <type-decl name='int' size-in-bits='32' id='type-id-5'/>
-    <!-- long int -->
-    <type-decl name='long int' size-in-bits='64' id='type-id-6'/>
-    <!-- short int -->
-    <type-decl name='short int' size-in-bits='16' id='type-id-7'/>
-    <!-- unsigned int -->
-    <type-decl name='unsigned int' size-in-bits='32' id='type-id-8'/>
-    <!-- unsigned long int -->
-    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-3'/>
-    <!-- void -->
-    <type-decl name='void' id='type-id-9'/>
     <!-- struct cds_wfq_node -->
-    <class-decl name='cds_wfq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfqueue.h' line='48' column='1' id='type-id-10'>
+    <class-decl name='cds_wfq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfqueue.h' line='48' column='1' id='type-id-1'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfq_node* cds_wfq_node::next -->
-        <var-decl name='next' type-id='type-id-11' visibility='default' filepath='../include/urcu/wfqueue.h' line='49' column='1'/>
+        <var-decl name='next' type-id='type-id-2' visibility='default' filepath='../include/urcu/wfqueue.h' line='49' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_wfq_node* -->
+    <pointer-type-def type-id='type-id-1' size-in-bits='64' id='type-id-2'/>
     <!-- struct cds_wfq_queue -->
-    <class-decl name='cds_wfq_queue' size-in-bits='512' is-struct='yes' visibility='default' filepath='../include/urcu/wfqueue.h' line='52' column='1' id='type-id-12'>
+    <class-decl name='cds_wfq_queue' size-in-bits='512' is-struct='yes' visibility='default' filepath='../include/urcu/wfqueue.h' line='52' column='1' id='type-id-3'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfq_node* cds_wfq_queue::head -->
-        <var-decl name='head' type-id='type-id-11' visibility='default' filepath='../include/urcu/wfqueue.h' line='53' column='1'/>
+        <var-decl name='head' type-id='type-id-2' visibility='default' filepath='../include/urcu/wfqueue.h' line='53' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- cds_wfq_node** cds_wfq_queue::tail -->
-        <var-decl name='tail' type-id='type-id-13' visibility='default' filepath='../include/urcu/wfqueue.h' line='53' column='1'/>
+        <var-decl name='tail' type-id='type-id-4' visibility='default' filepath='../include/urcu/wfqueue.h' line='53' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- cds_wfq_node cds_wfq_queue::dummy -->
-        <var-decl name='dummy' type-id='type-id-10' visibility='default' filepath='../include/urcu/wfqueue.h' line='54' column='1'/>
+        <var-decl name='dummy' type-id='type-id-1' visibility='default' filepath='../include/urcu/wfqueue.h' line='54' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- pthread_mutex_t cds_wfq_queue::lock -->
-        <var-decl name='lock' type-id='type-id-14' visibility='default' filepath='../include/urcu/wfqueue.h' line='55' column='1'/>
+        <var-decl name='lock' type-id='type-id-5' visibility='default' filepath='../include/urcu/wfqueue.h' line='55' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __anonymous_union__ pthread_mutex_t -->
-    <typedef-decl name='pthread_mutex_t' type-id='type-id-15' filepath='/usr/include/bits/pthreadtypes.h' line='72' column='1' id='type-id-14'/>
-    <!-- union {__pthread_mutex_s __data; char __size[40]; long int __align;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='67' column='1' id='type-id-15'>
+    <!-- cds_wfq_node** -->
+    <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-4'/>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='67' column='1' id='type-id-6'>
       <data-member access='private'>
-        <!-- __pthread_mutex_s __data -->
-        <var-decl name='__data' type-id='type-id-16' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='69' column='1'/>
+        <!-- __pthread_mutex_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-7' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='69' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- char __size[40] -->
-        <var-decl name='__size' type-id='type-id-2' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='70' column='1'/>
+        <!-- char __anonymous_union__::__size[40] -->
+        <var-decl name='__size' type-id='type-id-8' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='70' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- long int __align -->
-        <var-decl name='__align' type-id='type-id-6' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='71' column='1'/>
+        <!-- long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-9' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='71' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __pthread_mutex_s -->
-    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='22' column='1' id='type-id-16'>
+    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='118' column='1' id='type-id-7'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- int __pthread_mutex_s::__lock -->
-        <var-decl name='__lock' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='24' column='1'/>
+        <var-decl name='__lock' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='120' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='32'>
         <!-- unsigned int __pthread_mutex_s::__count -->
-        <var-decl name='__count' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='25' column='1'/>
+        <var-decl name='__count' type-id='type-id-11' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='121' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- int __pthread_mutex_s::__owner -->
-        <var-decl name='__owner' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='26' column='1'/>
+        <var-decl name='__owner' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='122' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='96'>
         <!-- unsigned int __pthread_mutex_s::__nusers -->
-        <var-decl name='__nusers' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='28' column='1'/>
+        <var-decl name='__nusers' type-id='type-id-11' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='124' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- int __pthread_mutex_s::__kind -->
-        <var-decl name='__kind' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='32' column='1'/>
+        <var-decl name='__kind' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='148' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='160'>
         <!-- short int __pthread_mutex_s::__spins -->
-        <var-decl name='__spins' type-id='type-id-7' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='34' column='1'/>
+        <var-decl name='__spins' type-id='type-id-12' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='176'>
         <!-- short int __pthread_mutex_s::__elision -->
-        <var-decl name='__elision' type-id='type-id-7' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='35' column='1'/>
+        <var-decl name='__elision' type-id='type-id-12' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- __pthread_list_t __pthread_mutex_s::__list -->
-        <var-decl name='__list' type-id='type-id-17' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='36' column='1'/>
+        <var-decl name='__list' type-id='type-id-13' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='155' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __pthread_internal_list __pthread_list_t -->
-    <typedef-decl name='__pthread_list_t' type-id='type-id-18' filepath='/usr/include/bits/thread-shared-types.h' line='53' column='1' id='type-id-17'/>
+    <!-- int -->
+    <type-decl name='int' size-in-bits='32' id='type-id-10'/>
+    <!-- unsigned int -->
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-11'/>
+    <!-- short int -->
+    <type-decl name='short int' size-in-bits='16' id='type-id-12'/>
     <!-- struct __pthread_internal_list -->
-    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='49' column='1' id='type-id-18'>
+    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='82' column='1' id='type-id-14'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- __pthread_internal_list* __pthread_internal_list::__prev -->
-        <var-decl name='__prev' type-id='type-id-19' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='51' column='1'/>
+        <var-decl name='__prev' type-id='type-id-15' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='84' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- __pthread_internal_list* __pthread_internal_list::__next -->
-        <var-decl name='__next' type-id='type-id-19' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='52' column='1'/>
+        <var-decl name='__next' type-id='type-id-15' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='85' column='1'/>
       </data-member>
     </class-decl>
     <!-- __pthread_internal_list* -->
-    <pointer-type-def type-id='type-id-18' size-in-bits='64' id='type-id-19'/>
-    <!-- cds_wfq_node* -->
-    <pointer-type-def type-id='type-id-10' size-in-bits='64' id='type-id-11'/>
-    <!-- cds_wfq_node** -->
-    <pointer-type-def type-id='type-id-11' size-in-bits='64' id='type-id-13'/>
+    <pointer-type-def type-id='type-id-14' size-in-bits='64' id='type-id-15'/>
+    <!-- typedef __pthread_internal_list __pthread_list_t -->
+    <typedef-decl name='__pthread_list_t' type-id='type-id-14' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='86' column='1' id='type-id-13'/>
+    <!-- char -->
+    <type-decl name='char' size-in-bits='8' id='type-id-16'/>
+    <!-- unsigned long int -->
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-17'/>
+
+    <!-- char[40] -->
+    <array-type-def dimensions='1' type-id='type-id-16' size-in-bits='320' id='type-id-8'>
+      <!-- <anonymous range>[40] -->
+      <subrange length='40' type-id='type-id-17' id='type-id-18'/>
+
+    </array-type-def>
+    <!-- long int -->
+    <type-decl name='long int' size-in-bits='64' id='type-id-9'/>
+    <!-- typedef __anonymous_union__ pthread_mutex_t -->
+    <typedef-decl name='pthread_mutex_t' type-id='type-id-6' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='72' column='1' id='type-id-5'/>
     <!-- cds_wfq_queue* -->
-    <pointer-type-def type-id='type-id-12' size-in-bits='64' id='type-id-20'/>
+    <pointer-type-def type-id='type-id-3' size-in-bits='64' id='type-id-19'/>
     <!-- cds_wfq_node* cds_wfq_dequeue_blocking(cds_wfq_queue*) -->
     <function-decl name='cds_wfq_dequeue_blocking' mangled-name='cds_wfq_dequeue_blocking' filepath='src/wfqueue.c' line='59' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfq_dequeue_blocking'>
       <!-- parameter of type 'cds_wfq_queue*' -->
-      <parameter type-id='type-id-20' name='q' filepath='src/wfqueue.c' line='59' column='1'/>
+      <parameter type-id='type-id-19' name='q' filepath='src/wfqueue.c' line='59' column='1'/>
       <!-- cds_wfq_node* -->
-      <return type-id='type-id-11'/>
+      <return type-id='type-id-2'/>
     </function-decl>
     <!-- cds_wfq_node* __cds_wfq_dequeue_blocking(cds_wfq_queue*) -->
     <function-decl name='__cds_wfq_dequeue_blocking' mangled-name='__cds_wfq_dequeue_blocking' filepath='src/wfqueue.c' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfq_dequeue_blocking'>
       <!-- parameter of type 'cds_wfq_queue*' -->
-      <parameter type-id='type-id-20' name='q' filepath='src/wfqueue.c' line='54' column='1'/>
+      <parameter type-id='type-id-19' name='q' filepath='src/wfqueue.c' line='59' column='1'/>
       <!-- cds_wfq_node* -->
-      <return type-id='type-id-11'/>
+      <return type-id='type-id-2'/>
     </function-decl>
+    <!-- void -->
+    <type-decl name='void' id='type-id-20'/>
     <!-- void cds_wfq_enqueue(cds_wfq_queue*, cds_wfq_node*) -->
     <function-decl name='cds_wfq_enqueue' mangled-name='cds_wfq_enqueue' filepath='src/wfqueue.c' line='49' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfq_enqueue'>
       <!-- parameter of type 'cds_wfq_queue*' -->
-      <parameter type-id='type-id-20' name='q' filepath='src/wfqueue.c' line='49' column='1'/>
+      <parameter type-id='type-id-19' name='q' filepath='src/wfqueue.c' line='49' column='1'/>
       <!-- parameter of type 'cds_wfq_node*' -->
-      <parameter type-id='type-id-11' name='node' filepath='src/wfqueue.c' line='49' column='1'/>
+      <parameter type-id='type-id-2' name='node' filepath='src/wfqueue.c' line='49' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-20'/>
     </function-decl>
     <!-- void cds_wfq_destroy(cds_wfq_queue*) -->
     <function-decl name='cds_wfq_destroy' mangled-name='cds_wfq_destroy' filepath='src/wfqueue.c' line='44' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfq_destroy'>
       <!-- parameter of type 'cds_wfq_queue*' -->
-      <parameter type-id='type-id-20' name='q' filepath='src/wfqueue.c' line='44' column='1'/>
+      <parameter type-id='type-id-19' name='q' filepath='src/wfqueue.c' line='44' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-20'/>
     </function-decl>
     <!-- void cds_wfq_init(cds_wfq_queue*) -->
     <function-decl name='cds_wfq_init' mangled-name='cds_wfq_init' filepath='src/wfqueue.c' line='39' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfq_init'>
       <!-- parameter of type 'cds_wfq_queue*' -->
-      <parameter type-id='type-id-20' name='q' filepath='src/wfqueue.c' line='39' column='1'/>
+      <parameter type-id='type-id-19' name='q' filepath='src/wfqueue.c' line='44' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-20'/>
     </function-decl>
     <!-- void cds_wfq_node_init(cds_wfq_node*) -->
     <function-decl name='cds_wfq_node_init' mangled-name='cds_wfq_node_init' filepath='src/wfqueue.c' line='34' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfq_node_init'>
       <!-- parameter of type 'cds_wfq_node*' -->
-      <parameter type-id='type-id-11' name='node' filepath='src/wfqueue.c' line='34' column='1'/>
+      <parameter type-id='type-id-2' name='node' filepath='src/wfqueue.c' line='34' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-20'/>
     </function-decl>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='wfcqueue.c' comp-dir-path='src' language='LANG_C99'>
-    <!-- bool -->
-    <type-decl name='bool' size-in-bits='8' id='type-id-21'/>
-    <!-- unnamed&#45;enum&#45;underlying&#45;type -->
-    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-22'/>
     <!-- struct cds_wfcq_node -->
-    <class-decl name='cds_wfcq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='59' column='1' id='type-id-23'>
+    <class-decl name='cds_wfcq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='59' column='1' id='type-id-21'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node* cds_wfcq_node::next -->
-        <var-decl name='next' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='60' column='1'/>
+        <var-decl name='next' type-id='type-id-22' visibility='default' filepath='../include/urcu/wfcqueue.h' line='60' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __anonymous_union__ cds_wfcq_head_ptr_t -->
-    <typedef-decl name='cds_wfcq_head_ptr_t' type-id='type-id-25' filepath='../include/urcu/wfcqueue.h' line='86' column='1' id='type-id-26'/>
-    <!-- union {__cds_wfcq_head* _h; cds_wfcq_head* h;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='83' column='1' id='type-id-25'>
+    <!-- cds_wfcq_node* -->
+    <pointer-type-def type-id='type-id-21' size-in-bits='64' id='type-id-22'/>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='83' column='1' id='type-id-23'>
       <data-member access='private'>
-        <!-- __cds_wfcq_head* _h -->
-        <var-decl name='_h' type-id='type-id-27' visibility='default' filepath='../include/urcu/wfcqueue.h' line='84' column='1'/>
+        <!-- __cds_wfcq_head* __anonymous_union__::_h -->
+        <var-decl name='_h' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='84' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- cds_wfcq_head* h -->
-        <var-decl name='h' type-id='type-id-28' visibility='default' filepath='../include/urcu/wfcqueue.h' line='85' column='1'/>
+        <!-- cds_wfcq_head* __anonymous_union__::h -->
+        <var-decl name='h' type-id='type-id-25' visibility='default' filepath='../include/urcu/wfcqueue.h' line='85' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __cds_wfcq_head -->
-    <class-decl name='__cds_wfcq_head' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='68' column='1' id='type-id-29'>
+    <class-decl name='__cds_wfcq_head' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='68' column='1' id='type-id-26'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node __cds_wfcq_head::node -->
-        <var-decl name='node' type-id='type-id-23' visibility='default' filepath='../include/urcu/wfcqueue.h' line='69' column='1'/>
+        <var-decl name='node' type-id='type-id-21' visibility='default' filepath='../include/urcu/wfcqueue.h' line='69' column='1'/>
       </data-member>
     </class-decl>
+    <!-- __cds_wfcq_head* -->
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-24'/>
     <!-- struct cds_wfcq_head -->
-    <class-decl name='cds_wfcq_head' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='72' column='1' id='type-id-30'>
+    <class-decl name='cds_wfcq_head' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='72' column='1' id='type-id-27'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node cds_wfcq_head::node -->
-        <var-decl name='node' type-id='type-id-23' visibility='default' filepath='../include/urcu/wfcqueue.h' line='73' column='1'/>
+        <var-decl name='node' type-id='type-id-21' visibility='default' filepath='../include/urcu/wfcqueue.h' line='73' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- pthread_mutex_t cds_wfcq_head::lock -->
-        <var-decl name='lock' type-id='type-id-14' visibility='default' filepath='../include/urcu/wfcqueue.h' line='74' column='1'/>
+        <var-decl name='lock' type-id='type-id-5' visibility='default' filepath='../include/urcu/wfcqueue.h' line='74' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_wfcq_head* -->
+    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-25'/>
+    <!-- typedef __anonymous_union__ cds_wfcq_head_ptr_t -->
+    <typedef-decl name='cds_wfcq_head_ptr_t' type-id='type-id-23' filepath='../include/urcu/wfcqueue.h' line='86' column='1' id='type-id-28'/>
     <!-- struct cds_wfcq_tail -->
-    <class-decl name='cds_wfcq_tail' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='127' column='1' id='type-id-31'>
+    <class-decl name='cds_wfcq_tail' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='127' column='1' id='type-id-29'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node* cds_wfcq_tail::p -->
-        <var-decl name='p' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='128' column='1'/>
+        <var-decl name='p' type-id='type-id-22' visibility='default' filepath='../include/urcu/wfcqueue.h' line='128' column='1'/>
       </data-member>
     </class-decl>
-    <!-- enum cds_wfcq_ret -->
-    <enum-decl name='cds_wfcq_ret' filepath='../include/urcu/wfcqueue.h' line='48' column='1' id='type-id-32'>
-      <underlying-type type-id='type-id-22'/>
-      <enumerator name='CDS_WFCQ_RET_WOULDBLOCK' value='-1'/>
-      <enumerator name='CDS_WFCQ_RET_DEST_EMPTY' value='0'/>
-      <enumerator name='CDS_WFCQ_RET_DEST_NON_EMPTY' value='1'/>
-      <enumerator name='CDS_WFCQ_RET_SRC_EMPTY' value='2'/>
-    </enum-decl>
-    <!-- __cds_wfcq_head* -->
-    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-27'/>
-    <!-- cds_wfcq_head* -->
-    <pointer-type-def type-id='type-id-30' size-in-bits='64' id='type-id-28'/>
-    <!-- cds_wfcq_node* -->
-    <pointer-type-def type-id='type-id-23' size-in-bits='64' id='type-id-24'/>
     <!-- cds_wfcq_tail* -->
-    <pointer-type-def type-id='type-id-31' size-in-bits='64' id='type-id-33'/>
-    <!-- int* -->
-    <pointer-type-def type-id='type-id-5' size-in-bits='64' id='type-id-34'/>
+    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-30'/>
     <!-- cds_wfcq_node* __cds_wfcq_next_nonblocking(cds_wfcq_head_ptr_t, cds_wfcq_tail*, cds_wfcq_node*) -->
     <function-decl name='__cds_wfcq_next_nonblocking' mangled-name='__cds_wfcq_next_nonblocking' filepath='src/wfcqueue.c' line='178' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfcq_next_nonblocking'>
       <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
-      <parameter type-id='type-id-26' name='head' filepath='src/wfcqueue.c' line='179' column='1'/>
+      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='179' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='tail' filepath='src/wfcqueue.c' line='180' column='1'/>
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='180' column='1'/>
       <!-- parameter of type 'cds_wfcq_node*' -->
-      <parameter type-id='type-id-24' name='node' filepath='src/wfcqueue.c' line='181' column='1'/>
+      <parameter type-id='type-id-22' name='node' filepath='src/wfcqueue.c' line='181' column='1'/>
       <!-- cds_wfcq_node* -->
-      <return type-id='type-id-24'/>
+      <return type-id='type-id-22'/>
     </function-decl>
     <!-- cds_wfcq_node* __cds_wfcq_next_blocking(cds_wfcq_head_ptr_t, cds_wfcq_tail*, cds_wfcq_node*) -->
     <function-decl name='__cds_wfcq_next_blocking' mangled-name='__cds_wfcq_next_blocking' filepath='src/wfcqueue.c' line='170' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfcq_next_blocking'>
       <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
-      <parameter type-id='type-id-26' name='head' filepath='src/wfcqueue.c' line='171' column='1'/>
+      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='179' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='tail' filepath='src/wfcqueue.c' line='172' column='1'/>
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='180' column='1'/>
       <!-- parameter of type 'cds_wfcq_node*' -->
-      <parameter type-id='type-id-24' name='node' filepath='src/wfcqueue.c' line='173' column='1'/>
+      <parameter type-id='type-id-22' name='node' filepath='src/wfcqueue.c' line='181' column='1'/>
       <!-- cds_wfcq_node* -->
-      <return type-id='type-id-24'/>
+      <return type-id='type-id-22'/>
     </function-decl>
     <!-- cds_wfcq_node* __cds_wfcq_first_nonblocking(cds_wfcq_head_ptr_t, cds_wfcq_tail*) -->
     <function-decl name='__cds_wfcq_first_nonblocking' mangled-name='__cds_wfcq_first_nonblocking' filepath='src/wfcqueue.c' line='163' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfcq_first_nonblocking'>
       <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
-      <parameter type-id='type-id-26' name='head' filepath='src/wfcqueue.c' line='164' column='1'/>
+      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='164' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='tail' filepath='src/wfcqueue.c' line='165' column='1'/>
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='165' column='1'/>
       <!-- cds_wfcq_node* -->
-      <return type-id='type-id-24'/>
+      <return type-id='type-id-22'/>
     </function-decl>
     <!-- cds_wfcq_node* __cds_wfcq_first_blocking(cds_wfcq_head_ptr_t, cds_wfcq_tail*) -->
     <function-decl name='__cds_wfcq_first_blocking' mangled-name='__cds_wfcq_first_blocking' filepath='src/wfcqueue.c' line='156' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfcq_first_blocking'>
       <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
-      <parameter type-id='type-id-26' name='head' filepath='src/wfcqueue.c' line='157' column='1'/>
+      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='164' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='tail' filepath='src/wfcqueue.c' line='158' column='1'/>
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='165' column='1'/>
       <!-- cds_wfcq_node* -->
-      <return type-id='type-id-24'/>
+      <return type-id='type-id-22'/>
     </function-decl>
+    <!-- unnamed&#45;enum&#45;underlying&#45;type -->
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-31'/>
+    <!-- enum cds_wfcq_ret -->
+    <enum-decl name='cds_wfcq_ret' filepath='../include/urcu/wfcqueue.h' line='48' column='1' id='type-id-32'>
+      <underlying-type type-id='type-id-31'/>
+      <enumerator name='CDS_WFCQ_RET_WOULDBLOCK' value='-1'/>
+      <enumerator name='CDS_WFCQ_RET_DEST_EMPTY' value='0'/>
+      <enumerator name='CDS_WFCQ_RET_DEST_NON_EMPTY' value='1'/>
+      <enumerator name='CDS_WFCQ_RET_SRC_EMPTY' value='2'/>
+    </enum-decl>
     <!-- cds_wfcq_ret __cds_wfcq_splice_nonblocking(cds_wfcq_head_ptr_t, cds_wfcq_tail*, cds_wfcq_head_ptr_t, cds_wfcq_tail*) -->
     <function-decl name='__cds_wfcq_splice_nonblocking' mangled-name='__cds_wfcq_splice_nonblocking' filepath='src/wfcqueue.c' line='146' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfcq_splice_nonblocking'>
       <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
-      <parameter type-id='type-id-26' name='dest_q_head' filepath='src/wfcqueue.c' line='147' column='1'/>
+      <parameter type-id='type-id-28' name='dest_q_head' filepath='src/wfcqueue.c' line='147' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='dest_q_tail' filepath='src/wfcqueue.c' line='148' column='1'/>
+      <parameter type-id='type-id-30' name='dest_q_tail' filepath='src/wfcqueue.c' line='148' column='1'/>
       <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
-      <parameter type-id='type-id-26' name='src_q_head' filepath='src/wfcqueue.c' line='149' column='1'/>
+      <parameter type-id='type-id-28' name='src_q_head' filepath='src/wfcqueue.c' line='149' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='src_q_tail' filepath='src/wfcqueue.c' line='150' column='1'/>
+      <parameter type-id='type-id-30' name='src_q_tail' filepath='src/wfcqueue.c' line='150' column='1'/>
       <!-- enum cds_wfcq_ret -->
       <return type-id='type-id-32'/>
     </function-decl>
     <!-- cds_wfcq_ret __cds_wfcq_splice_blocking(cds_wfcq_head_ptr_t, cds_wfcq_tail*, cds_wfcq_head_ptr_t, cds_wfcq_tail*) -->
     <function-decl name='__cds_wfcq_splice_blocking' mangled-name='__cds_wfcq_splice_blocking' filepath='src/wfcqueue.c' line='136' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfcq_splice_blocking'>
       <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
-      <parameter type-id='type-id-26' name='dest_q_head' filepath='src/wfcqueue.c' line='137' column='1'/>
+      <parameter type-id='type-id-28' name='dest_q_head' filepath='src/wfcqueue.c' line='147' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='dest_q_tail' filepath='src/wfcqueue.c' line='138' column='1'/>
+      <parameter type-id='type-id-30' name='dest_q_tail' filepath='src/wfcqueue.c' line='148' column='1'/>
       <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
-      <parameter type-id='type-id-26' name='src_q_head' filepath='src/wfcqueue.c' line='139' column='1'/>
+      <parameter type-id='type-id-28' name='src_q_head' filepath='src/wfcqueue.c' line='149' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='src_q_tail' filepath='src/wfcqueue.c' line='140' column='1'/>
+      <parameter type-id='type-id-30' name='src_q_tail' filepath='src/wfcqueue.c' line='150' column='1'/>
       <!-- enum cds_wfcq_ret -->
       <return type-id='type-id-32'/>
     </function-decl>
+    <!-- int* -->
+    <pointer-type-def type-id='type-id-10' size-in-bits='64' id='type-id-33'/>
     <!-- cds_wfcq_node* __cds_wfcq_dequeue_with_state_nonblocking(cds_wfcq_head_ptr_t, cds_wfcq_tail*, int*) -->
     <function-decl name='__cds_wfcq_dequeue_with_state_nonblocking' mangled-name='__cds_wfcq_dequeue_with_state_nonblocking' filepath='src/wfcqueue.c' line='128' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfcq_dequeue_with_state_nonblocking'>
       <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
-      <parameter type-id='type-id-26' name='head' filepath='src/wfcqueue.c' line='129' column='1'/>
+      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='129' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='tail' filepath='src/wfcqueue.c' line='130' column='1'/>
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='130' column='1'/>
       <!-- parameter of type 'int*' -->
-      <parameter type-id='type-id-34' name='state' filepath='src/wfcqueue.c' line='131' column='1'/>
+      <parameter type-id='type-id-33' name='state' filepath='src/wfcqueue.c' line='131' column='1'/>
       <!-- cds_wfcq_node* -->
-      <return type-id='type-id-24'/>
+      <return type-id='type-id-22'/>
     </function-decl>
     <!-- cds_wfcq_node* __cds_wfcq_dequeue_nonblocking(cds_wfcq_head_ptr_t, cds_wfcq_tail*) -->
     <function-decl name='__cds_wfcq_dequeue_nonblocking' mangled-name='__cds_wfcq_dequeue_nonblocking' filepath='src/wfcqueue.c' line='121' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfcq_dequeue_nonblocking'>
       <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
-      <parameter type-id='type-id-26' name='head' filepath='src/wfcqueue.c' line='122' column='1'/>
+      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='164' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='tail' filepath='src/wfcqueue.c' line='123' column='1'/>
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='165' column='1'/>
       <!-- cds_wfcq_node* -->
-      <return type-id='type-id-24'/>
+      <return type-id='type-id-22'/>
     </function-decl>
     <!-- cds_wfcq_node* __cds_wfcq_dequeue_with_state_blocking(cds_wfcq_head_ptr_t, cds_wfcq_tail*, int*) -->
     <function-decl name='__cds_wfcq_dequeue_with_state_blocking' mangled-name='__cds_wfcq_dequeue_with_state_blocking' filepath='src/wfcqueue.c' line='113' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfcq_dequeue_with_state_blocking'>
       <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
-      <parameter type-id='type-id-26' name='head' filepath='src/wfcqueue.c' line='114' column='1'/>
+      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='129' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='tail' filepath='src/wfcqueue.c' line='115' column='1'/>
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='130' column='1'/>
       <!-- parameter of type 'int*' -->
-      <parameter type-id='type-id-34' name='state' filepath='src/wfcqueue.c' line='116' column='1'/>
+      <parameter type-id='type-id-33' name='state' filepath='src/wfcqueue.c' line='131' column='1'/>
       <!-- cds_wfcq_node* -->
-      <return type-id='type-id-24'/>
+      <return type-id='type-id-22'/>
     </function-decl>
     <!-- cds_wfcq_node* __cds_wfcq_dequeue_blocking(cds_wfcq_head_ptr_t, cds_wfcq_tail*) -->
     <function-decl name='__cds_wfcq_dequeue_blocking' mangled-name='__cds_wfcq_dequeue_blocking' filepath='src/wfcqueue.c' line='106' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfcq_dequeue_blocking'>
       <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
-      <parameter type-id='type-id-26' name='head' filepath='src/wfcqueue.c' line='107' column='1'/>
+      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='164' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='tail' filepath='src/wfcqueue.c' line='108' column='1'/>
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='165' column='1'/>
       <!-- cds_wfcq_node* -->
-      <return type-id='type-id-24'/>
+      <return type-id='type-id-22'/>
     </function-decl>
     <!-- cds_wfcq_ret cds_wfcq_splice_blocking(cds_wfcq_head*, cds_wfcq_tail*, cds_wfcq_head*, cds_wfcq_tail*) -->
     <function-decl name='cds_wfcq_splice_blocking' mangled-name='cds_wfcq_splice_blocking' filepath='src/wfcqueue.c' line='96' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfcq_splice_blocking'>
       <!-- parameter of type 'cds_wfcq_head*' -->
-      <parameter type-id='type-id-28' name='dest_q_head' filepath='src/wfcqueue.c' line='97' column='1'/>
+      <parameter type-id='type-id-25' name='dest_q_head' filepath='src/wfcqueue.c' line='97' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='dest_q_tail' filepath='src/wfcqueue.c' line='98' column='1'/>
+      <parameter type-id='type-id-30' name='dest_q_tail' filepath='src/wfcqueue.c' line='98' column='1'/>
       <!-- parameter of type 'cds_wfcq_head*' -->
-      <parameter type-id='type-id-28' name='src_q_head' filepath='src/wfcqueue.c' line='99' column='1'/>
+      <parameter type-id='type-id-25' name='src_q_head' filepath='src/wfcqueue.c' line='99' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='src_q_tail' filepath='src/wfcqueue.c' line='100' column='1'/>
+      <parameter type-id='type-id-30' name='src_q_tail' filepath='src/wfcqueue.c' line='100' column='1'/>
       <!-- enum cds_wfcq_ret -->
       <return type-id='type-id-32'/>
     </function-decl>
     <!-- cds_wfcq_node* cds_wfcq_dequeue_with_state_blocking(cds_wfcq_head*, cds_wfcq_tail*, int*) -->
     <function-decl name='cds_wfcq_dequeue_with_state_blocking' mangled-name='cds_wfcq_dequeue_with_state_blocking' filepath='src/wfcqueue.c' line='88' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfcq_dequeue_with_state_blocking'>
       <!-- parameter of type 'cds_wfcq_head*' -->
-      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='89' column='1'/>
+      <parameter type-id='type-id-25' name='head' filepath='src/wfcqueue.c' line='89' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='tail' filepath='src/wfcqueue.c' line='90' column='1'/>
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='90' column='1'/>
       <!-- parameter of type 'int*' -->
-      <parameter type-id='type-id-34' name='state' filepath='src/wfcqueue.c' line='91' column='1'/>
+      <parameter type-id='type-id-33' name='state' filepath='src/wfcqueue.c' line='91' column='1'/>
       <!-- cds_wfcq_node* -->
-      <return type-id='type-id-24'/>
+      <return type-id='type-id-22'/>
     </function-decl>
     <!-- cds_wfcq_node* cds_wfcq_dequeue_blocking(cds_wfcq_head*, cds_wfcq_tail*) -->
     <function-decl name='cds_wfcq_dequeue_blocking' mangled-name='cds_wfcq_dequeue_blocking' filepath='src/wfcqueue.c' line='81' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfcq_dequeue_blocking'>
       <!-- parameter of type 'cds_wfcq_head*' -->
-      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='82' column='1'/>
+      <parameter type-id='type-id-25' name='head' filepath='src/wfcqueue.c' line='82' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='tail' filepath='src/wfcqueue.c' line='83' column='1'/>
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='83' column='1'/>
       <!-- cds_wfcq_node* -->
-      <return type-id='type-id-24'/>
+      <return type-id='type-id-22'/>
     </function-decl>
     <!-- void cds_wfcq_dequeue_unlock(cds_wfcq_head*, cds_wfcq_tail*) -->
     <function-decl name='cds_wfcq_dequeue_unlock' mangled-name='cds_wfcq_dequeue_unlock' filepath='src/wfcqueue.c' line='75' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfcq_dequeue_unlock'>
       <!-- parameter of type 'cds_wfcq_head*' -->
-      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='75' column='1'/>
+      <parameter type-id='type-id-25' name='head' filepath='src/wfcqueue.c' line='75' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='tail' filepath='src/wfcqueue.c' line='76' column='1'/>
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='76' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-20'/>
     </function-decl>
     <!-- void cds_wfcq_dequeue_lock(cds_wfcq_head*, cds_wfcq_tail*) -->
     <function-decl name='cds_wfcq_dequeue_lock' mangled-name='cds_wfcq_dequeue_lock' filepath='src/wfcqueue.c' line='69' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfcq_dequeue_lock'>
       <!-- parameter of type 'cds_wfcq_head*' -->
-      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='69' column='1'/>
+      <parameter type-id='type-id-25' name='head' filepath='src/wfcqueue.c' line='75' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='tail' filepath='src/wfcqueue.c' line='70' column='1'/>
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='76' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-20'/>
     </function-decl>
+    <!-- bool -->
+    <type-decl name='bool' size-in-bits='8' id='type-id-34'/>
     <!-- bool cds_wfcq_enqueue(cds_wfcq_head_ptr_t, cds_wfcq_tail*, cds_wfcq_node*) -->
     <function-decl name='cds_wfcq_enqueue' mangled-name='cds_wfcq_enqueue' filepath='src/wfcqueue.c' line='62' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfcq_enqueue'>
       <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
-      <parameter type-id='type-id-26' name='head' filepath='src/wfcqueue.c' line='62' column='1'/>
+      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='62' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='tail' filepath='src/wfcqueue.c' line='63' column='1'/>
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='63' column='1'/>
       <!-- parameter of type 'cds_wfcq_node*' -->
-      <parameter type-id='type-id-24' name='node' filepath='src/wfcqueue.c' line='64' column='1'/>
+      <parameter type-id='type-id-22' name='node' filepath='src/wfcqueue.c' line='64' column='1'/>
       <!-- bool -->
-      <return type-id='type-id-21'/>
+      <return type-id='type-id-34'/>
     </function-decl>
     <!-- bool cds_wfcq_empty(cds_wfcq_head_ptr_t, cds_wfcq_tail*) -->
     <function-decl name='cds_wfcq_empty' mangled-name='cds_wfcq_empty' filepath='src/wfcqueue.c' line='55' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfcq_empty'>
       <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
-      <parameter type-id='type-id-26' name='head' filepath='src/wfcqueue.c' line='55' column='1'/>
+      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='55' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='tail' filepath='src/wfcqueue.c' line='56' column='1'/>
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='56' column='1'/>
       <!-- bool -->
-      <return type-id='type-id-21'/>
+      <return type-id='type-id-34'/>
     </function-decl>
     <!-- void __cds_wfcq_init(__cds_wfcq_head*, cds_wfcq_tail*) -->
     <function-decl name='__cds_wfcq_init' mangled-name='__cds_wfcq_init' filepath='src/wfcqueue.c' line='49' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfcq_init'>
       <!-- parameter of type '__cds_wfcq_head*' -->
-      <parameter type-id='type-id-27' name='head' filepath='src/wfcqueue.c' line='49' column='1'/>
+      <parameter type-id='type-id-24' name='head' filepath='src/wfcqueue.c' line='49' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='tail' filepath='src/wfcqueue.c' line='50' column='1'/>
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='50' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-20'/>
     </function-decl>
     <!-- void cds_wfcq_destroy(cds_wfcq_head*, cds_wfcq_tail*) -->
     <function-decl name='cds_wfcq_destroy' mangled-name='cds_wfcq_destroy' filepath='src/wfcqueue.c' line='43' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfcq_destroy'>
       <!-- parameter of type 'cds_wfcq_head*' -->
-      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='43' column='1'/>
+      <parameter type-id='type-id-25' name='head' filepath='src/wfcqueue.c' line='75' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='tail' filepath='src/wfcqueue.c' line='44' column='1'/>
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='76' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-20'/>
     </function-decl>
     <!-- void cds_wfcq_init(cds_wfcq_head*, cds_wfcq_tail*) -->
     <function-decl name='cds_wfcq_init' mangled-name='cds_wfcq_init' filepath='src/wfcqueue.c' line='37' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfcq_init'>
       <!-- parameter of type 'cds_wfcq_head*' -->
-      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='37' column='1'/>
+      <parameter type-id='type-id-25' name='head' filepath='src/wfcqueue.c' line='75' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='tail' filepath='src/wfcqueue.c' line='38' column='1'/>
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='76' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-20'/>
     </function-decl>
     <!-- void cds_wfcq_node_init(cds_wfcq_node*) -->
     <function-decl name='cds_wfcq_node_init' mangled-name='cds_wfcq_node_init' filepath='src/wfcqueue.c' line='32' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfcq_node_init'>
       <!-- parameter of type 'cds_wfcq_node*' -->
-      <parameter type-id='type-id-24' name='node' filepath='src/wfcqueue.c' line='32' column='1'/>
+      <parameter type-id='type-id-22' name='node' filepath='src/wfcqueue.c' line='32' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-20'/>
     </function-decl>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='wfstack.c' comp-dir-path='src' language='LANG_C99'>
         <var-decl name='next' type-id='type-id-37' visibility='default' filepath='../include/urcu/wfstack.h' line='73' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __anonymous_union__ cds_wfs_stack_ptr_t -->
-    <typedef-decl name='cds_wfs_stack_ptr_t' type-id='type-id-38' filepath='../include/urcu/wfstack.h' line='103' column='1' id='type-id-39'/>
-    <!-- union {__cds_wfs_stack* _s; cds_wfs_stack* s;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../include/urcu/wfstack.h' line='100' column='1' id='type-id-38'>
+    <!-- cds_wfs_node* -->
+    <pointer-type-def type-id='type-id-36' size-in-bits='64' id='type-id-37'/>
+    <!-- cds_wfs_head* -->
+    <pointer-type-def type-id='type-id-35' size-in-bits='64' id='type-id-38'/>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../include/urcu/wfstack.h' line='100' column='1' id='type-id-39'>
       <data-member access='private'>
-        <!-- __cds_wfs_stack* _s -->
+        <!-- __cds_wfs_stack* __anonymous_union__::_s -->
         <var-decl name='_s' type-id='type-id-40' visibility='default' filepath='../include/urcu/wfstack.h' line='101' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- cds_wfs_stack* s -->
+        <!-- cds_wfs_stack* __anonymous_union__::s -->
         <var-decl name='s' type-id='type-id-41' visibility='default' filepath='../include/urcu/wfstack.h' line='102' column='1'/>
       </data-member>
     </union-decl>
     <class-decl name='__cds_wfs_stack' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfstack.h' line='86' column='1' id='type-id-42'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfs_head* __cds_wfs_stack::head -->
-        <var-decl name='head' type-id='type-id-43' visibility='default' filepath='../include/urcu/wfstack.h' line='87' column='1'/>
+        <var-decl name='head' type-id='type-id-38' visibility='default' filepath='../include/urcu/wfstack.h' line='87' column='1'/>
       </data-member>
     </class-decl>
+    <!-- __cds_wfs_stack* -->
+    <pointer-type-def type-id='type-id-42' size-in-bits='64' id='type-id-40'/>
     <!-- struct cds_wfs_stack -->
-    <class-decl name='cds_wfs_stack' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfstack.h' line='90' column='1' id='type-id-44'>
+    <class-decl name='cds_wfs_stack' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfstack.h' line='90' column='1' id='type-id-43'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfs_head* cds_wfs_stack::head -->
-        <var-decl name='head' type-id='type-id-43' visibility='default' filepath='../include/urcu/wfstack.h' line='91' column='1'/>
+        <var-decl name='head' type-id='type-id-38' visibility='default' filepath='../include/urcu/wfstack.h' line='91' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- pthread_mutex_t cds_wfs_stack::lock -->
-        <var-decl name='lock' type-id='type-id-14' visibility='default' filepath='../include/urcu/wfstack.h' line='92' column='1'/>
+        <var-decl name='lock' type-id='type-id-5' visibility='default' filepath='../include/urcu/wfstack.h' line='92' column='1'/>
       </data-member>
     </class-decl>
-    <!-- __cds_wfs_stack* -->
-    <pointer-type-def type-id='type-id-42' size-in-bits='64' id='type-id-40'/>
-    <!-- cds_wfs_head* -->
-    <pointer-type-def type-id='type-id-35' size-in-bits='64' id='type-id-43'/>
-    <!-- cds_wfs_node* -->
-    <pointer-type-def type-id='type-id-36' size-in-bits='64' id='type-id-37'/>
     <!-- cds_wfs_stack* -->
-    <pointer-type-def type-id='type-id-44' size-in-bits='64' id='type-id-41'/>
+    <pointer-type-def type-id='type-id-43' size-in-bits='64' id='type-id-41'/>
+    <!-- typedef __anonymous_union__ cds_wfs_stack_ptr_t -->
+    <typedef-decl name='cds_wfs_stack_ptr_t' type-id='type-id-39' filepath='../include/urcu/wfstack.h' line='103' column='1' id='type-id-44'/>
     <!-- cds_wfs_head* __cds_wfs_pop_all(cds_wfs_stack_ptr_t) -->
     <function-decl name='__cds_wfs_pop_all' mangled-name='__cds_wfs_pop_all' filepath='src/wfstack.c' line='126' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfs_pop_all'>
       <!-- parameter of type 'typedef cds_wfs_stack_ptr_t' -->
-      <parameter type-id='type-id-39' name='u_stack' filepath='src/wfstack.c' line='126' column='1'/>
+      <parameter type-id='type-id-44' name='u_stack' filepath='src/wfstack.c' line='126' column='1'/>
       <!-- cds_wfs_head* -->
-      <return type-id='type-id-43'/>
+      <return type-id='type-id-38'/>
     </function-decl>
     <!-- cds_wfs_node* __cds_wfs_pop_with_state_nonblocking(cds_wfs_stack_ptr_t, int*) -->
     <function-decl name='__cds_wfs_pop_with_state_nonblocking' mangled-name='__cds_wfs_pop_with_state_nonblocking' filepath='src/wfstack.c' line='120' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfs_pop_with_state_nonblocking'>
       <!-- parameter of type 'typedef cds_wfs_stack_ptr_t' -->
-      <parameter type-id='type-id-39' name='u_stack' filepath='src/wfstack.c' line='120' column='1'/>
+      <parameter type-id='type-id-44' name='u_stack' filepath='src/wfstack.c' line='120' column='1'/>
       <!-- parameter of type 'int*' -->
-      <parameter type-id='type-id-34' name='state' filepath='src/wfstack.c' line='121' column='1'/>
+      <parameter type-id='type-id-33' name='state' filepath='src/wfstack.c' line='121' column='1'/>
       <!-- cds_wfs_node* -->
       <return type-id='type-id-37'/>
     </function-decl>
     <!-- cds_wfs_node* __cds_wfs_pop_nonblocking(cds_wfs_stack_ptr_t) -->
     <function-decl name='__cds_wfs_pop_nonblocking' mangled-name='__cds_wfs_pop_nonblocking' filepath='src/wfstack.c' line='114' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfs_pop_nonblocking'>
       <!-- parameter of type 'typedef cds_wfs_stack_ptr_t' -->
-      <parameter type-id='type-id-39' name='u_stack' filepath='src/wfstack.c' line='114' column='1'/>
+      <parameter type-id='type-id-44' name='u_stack' filepath='src/wfstack.c' line='114' column='1'/>
       <!-- cds_wfs_node* -->
       <return type-id='type-id-37'/>
     </function-decl>
     <!-- cds_wfs_node* __cds_wfs_pop_with_state_blocking(cds_wfs_stack_ptr_t, int*) -->
     <function-decl name='__cds_wfs_pop_with_state_blocking' mangled-name='__cds_wfs_pop_with_state_blocking' filepath='src/wfstack.c' line='108' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfs_pop_with_state_blocking'>
       <!-- parameter of type 'typedef cds_wfs_stack_ptr_t' -->
-      <parameter type-id='type-id-39' name='u_stack' filepath='src/wfstack.c' line='108' column='1'/>
+      <parameter type-id='type-id-44' name='u_stack' filepath='src/wfstack.c' line='120' column='1'/>
       <!-- parameter of type 'int*' -->
-      <parameter type-id='type-id-34' name='state' filepath='src/wfstack.c' line='109' column='1'/>
+      <parameter type-id='type-id-33' name='state' filepath='src/wfstack.c' line='121' column='1'/>
       <!-- cds_wfs_node* -->
       <return type-id='type-id-37'/>
     </function-decl>
     <!-- cds_wfs_node* __cds_wfs_pop_blocking(cds_wfs_stack_ptr_t) -->
     <function-decl name='__cds_wfs_pop_blocking' mangled-name='__cds_wfs_pop_blocking' filepath='src/wfstack.c' line='102' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfs_pop_blocking'>
       <!-- parameter of type 'typedef cds_wfs_stack_ptr_t' -->
-      <parameter type-id='type-id-39' name='u_stack' filepath='src/wfstack.c' line='102' column='1'/>
+      <parameter type-id='type-id-44' name='u_stack' filepath='src/wfstack.c' line='114' column='1'/>
       <!-- cds_wfs_node* -->
       <return type-id='type-id-37'/>
     </function-decl>
       <!-- parameter of type 'cds_wfs_stack*' -->
       <parameter type-id='type-id-41' name='s' filepath='src/wfstack.c' line='97' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-20'/>
     </function-decl>
     <!-- void cds_wfs_pop_lock(cds_wfs_stack*) -->
     <function-decl name='cds_wfs_pop_lock' mangled-name='cds_wfs_pop_lock' filepath='src/wfstack.c' line='92' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfs_pop_lock'>
       <!-- parameter of type 'cds_wfs_stack*' -->
-      <parameter type-id='type-id-41' name='s' filepath='src/wfstack.c' line='92' column='1'/>
+      <parameter type-id='type-id-41' name='s' filepath='src/wfstack.c' line='97' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-20'/>
     </function-decl>
     <!-- cds_wfs_node* cds_wfs_next_nonblocking(cds_wfs_node*) -->
     <function-decl name='cds_wfs_next_nonblocking' mangled-name='cds_wfs_next_nonblocking' filepath='src/wfstack.c' line='87' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfs_next_nonblocking'>
     <!-- cds_wfs_node* cds_wfs_next_blocking(cds_wfs_node*) -->
     <function-decl name='cds_wfs_next_blocking' mangled-name='cds_wfs_next_blocking' filepath='src/wfstack.c' line='82' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfs_next_blocking'>
       <!-- parameter of type 'cds_wfs_node*' -->
-      <parameter type-id='type-id-37' name='node' filepath='src/wfstack.c' line='82' column='1'/>
+      <parameter type-id='type-id-37' name='node' filepath='src/wfstack.c' line='87' column='1'/>
       <!-- cds_wfs_node* -->
       <return type-id='type-id-37'/>
     </function-decl>
     <!-- cds_wfs_node* cds_wfs_first(cds_wfs_head*) -->
     <function-decl name='cds_wfs_first' mangled-name='cds_wfs_first' filepath='src/wfstack.c' line='77' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfs_first'>
       <!-- parameter of type 'cds_wfs_head*' -->
-      <parameter type-id='type-id-43' name='head' filepath='src/wfstack.c' line='77' column='1'/>
+      <parameter type-id='type-id-38' name='head' filepath='src/wfstack.c' line='77' column='1'/>
       <!-- cds_wfs_node* -->
       <return type-id='type-id-37'/>
     </function-decl>
       <!-- parameter of type 'cds_wfs_stack*' -->
       <parameter type-id='type-id-41' name='s' filepath='src/wfstack.c' line='72' column='1'/>
       <!-- cds_wfs_head* -->
-      <return type-id='type-id-43'/>
+      <return type-id='type-id-38'/>
     </function-decl>
     <!-- cds_wfs_node* cds_wfs_pop_with_state_blocking(cds_wfs_stack*, int*) -->
     <function-decl name='cds_wfs_pop_with_state_blocking' mangled-name='cds_wfs_pop_with_state_blocking' filepath='src/wfstack.c' line='67' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfs_pop_with_state_blocking'>
       <!-- parameter of type 'cds_wfs_stack*' -->
       <parameter type-id='type-id-41' name='s' filepath='src/wfstack.c' line='67' column='1'/>
       <!-- parameter of type 'int*' -->
-      <parameter type-id='type-id-34' name='state' filepath='src/wfstack.c' line='67' column='1'/>
+      <parameter type-id='type-id-33' name='state' filepath='src/wfstack.c' line='67' column='1'/>
       <!-- cds_wfs_node* -->
       <return type-id='type-id-37'/>
     </function-decl>
     <!-- int cds_wfs_push(cds_wfs_stack_ptr_t, cds_wfs_node*) -->
     <function-decl name='cds_wfs_push' mangled-name='cds_wfs_push' filepath='src/wfstack.c' line='56' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfs_push'>
       <!-- parameter of type 'typedef cds_wfs_stack_ptr_t' -->
-      <parameter type-id='type-id-39' name='u_stack' filepath='src/wfstack.c' line='56' column='1'/>
+      <parameter type-id='type-id-44' name='u_stack' filepath='src/wfstack.c' line='56' column='1'/>
       <!-- parameter of type 'cds_wfs_node*' -->
       <parameter type-id='type-id-37' name='node' filepath='src/wfstack.c' line='56' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-10'/>
     </function-decl>
     <!-- bool cds_wfs_empty(cds_wfs_stack_ptr_t) -->
     <function-decl name='cds_wfs_empty' mangled-name='cds_wfs_empty' filepath='src/wfstack.c' line='51' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfs_empty'>
       <!-- parameter of type 'typedef cds_wfs_stack_ptr_t' -->
-      <parameter type-id='type-id-39' name='u_stack' filepath='src/wfstack.c' line='51' column='1'/>
+      <parameter type-id='type-id-44' name='u_stack' filepath='src/wfstack.c' line='51' column='1'/>
       <!-- bool -->
-      <return type-id='type-id-21'/>
+      <return type-id='type-id-34'/>
     </function-decl>
     <!-- void __cds_wfs_init(__cds_wfs_stack*) -->
     <function-decl name='__cds_wfs_init' mangled-name='__cds_wfs_init' filepath='src/wfstack.c' line='46' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfs_init'>
       <!-- parameter of type '__cds_wfs_stack*' -->
       <parameter type-id='type-id-40' name='s' filepath='src/wfstack.c' line='46' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-20'/>
     </function-decl>
     <!-- void cds_wfs_destroy(cds_wfs_stack*) -->
     <function-decl name='cds_wfs_destroy' mangled-name='cds_wfs_destroy' filepath='src/wfstack.c' line='41' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfs_destroy'>
       <!-- parameter of type 'cds_wfs_stack*' -->
-      <parameter type-id='type-id-41' name='s' filepath='src/wfstack.c' line='41' column='1'/>
+      <parameter type-id='type-id-41' name='s' filepath='src/wfstack.c' line='97' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-20'/>
     </function-decl>
     <!-- void cds_wfs_init(cds_wfs_stack*) -->
     <function-decl name='cds_wfs_init' mangled-name='cds_wfs_init' filepath='src/wfstack.c' line='36' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfs_init'>
       <!-- parameter of type 'cds_wfs_stack*' -->
-      <parameter type-id='type-id-41' name='s' filepath='src/wfstack.c' line='36' column='1'/>
+      <parameter type-id='type-id-41' name='s' filepath='src/wfstack.c' line='97' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-20'/>
     </function-decl>
     <!-- void cds_wfs_node_init(cds_wfs_node*) -->
     <function-decl name='cds_wfs_node_init' mangled-name='cds_wfs_node_init' filepath='src/wfstack.c' line='31' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfs_node_init'>
       <!-- parameter of type 'cds_wfs_node*' -->
       <parameter type-id='type-id-37' name='node' filepath='src/wfstack.c' line='31' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-20'/>
     </function-decl>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='compat_futex.c' comp-dir-path='src' language='LANG_C99'>
-
-
-    <!-- char[48] -->
-    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='384' id='type-id-45'>
-      <!-- <anonymous range>[48] -->
-      <subrange length='48' type-id='type-id-3' id='type-id-46'/>
-
-    </array-type-def>
-    <!-- long long int -->
-    <type-decl name='long long int' size-in-bits='64' id='type-id-47'/>
-    <!-- long long unsigned int -->
-    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-48'/>
-    <!-- unsigned int[2] -->
-    <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='64' id='type-id-49'>
-      <!-- <anonymous range>[2] -->
-      <subrange length='2' type-id='type-id-3' id='type-id-50'/>
-
-    </array-type-def>
-    <!-- typedef __anonymous_union__ pthread_cond_t -->
-    <typedef-decl name='pthread_cond_t' type-id='type-id-51' filepath='/usr/include/bits/pthreadtypes.h' line='80' column='1' id='type-id-52'/>
-    <!-- union {__pthread_cond_s __data; char __size[48]; long long int __align;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='75' column='1' id='type-id-51'>
+    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
+    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-5' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='75' column='1' id='type-id-45'>
       <data-member access='private'>
-        <!-- __pthread_cond_s __data -->
-        <var-decl name='__data' type-id='type-id-53' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='77' column='1'/>
+        <!-- __pthread_cond_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-46' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='77' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- char __size[48] -->
-        <var-decl name='__size' type-id='type-id-45' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='78' column='1'/>
+        <!-- char __anonymous_union__::__size[48] -->
+        <var-decl name='__size' type-id='type-id-47' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='78' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- long long int __align -->
-        <var-decl name='__align' type-id='type-id-47' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='79' column='1'/>
+        <!-- long long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-48' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='79' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __pthread_cond_s -->
-    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='92' column='1' id='type-id-53'>
+    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='171' column='1' id='type-id-46'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <!-- union {long long unsigned int __wseq; struct {unsigned int __low; unsigned int __high;} __wseq32;} -->
-        <var-decl name='' type-id='type-id-54' visibility='default'/>
+        <!-- __anonymous_union__  -->
+        <var-decl name='' type-id='type-id-49' visibility='default'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- unsigned int __pthread_cond_s::__g_refs[2] -->
-        <var-decl name='__g_refs' type-id='type-id-49' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='112' column='1'/>
+        <var-decl name='__g_refs' type-id='type-id-50' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='191' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- unsigned int __pthread_cond_s::__g_size[2] -->
-        <var-decl name='__g_size' type-id='type-id-49' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='113' column='1'/>
+        <var-decl name='__g_size' type-id='type-id-50' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='192' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- unsigned int __pthread_cond_s::__g1_orig_size -->
-        <var-decl name='__g1_orig_size' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='114' column='1'/>
+        <var-decl name='__g1_orig_size' type-id='type-id-11' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='193' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='288'>
         <!-- unsigned int __pthread_cond_s::__wrefs -->
-        <var-decl name='__wrefs' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='115' column='1'/>
+        <var-decl name='__wrefs' type-id='type-id-11' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='194' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
         <!-- unsigned int __pthread_cond_s::__g_signals[2] -->
-        <var-decl name='__g_signals' type-id='type-id-49' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='116' column='1'/>
+        <var-decl name='__g_signals' type-id='type-id-50' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='195' column='1'/>
       </data-member>
     </class-decl>
-    <!-- union {long long unsigned int __wseq; struct {unsigned int __low; unsigned int __high;} __wseq32;} -->
-    <union-decl name='__anonymous_union__1' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='94' column='1' id='type-id-54'>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='173' column='1' id='type-id-49'>
       <data-member access='private'>
-        <!-- long long unsigned int __wseq -->
-        <var-decl name='__wseq' type-id='type-id-48' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='96' column='1'/>
+        <!-- long long unsigned int __anonymous_union__::__wseq -->
+        <var-decl name='__wseq' type-id='type-id-51' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='175' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- struct {unsigned int __low; unsigned int __high;} __wseq32 -->
-        <var-decl name='__wseq32' type-id='type-id-55' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='101' column='1'/>
+        <!-- __anonymous_struct__ __anonymous_union__::__wseq32 -->
+        <var-decl name='__wseq32' type-id='type-id-52' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='180' column='1'/>
       </data-member>
     </union-decl>
-    <!-- struct {unsigned int __low; unsigned int __high;} -->
-    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='97' column='1' id='type-id-55'>
+    <!-- long long unsigned int -->
+    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-51'/>
+    <!-- struct __anonymous_struct__ -->
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='176' column='1' id='type-id-52'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <!-- unsigned int __low -->
-        <var-decl name='__low' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='99' column='1'/>
+        <!-- unsigned int __anonymous_struct__::__low -->
+        <var-decl name='__low' type-id='type-id-11' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='178' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='32'>
-        <!-- unsigned int __high -->
-        <var-decl name='__high' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='100' column='1'/>
+        <!-- unsigned int __anonymous_struct__::__high -->
+        <var-decl name='__high' type-id='type-id-11' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='179' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __int32_t int32_t -->
-    <typedef-decl name='int32_t' type-id='type-id-56' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-57'/>
+
+    <!-- unsigned int[2] -->
+    <array-type-def dimensions='1' type-id='type-id-11' size-in-bits='64' id='type-id-50'>
+      <!-- <anonymous range>[2] -->
+      <subrange length='2' type-id='type-id-17' id='type-id-53'/>
+
+    </array-type-def>
+
+    <!-- char[48] -->
+    <array-type-def dimensions='1' type-id='type-id-16' size-in-bits='384' id='type-id-47'>
+      <!-- <anonymous range>[48] -->
+      <subrange length='48' type-id='type-id-17' id='type-id-54'/>
+
+    </array-type-def>
+    <!-- long long int -->
+    <type-decl name='long long int' size-in-bits='64' id='type-id-48'/>
+    <!-- typedef __anonymous_union__ pthread_cond_t -->
+    <typedef-decl name='pthread_cond_t' type-id='type-id-45' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='80' column='1' id='type-id-55'/>
+    <!-- pthread_cond_t __urcu_compat_futex_cond -->
+    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-55' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
     <!-- typedef int __int32_t -->
-    <typedef-decl name='__int32_t' type-id='type-id-5' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-56'/>
+    <typedef-decl name='__int32_t' type-id='type-id-10' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='40' column='1' id='type-id-56'/>
+    <!-- typedef __int32_t int32_t -->
+    <typedef-decl name='int32_t' type-id='type-id-56' filepath='/usr/include/x86_64-linux-gnu/bits/stdint-intn.h' line='26' column='1' id='type-id-57'/>
+    <!-- int32_t* -->
+    <pointer-type-def type-id='type-id-57' size-in-bits='64' id='type-id-58'/>
     <!-- struct timespec -->
-    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='10' column='1' id='type-id-58'>
+    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='9' column='1' id='type-id-59'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- __time_t timespec::tv_sec -->
-        <var-decl name='tv_sec' type-id='type-id-59' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='12' column='1'/>
+        <var-decl name='tv_sec' type-id='type-id-60' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='11' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- __syscall_slong_t timespec::tv_nsec -->
-        <var-decl name='tv_nsec' type-id='type-id-60' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='16' column='1'/>
+        <var-decl name='tv_nsec' type-id='type-id-61' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='12' column='1'/>
       </data-member>
     </class-decl>
     <!-- typedef long int __time_t -->
-    <typedef-decl name='__time_t' type-id='type-id-6' filepath='/usr/include/bits/types.h' line='160' column='1' id='type-id-59'/>
+    <typedef-decl name='__time_t' type-id='type-id-9' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='148' column='1' id='type-id-60'/>
     <!-- typedef long int __syscall_slong_t -->
-    <typedef-decl name='__syscall_slong_t' type-id='type-id-6' filepath='/usr/include/bits/types.h' line='197' column='1' id='type-id-60'/>
+    <typedef-decl name='__syscall_slong_t' type-id='type-id-9' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='184' column='1' id='type-id-61'/>
     <!-- const timespec -->
-    <qualified-type-def type-id='type-id-58' const='yes' id='type-id-61'/>
+    <qualified-type-def type-id='type-id-59' const='yes' id='type-id-62'/>
     <!-- const timespec* -->
-    <pointer-type-def type-id='type-id-61' size-in-bits='64' id='type-id-62'/>
-    <!-- int32_t* -->
-    <pointer-type-def type-id='type-id-57' size-in-bits='64' id='type-id-63'/>
-    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
-    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-14' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
-    <!-- pthread_cond_t __urcu_compat_futex_cond -->
-    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-52' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
+    <pointer-type-def type-id='type-id-62' size-in-bits='64' id='type-id-63'/>
     <!-- int compat_futex_async(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
     <function-decl name='compat_futex_async' mangled-name='compat_futex_async' filepath='src/compat_futex.c' line='118' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_async'>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-63' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-58' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-10' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
       <parameter type-id='type-id-57' name='val' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'const timespec*' -->
-      <parameter type-id='type-id-62' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-63' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-63' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-58' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
       <parameter type-id='type-id-57' name='val3' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-10'/>
     </function-decl>
     <!-- int compat_futex_noasync(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
     <function-decl name='compat_futex_noasync' mangled-name='compat_futex_noasync' filepath='src/compat_futex.c' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_noasync'>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-63' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-58' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-10' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
       <parameter type-id='type-id-57' name='val' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'const timespec*' -->
-      <parameter type-id='type-id-62' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-63' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-63' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-58' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
       <parameter type-id='type-id-57' name='val3' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-10'/>
     </function-decl>
   </abi-instr>
 </abi-corpus>
index 95c4c19879f58fc1fc232d04c94012369efbbb26..4f7b9f6b7f7699ddf25d668e87d9a4a1542f51d2 100644 (file)
@@ -1,11 +1,14 @@
 <abi-corpus architecture='elf-amd-x86_64' soname='liburcu-mb.so.6'>
   <elf-needed>
-    <dependency name='liburcu-common.so.6'/>
     <dependency name='libpthread.so.0'/>
     <dependency name='libc.so.6'/>
     <dependency name='ld-linux-x86-64.so.2'/>
   </elf-needed>
   <elf-function-symbols>
+    <!-- _fini -->
+    <elf-symbol name='_fini' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- _init -->
+    <elf-symbol name='_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- call_rcu_after_fork_child_mb -->
     <elf-symbol name='call_rcu_after_fork_child_mb' type='func-type' binding='global-binding' visibility='default-visibility' alias='urcu_mb_call_rcu_after_fork_child' is-defined='yes'/>
     <!-- call_rcu_after_fork_parent_mb -->
     <elf-symbol name='urcu_mb_reader' size='256' type='tls-type' binding='global-binding' visibility='default-visibility' alias='rcu_reader_mb' is-defined='yes'/>
   </elf-variable-symbols>
   <abi-instr version='1.0' address-size='64' path='urcu.c' comp-dir-path='src' language='LANG_C99'>
-
-    <!-- char -->
-    <type-decl name='char' size-in-bits='8' id='type-id-1'/>
-    <!-- char[40] -->
-    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='320' id='type-id-2'>
-      <!-- <anonymous range>[40] -->
-      <subrange length='40' type-id='type-id-3' id='type-id-4'/>
-
-    </array-type-def>
-    <!-- int -->
-    <type-decl name='int' size-in-bits='32' id='type-id-5'/>
-    <!-- long int -->
-    <type-decl name='long int' size-in-bits='64' id='type-id-6'/>
-    <!-- short int -->
-    <type-decl name='short int' size-in-bits='16' id='type-id-7'/>
-    <!-- unsigned int -->
-    <type-decl name='unsigned int' size-in-bits='32' id='type-id-8'/>
-    <!-- unsigned long int -->
-    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-3'/>
-    <!-- void -->
-    <type-decl name='void' id='type-id-9'/>
     <!-- struct urcu_gp -->
-    <class-decl name='urcu_gp' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='67' column='1' id='type-id-10'>
+    <class-decl name='urcu_gp' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='67' column='1' id='type-id-1'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned long int urcu_gp::ctr -->
-        <var-decl name='ctr' type-id='type-id-3' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='75' column='1'/>
+        <var-decl name='ctr' type-id='type-id-2' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='75' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- int32_t urcu_gp::futex -->
-        <var-decl name='futex' type-id='type-id-11' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='77' column='1'/>
+        <var-decl name='futex' type-id='type-id-3' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='77' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __int32_t int32_t -->
-    <typedef-decl name='int32_t' type-id='type-id-12' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-11'/>
+    <!-- unsigned long int -->
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-2'/>
+    <!-- int -->
+    <type-decl name='int' size-in-bits='32' id='type-id-4'/>
     <!-- typedef int __int32_t -->
-    <typedef-decl name='__int32_t' type-id='type-id-5' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-12'/>
+    <typedef-decl name='__int32_t' type-id='type-id-4' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='40' column='1' id='type-id-5'/>
+    <!-- typedef __int32_t int32_t -->
+    <typedef-decl name='int32_t' type-id='type-id-5' filepath='/usr/include/x86_64-linux-gnu/bits/stdint-intn.h' line='26' column='1' id='type-id-3'/>
+    <!-- urcu_gp urcu_mb_gp -->
+    <var-decl name='urcu_mb_gp' type-id='type-id-1' mangled-name='urcu_mb_gp' visibility='default' filepath='../include/urcu/static/urcu-mb.h' line='60' column='1' elf-symbol-id='urcu_mb_gp'/>
     <!-- struct urcu_reader -->
-    <class-decl name='urcu_reader' size-in-bits='2048' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='80' column='1' id='type-id-13'>
+    <class-decl name='urcu_reader' size-in-bits='2048' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='80' column='1' id='type-id-6'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned long int urcu_reader::ctr -->
-        <var-decl name='ctr' type-id='type-id-3' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='82' column='1'/>
+        <var-decl name='ctr' type-id='type-id-2' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='82' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- char urcu_reader::need_mb -->
-        <var-decl name='need_mb' type-id='type-id-1' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='83' column='1'/>
+        <var-decl name='need_mb' type-id='type-id-7' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='83' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1024'>
         <!-- cds_list_head urcu_reader::node -->
-        <var-decl name='node' type-id='type-id-14' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='85' column='1'/>
+        <var-decl name='node' type-id='type-id-8' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='85' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1152'>
         <!-- pthread_t urcu_reader::tid -->
-        <var-decl name='tid' type-id='type-id-15' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='86' column='1'/>
+        <var-decl name='tid' type-id='type-id-9' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='86' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='31'>
         <!-- unsigned int urcu_reader::registered -->
-        <var-decl name='registered' type-id='type-id-8' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='88' column='1'/>
+        <var-decl name='registered' type-id='type-id-10' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='88' column='1'/>
       </data-member>
     </class-decl>
+    <!-- char -->
+    <type-decl name='char' size-in-bits='8' id='type-id-7'/>
     <!-- struct cds_list_head -->
-    <class-decl name='cds_list_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/list.h' line='37' column='1' id='type-id-14'>
+    <class-decl name='cds_list_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/list.h' line='37' column='1' id='type-id-8'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_list_head* cds_list_head::next -->
-        <var-decl name='next' type-id='type-id-16' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
+        <var-decl name='next' type-id='type-id-11' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- cds_list_head* cds_list_head::prev -->
-        <var-decl name='prev' type-id='type-id-16' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
+        <var-decl name='prev' type-id='type-id-11' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_list_head* -->
+    <pointer-type-def type-id='type-id-8' size-in-bits='64' id='type-id-11'/>
     <!-- typedef unsigned long int pthread_t -->
-    <typedef-decl name='pthread_t' type-id='type-id-3' filepath='/usr/include/bits/pthreadtypes.h' line='27' column='1' id='type-id-15'/>
+    <typedef-decl name='pthread_t' type-id='type-id-2' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='27' column='1' id='type-id-9'/>
+    <!-- unsigned int -->
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-10'/>
+    <!-- urcu_reader urcu_mb_reader -->
+    <var-decl name='urcu_mb_reader' type-id='type-id-6' mangled-name='urcu_mb_reader' visibility='default' filepath='../include/urcu/static/urcu-mb.h' line='62' column='1' elf-symbol-id='urcu_mb_reader'/>
     <!-- struct rcu_flavor_struct -->
-    <class-decl name='rcu_flavor_struct' size-in-bits='896' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='42' column='1' id='type-id-17'>
+    <class-decl name='rcu_flavor_struct' size-in-bits='896' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='42' column='1' id='type-id-12'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- void ()* rcu_flavor_struct::read_lock -->
-        <var-decl name='read_lock' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='43' column='1'/>
+        <var-decl name='read_lock' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='43' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void ()* rcu_flavor_struct::read_unlock -->
-        <var-decl name='read_unlock' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='44' column='1'/>
+        <var-decl name='read_unlock' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='44' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- int ()* rcu_flavor_struct::read_ongoing -->
-        <var-decl name='read_ongoing' type-id='type-id-19' visibility='default' filepath='../include/urcu/flavor.h' line='45' column='1'/>
+        <var-decl name='read_ongoing' type-id='type-id-14' visibility='default' filepath='../include/urcu/flavor.h' line='45' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- void ()* rcu_flavor_struct::read_quiescent_state -->
-        <var-decl name='read_quiescent_state' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='46' column='1'/>
+        <var-decl name='read_quiescent_state' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='46' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- void (rcu_head*, void (rcu_head*)*)* rcu_flavor_struct::update_call_rcu -->
-        <var-decl name='update_call_rcu' type-id='type-id-20' visibility='default' filepath='../include/urcu/flavor.h' line='47' column='1'/>
+        <var-decl name='update_call_rcu' type-id='type-id-15' visibility='default' filepath='../include/urcu/flavor.h' line='47' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
         <!-- void ()* rcu_flavor_struct::update_synchronize_rcu -->
-        <var-decl name='update_synchronize_rcu' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='49' column='1'/>
+        <var-decl name='update_synchronize_rcu' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='49' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='384'>
         <!-- void (void (void*)*, void*)* rcu_flavor_struct::update_defer_rcu -->
-        <var-decl name='update_defer_rcu' type-id='type-id-21' visibility='default' filepath='../include/urcu/flavor.h' line='50' column='1'/>
+        <var-decl name='update_defer_rcu' type-id='type-id-16' visibility='default' filepath='../include/urcu/flavor.h' line='50' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='448'>
         <!-- void ()* rcu_flavor_struct::thread_offline -->
-        <var-decl name='thread_offline' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='52' column='1'/>
+        <var-decl name='thread_offline' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='52' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='512'>
         <!-- void ()* rcu_flavor_struct::thread_online -->
-        <var-decl name='thread_online' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='53' column='1'/>
+        <var-decl name='thread_online' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='53' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='576'>
         <!-- void ()* rcu_flavor_struct::register_thread -->
-        <var-decl name='register_thread' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='54' column='1'/>
+        <var-decl name='register_thread' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='54' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='640'>
         <!-- void ()* rcu_flavor_struct::unregister_thread -->
-        <var-decl name='unregister_thread' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='55' column='1'/>
+        <var-decl name='unregister_thread' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='55' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='704'>
         <!-- void ()* rcu_flavor_struct::barrier -->
-        <var-decl name='barrier' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='57' column='1'/>
+        <var-decl name='barrier' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='57' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='768'>
         <!-- void (urcu_atfork*)* rcu_flavor_struct::register_rculfhash_atfork -->
-        <var-decl name='register_rculfhash_atfork' type-id='type-id-22' visibility='default' filepath='../include/urcu/flavor.h' line='59' column='1'/>
+        <var-decl name='register_rculfhash_atfork' type-id='type-id-17' visibility='default' filepath='../include/urcu/flavor.h' line='59' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='832'>
         <!-- void (urcu_atfork*)* rcu_flavor_struct::unregister_rculfhash_atfork -->
-        <var-decl name='unregister_rculfhash_atfork' type-id='type-id-22' visibility='default' filepath='../include/urcu/flavor.h' line='60' column='1'/>
+        <var-decl name='unregister_rculfhash_atfork' type-id='type-id-17' visibility='default' filepath='../include/urcu/flavor.h' line='60' column='1'/>
       </data-member>
     </class-decl>
+    <!-- void -->
+    <type-decl name='void' id='type-id-18'/>
+    <!-- void ()* -->
+    <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-13'/>
+    <!-- int ()* -->
+    <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-14'/>
     <!-- struct rcu_head -->
-    <class-decl name='rcu_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/call-rcu.h' line='57' column='1' id='type-id-23'>
+    <class-decl name='rcu_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/call-rcu.h' line='57' column='1' id='type-id-21'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node rcu_head::next -->
-        <var-decl name='next' type-id='type-id-24' visibility='default' filepath='../include/urcu/call-rcu.h' line='58' column='1'/>
+        <var-decl name='next' type-id='type-id-22' visibility='default' filepath='../include/urcu/call-rcu.h' line='58' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void (rcu_head*)* rcu_head::func -->
-        <var-decl name='func' type-id='type-id-25' visibility='default' filepath='../include/urcu/call-rcu.h' line='59' column='1'/>
+        <var-decl name='func' type-id='type-id-23' visibility='default' filepath='../include/urcu/call-rcu.h' line='59' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_node -->
-    <class-decl name='cds_wfcq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='59' column='1' id='type-id-24'>
+    <class-decl name='cds_wfcq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='59' column='1' id='type-id-22'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node* cds_wfcq_node::next -->
-        <var-decl name='next' type-id='type-id-26' visibility='default' filepath='../include/urcu/wfcqueue.h' line='60' column='1'/>
+        <var-decl name='next' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='60' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_wfcq_node* -->
+    <pointer-type-def type-id='type-id-22' size-in-bits='64' id='type-id-24'/>
+    <!-- rcu_head* -->
+    <pointer-type-def type-id='type-id-21' size-in-bits='64' id='type-id-25'/>
+    <!-- void (rcu_head*)* -->
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-23'/>
+    <!-- void (rcu_head*, void (rcu_head*)*)* -->
+    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-15'/>
+    <!-- void* -->
+    <pointer-type-def type-id='type-id-18' size-in-bits='64' id='type-id-28'/>
+    <!-- void (void*)* -->
+    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-30'/>
+    <!-- void (void (void*)*, void*)* -->
+    <pointer-type-def type-id='type-id-31' size-in-bits='64' id='type-id-16'/>
     <!-- struct urcu_atfork -->
-    <class-decl name='urcu_atfork' size-in-bits='256' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='32' column='1' id='type-id-27'>
+    <class-decl name='urcu_atfork' size-in-bits='256' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='32' column='1' id='type-id-32'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- void (void*)* urcu_atfork::before_fork -->
-        <var-decl name='before_fork' type-id='type-id-28' visibility='default' filepath='../include/urcu/flavor.h' line='33' column='1'/>
+        <var-decl name='before_fork' type-id='type-id-30' visibility='default' filepath='../include/urcu/flavor.h' line='33' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void (void*)* urcu_atfork::after_fork_parent -->
-        <var-decl name='after_fork_parent' type-id='type-id-28' visibility='default' filepath='../include/urcu/flavor.h' line='34' column='1'/>
+        <var-decl name='after_fork_parent' type-id='type-id-30' visibility='default' filepath='../include/urcu/flavor.h' line='34' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- void (void*)* urcu_atfork::after_fork_child -->
-        <var-decl name='after_fork_child' type-id='type-id-28' visibility='default' filepath='../include/urcu/flavor.h' line='35' column='1'/>
+        <var-decl name='after_fork_child' type-id='type-id-30' visibility='default' filepath='../include/urcu/flavor.h' line='35' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- void* urcu_atfork::priv -->
-        <var-decl name='priv' type-id='type-id-29' visibility='default' filepath='../include/urcu/flavor.h' line='36' column='1'/>
+        <var-decl name='priv' type-id='type-id-28' visibility='default' filepath='../include/urcu/flavor.h' line='36' column='1'/>
       </data-member>
     </class-decl>
+    <!-- urcu_atfork* -->
+    <pointer-type-def type-id='type-id-32' size-in-bits='64' id='type-id-33'/>
+    <!-- void (urcu_atfork*)* -->
+    <pointer-type-def type-id='type-id-34' size-in-bits='64' id='type-id-17'/>
+    <!-- const rcu_flavor_struct -->
+    <qualified-type-def type-id='type-id-12' const='yes' id='type-id-35'/>
+    <!-- const rcu_flavor_struct urcu_mb_flavor -->
+    <var-decl name='urcu_mb_flavor' type-id='type-id-35' mangled-name='rcu_flavor_mb' visibility='default' filepath='../include/urcu/flavor.h' line='90' column='1' elf-symbol-id='rcu_flavor_mb'/>
+    <!-- void urcu_mb_defer_exit() -->
+    <function-decl name='urcu_mb_defer_exit' mangled-name='rcu_defer_exit_mb' filepath='src/urcu-defer-impl.h' line='476' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_exit_mb'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_mb_defer_unregister_thread() -->
+    <function-decl name='urcu_mb_defer_unregister_thread' mangled-name='urcu_mb_defer_unregister_thread' filepath='src/urcu-defer-impl.h' line='456' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_defer_unregister_thread'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- int urcu_mb_defer_register_thread() -->
+    <function-decl name='urcu_mb_defer_register_thread' mangled-name='rcu_defer_register_thread_mb' filepath='src/urcu-defer-impl.h' line='432' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_register_thread_mb'>
+      <!-- int -->
+      <return type-id='type-id-4'/>
+    </function-decl>
+    <!-- void urcu_mb_defer_rcu(void (void*)*, void*) -->
+    <function-decl name='urcu_mb_defer_rcu' mangled-name='defer_rcu_mb' filepath='src/urcu-defer-impl.h' line='400' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='defer_rcu_mb'>
+      <!-- parameter of type 'void (void*)*' -->
+      <parameter type-id='type-id-30' name='fct' filepath='src/urcu-defer-impl.h' line='400' column='1'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-28' name='p' filepath='src/urcu-defer-impl.h' line='400' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_mb_defer_barrier() -->
+    <function-decl name='urcu_mb_defer_barrier' mangled-name='rcu_defer_barrier_mb' filepath='src/urcu-defer-impl.h' line='284' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_barrier_mb'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_mb_defer_barrier_thread() -->
+    <function-decl name='urcu_mb_defer_barrier_thread' mangled-name='rcu_defer_barrier_thread_mb' filepath='src/urcu-defer-impl.h' line='262' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_barrier_thread_mb'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_mb_unregister_rculfhash_atfork(urcu_atfork*) -->
+    <function-decl name='urcu_mb_unregister_rculfhash_atfork' mangled-name='urcu_unregister_rculfhash_atfork_mb' filepath='src/urcu-call-rcu-impl.h' line='1056' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_unregister_rculfhash_atfork_mb'>
+      <!-- parameter of type 'urcu_atfork*' -->
+      <parameter type-id='type-id-33' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1056' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_mb_register_rculfhash_atfork(urcu_atfork*) -->
+    <function-decl name='urcu_mb_register_rculfhash_atfork' mangled-name='urcu_mb_register_rculfhash_atfork' filepath='src/urcu-call-rcu-impl.h' line='1044' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_register_rculfhash_atfork'>
+      <!-- parameter of type 'urcu_atfork*' -->
+      <parameter type-id='type-id-33' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1056' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_mb_call_rcu_after_fork_child() -->
+    <function-decl name='urcu_mb_call_rcu_after_fork_child' mangled-name='call_rcu_after_fork_child_mb' filepath='src/urcu-call-rcu-impl.h' line='1000' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_after_fork_child_mb'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_mb_call_rcu_after_fork_parent() -->
+    <function-decl name='urcu_mb_call_rcu_after_fork_parent' mangled-name='call_rcu_after_fork_parent_mb' filepath='src/urcu-call-rcu-impl.h' line='976' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_after_fork_parent_mb'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_mb_call_rcu_before_fork() -->
+    <function-decl name='urcu_mb_call_rcu_before_fork' mangled-name='urcu_mb_call_rcu_before_fork' filepath='src/urcu-call-rcu-impl.h' line='947' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_call_rcu_before_fork'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_mb_barrier() -->
+    <function-decl name='urcu_mb_barrier' mangled-name='urcu_mb_barrier' filepath='src/urcu-call-rcu-impl.h' line='874' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_barrier'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_mb_free_all_cpu_call_rcu_data() -->
+    <function-decl name='urcu_mb_free_all_cpu_call_rcu_data' mangled-name='free_all_cpu_call_rcu_data_mb' filepath='src/urcu-call-rcu-impl.h' line='801' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='free_all_cpu_call_rcu_data_mb'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
     <!-- struct call_rcu_data -->
-    <class-decl name='call_rcu_data' size-in-bits='1024' is-struct='yes' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='53' column='1' id='type-id-30'>
+    <class-decl name='call_rcu_data' size-in-bits='1024' is-struct='yes' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='53' column='1' id='type-id-36'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_tail call_rcu_data::cbs_tail -->
-        <var-decl name='cbs_tail' type-id='type-id-31' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='61' column='1'/>
+        <var-decl name='cbs_tail' type-id='type-id-37' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='61' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- cds_wfcq_head call_rcu_data::cbs_head -->
-        <var-decl name='cbs_head' type-id='type-id-32' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='62' column='1'/>
+        <var-decl name='cbs_head' type-id='type-id-38' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='62' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='448'>
         <!-- unsigned long int call_rcu_data::flags -->
-        <var-decl name='flags' type-id='type-id-3' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='63' column='1'/>
+        <var-decl name='flags' type-id='type-id-2' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='63' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='512'>
         <!-- int32_t call_rcu_data::futex -->
-        <var-decl name='futex' type-id='type-id-11' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='64' column='1'/>
+        <var-decl name='futex' type-id='type-id-3' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='64' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='576'>
         <!-- unsigned long int call_rcu_data::qlen -->
-        <var-decl name='qlen' type-id='type-id-3' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='65' column='1'/>
+        <var-decl name='qlen' type-id='type-id-2' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='65' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='640'>
         <!-- pthread_t call_rcu_data::tid -->
-        <var-decl name='tid' type-id='type-id-15' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='66' column='1'/>
+        <var-decl name='tid' type-id='type-id-9' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='66' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='704'>
         <!-- int call_rcu_data::cpu_affinity -->
-        <var-decl name='cpu_affinity' type-id='type-id-5' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='67' column='1'/>
+        <var-decl name='cpu_affinity' type-id='type-id-4' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='67' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='768'>
         <!-- unsigned long int call_rcu_data::gp_count -->
-        <var-decl name='gp_count' type-id='type-id-3' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='68' column='1'/>
+        <var-decl name='gp_count' type-id='type-id-2' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='68' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='832'>
         <!-- cds_list_head call_rcu_data::list -->
-        <var-decl name='list' type-id='type-id-14' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='69' column='1'/>
+        <var-decl name='list' type-id='type-id-8' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='69' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_tail -->
-    <class-decl name='cds_wfcq_tail' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='127' column='1' id='type-id-31'>
+    <class-decl name='cds_wfcq_tail' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='127' column='1' id='type-id-37'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node* cds_wfcq_tail::p -->
-        <var-decl name='p' type-id='type-id-26' visibility='default' filepath='../include/urcu/wfcqueue.h' line='128' column='1'/>
+        <var-decl name='p' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='128' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_head -->
-    <class-decl name='cds_wfcq_head' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='72' column='1' id='type-id-32'>
+    <class-decl name='cds_wfcq_head' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='72' column='1' id='type-id-38'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node cds_wfcq_head::node -->
-        <var-decl name='node' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='73' column='1'/>
+        <var-decl name='node' type-id='type-id-22' visibility='default' filepath='../include/urcu/wfcqueue.h' line='73' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- pthread_mutex_t cds_wfcq_head::lock -->
-        <var-decl name='lock' type-id='type-id-33' visibility='default' filepath='../include/urcu/wfcqueue.h' line='74' column='1'/>
+        <var-decl name='lock' type-id='type-id-39' visibility='default' filepath='../include/urcu/wfcqueue.h' line='74' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __anonymous_union__ pthread_mutex_t -->
-    <typedef-decl name='pthread_mutex_t' type-id='type-id-34' filepath='/usr/include/bits/pthreadtypes.h' line='72' column='1' id='type-id-33'/>
-    <!-- union {__pthread_mutex_s __data; char __size[40]; long int __align;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='67' column='1' id='type-id-34'>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='67' column='1' id='type-id-40'>
       <data-member access='private'>
-        <!-- __pthread_mutex_s __data -->
-        <var-decl name='__data' type-id='type-id-35' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='69' column='1'/>
+        <!-- __pthread_mutex_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-41' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='69' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- char __size[40] -->
-        <var-decl name='__size' type-id='type-id-2' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='70' column='1'/>
+        <!-- char __anonymous_union__::__size[40] -->
+        <var-decl name='__size' type-id='type-id-42' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='70' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- long int __align -->
-        <var-decl name='__align' type-id='type-id-6' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='71' column='1'/>
+        <!-- long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-43' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='71' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __pthread_mutex_s -->
-    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='22' column='1' id='type-id-35'>
+    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='118' column='1' id='type-id-41'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- int __pthread_mutex_s::__lock -->
-        <var-decl name='__lock' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='24' column='1'/>
+        <var-decl name='__lock' type-id='type-id-4' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='120' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='32'>
         <!-- unsigned int __pthread_mutex_s::__count -->
-        <var-decl name='__count' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='25' column='1'/>
+        <var-decl name='__count' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='121' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- int __pthread_mutex_s::__owner -->
-        <var-decl name='__owner' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='26' column='1'/>
+        <var-decl name='__owner' type-id='type-id-4' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='122' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='96'>
         <!-- unsigned int __pthread_mutex_s::__nusers -->
-        <var-decl name='__nusers' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='28' column='1'/>
+        <var-decl name='__nusers' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='124' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- int __pthread_mutex_s::__kind -->
-        <var-decl name='__kind' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='32' column='1'/>
+        <var-decl name='__kind' type-id='type-id-4' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='148' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='160'>
         <!-- short int __pthread_mutex_s::__spins -->
-        <var-decl name='__spins' type-id='type-id-7' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='34' column='1'/>
+        <var-decl name='__spins' type-id='type-id-44' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='176'>
         <!-- short int __pthread_mutex_s::__elision -->
-        <var-decl name='__elision' type-id='type-id-7' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='35' column='1'/>
+        <var-decl name='__elision' type-id='type-id-44' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- __pthread_list_t __pthread_mutex_s::__list -->
-        <var-decl name='__list' type-id='type-id-36' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='36' column='1'/>
+        <var-decl name='__list' type-id='type-id-45' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='155' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __pthread_internal_list __pthread_list_t -->
-    <typedef-decl name='__pthread_list_t' type-id='type-id-37' filepath='/usr/include/bits/thread-shared-types.h' line='53' column='1' id='type-id-36'/>
+    <!-- short int -->
+    <type-decl name='short int' size-in-bits='16' id='type-id-44'/>
     <!-- struct __pthread_internal_list -->
-    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='49' column='1' id='type-id-37'>
+    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='82' column='1' id='type-id-46'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- __pthread_internal_list* __pthread_internal_list::__prev -->
-        <var-decl name='__prev' type-id='type-id-38' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='51' column='1'/>
+        <var-decl name='__prev' type-id='type-id-47' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='84' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- __pthread_internal_list* __pthread_internal_list::__next -->
-        <var-decl name='__next' type-id='type-id-38' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='52' column='1'/>
+        <var-decl name='__next' type-id='type-id-47' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='85' column='1'/>
       </data-member>
     </class-decl>
     <!-- __pthread_internal_list* -->
-    <pointer-type-def type-id='type-id-37' size-in-bits='64' id='type-id-38'/>
+    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-47'/>
+    <!-- typedef __pthread_internal_list __pthread_list_t -->
+    <typedef-decl name='__pthread_list_t' type-id='type-id-46' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='86' column='1' id='type-id-45'/>
+
+    <!-- char[40] -->
+    <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='320' id='type-id-42'>
+      <!-- <anonymous range>[40] -->
+      <subrange length='40' type-id='type-id-2' id='type-id-48'/>
+
+    </array-type-def>
+    <!-- long int -->
+    <type-decl name='long int' size-in-bits='64' id='type-id-43'/>
+    <!-- typedef __anonymous_union__ pthread_mutex_t -->
+    <typedef-decl name='pthread_mutex_t' type-id='type-id-40' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='72' column='1' id='type-id-39'/>
     <!-- call_rcu_data* -->
-    <pointer-type-def type-id='type-id-30' size-in-bits='64' id='type-id-39'/>
-    <!-- cds_list_head* -->
-    <pointer-type-def type-id='type-id-14' size-in-bits='64' id='type-id-16'/>
-    <!-- cds_wfcq_node* -->
-    <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-26'/>
-    <!-- const rcu_flavor_struct -->
-    <qualified-type-def type-id='type-id-17' const='yes' id='type-id-40'/>
-    <!-- int ()* -->
-    <pointer-type-def type-id='type-id-41' size-in-bits='64' id='type-id-19'/>
-    <!-- rcu_head* -->
-    <pointer-type-def type-id='type-id-23' size-in-bits='64' id='type-id-42'/>
-    <!-- urcu_atfork* -->
-    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-43'/>
-    <!-- void ()* -->
-    <pointer-type-def type-id='type-id-44' size-in-bits='64' id='type-id-18'/>
-    <!-- void (rcu_head*)* -->
-    <pointer-type-def type-id='type-id-45' size-in-bits='64' id='type-id-25'/>
-    <!-- void (rcu_head*, void (rcu_head*)*)* -->
-    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-20'/>
-    <!-- void (urcu_atfork*)* -->
-    <pointer-type-def type-id='type-id-47' size-in-bits='64' id='type-id-22'/>
-    <!-- void (void (void*)*, void*)* -->
-    <pointer-type-def type-id='type-id-48' size-in-bits='64' id='type-id-21'/>
-    <!-- void (void*)* -->
-    <pointer-type-def type-id='type-id-49' size-in-bits='64' id='type-id-28'/>
-    <!-- void* -->
-    <pointer-type-def type-id='type-id-9' size-in-bits='64' id='type-id-29'/>
-    <!-- urcu_gp urcu_mb_gp -->
-    <var-decl name='urcu_mb_gp' type-id='type-id-10' mangled-name='urcu_mb_gp' visibility='default' filepath='../include/urcu/static/urcu-mb.h' line='60' column='1' elf-symbol-id='urcu_mb_gp'/>
-    <!-- urcu_reader urcu_mb_reader -->
-    <var-decl name='urcu_mb_reader' type-id='type-id-13' mangled-name='urcu_mb_reader' visibility='default' filepath='../include/urcu/static/urcu-mb.h' line='62' column='1' elf-symbol-id='urcu_mb_reader'/>
-    <!-- const rcu_flavor_struct urcu_mb_flavor -->
-    <var-decl name='urcu_mb_flavor' type-id='type-id-40' mangled-name='rcu_flavor_mb' visibility='default' filepath='../include/urcu/flavor.h' line='90' column='1' elf-symbol-id='rcu_flavor_mb'/>
-    <!-- void urcu_mb_defer_exit() -->
-    <function-decl name='urcu_mb_defer_exit' mangled-name='rcu_defer_exit_mb' filepath='src/urcu-defer-impl.h' line='476' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_exit_mb'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_mb_defer_unregister_thread() -->
-    <function-decl name='urcu_mb_defer_unregister_thread' mangled-name='urcu_mb_defer_unregister_thread' filepath='src/urcu-defer-impl.h' line='456' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_defer_unregister_thread'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- int urcu_mb_defer_register_thread() -->
-    <function-decl name='urcu_mb_defer_register_thread' mangled-name='rcu_defer_register_thread_mb' filepath='src/urcu-defer-impl.h' line='432' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_register_thread_mb'>
-      <!-- int -->
-      <return type-id='type-id-5'/>
-    </function-decl>
-    <!-- void urcu_mb_defer_rcu(void (void*)*, void*) -->
-    <function-decl name='urcu_mb_defer_rcu' mangled-name='defer_rcu_mb' filepath='src/urcu-defer-impl.h' line='400' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='defer_rcu_mb'>
-      <!-- parameter of type 'void (void*)*' -->
-      <parameter type-id='type-id-28' name='fct' filepath='src/urcu-defer-impl.h' line='400' column='1'/>
-      <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='p' filepath='src/urcu-defer-impl.h' line='400' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_mb_defer_barrier() -->
-    <function-decl name='urcu_mb_defer_barrier' mangled-name='rcu_defer_barrier_mb' filepath='src/urcu-defer-impl.h' line='284' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_barrier_mb'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_mb_defer_barrier_thread() -->
-    <function-decl name='urcu_mb_defer_barrier_thread' mangled-name='rcu_defer_barrier_thread_mb' filepath='src/urcu-defer-impl.h' line='262' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_barrier_thread_mb'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_mb_unregister_rculfhash_atfork(urcu_atfork*) -->
-    <function-decl name='urcu_mb_unregister_rculfhash_atfork' mangled-name='urcu_unregister_rculfhash_atfork_mb' filepath='src/urcu-call-rcu-impl.h' line='1056' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_unregister_rculfhash_atfork_mb'>
-      <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-43' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1056' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_mb_register_rculfhash_atfork(urcu_atfork*) -->
-    <function-decl name='urcu_mb_register_rculfhash_atfork' mangled-name='urcu_mb_register_rculfhash_atfork' filepath='src/urcu-call-rcu-impl.h' line='1044' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_register_rculfhash_atfork'>
-      <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-43' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1044' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_mb_call_rcu_after_fork_child() -->
-    <function-decl name='urcu_mb_call_rcu_after_fork_child' mangled-name='call_rcu_after_fork_child_mb' filepath='src/urcu-call-rcu-impl.h' line='1000' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_after_fork_child_mb'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_mb_call_rcu_after_fork_parent() -->
-    <function-decl name='urcu_mb_call_rcu_after_fork_parent' mangled-name='call_rcu_after_fork_parent_mb' filepath='src/urcu-call-rcu-impl.h' line='976' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_after_fork_parent_mb'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_mb_call_rcu_before_fork() -->
-    <function-decl name='urcu_mb_call_rcu_before_fork' mangled-name='urcu_mb_call_rcu_before_fork' filepath='src/urcu-call-rcu-impl.h' line='947' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_call_rcu_before_fork'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_mb_barrier() -->
-    <function-decl name='urcu_mb_barrier' mangled-name='urcu_mb_barrier' filepath='src/urcu-call-rcu-impl.h' line='874' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_barrier'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_mb_free_all_cpu_call_rcu_data() -->
-    <function-decl name='urcu_mb_free_all_cpu_call_rcu_data' mangled-name='free_all_cpu_call_rcu_data_mb' filepath='src/urcu-call-rcu-impl.h' line='801' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='free_all_cpu_call_rcu_data_mb'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
+    <pointer-type-def type-id='type-id-36' size-in-bits='64' id='type-id-49'/>
     <!-- void urcu_mb_call_rcu_data_free(call_rcu_data*) -->
     <function-decl name='urcu_mb_call_rcu_data_free' mangled-name='call_rcu_data_free_mb' filepath='src/urcu-call-rcu-impl.h' line='764' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_data_free_mb'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='764' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='764' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void urcu_mb_call_rcu(rcu_head*, void (rcu_head*)*) -->
     <function-decl name='urcu_mb_call_rcu' mangled-name='urcu_mb_call_rcu' filepath='src/urcu-call-rcu-impl.h' line='725' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_call_rcu'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42' name='head' filepath='src/urcu-call-rcu-impl.h' line='725' column='1'/>
+      <parameter type-id='type-id-25' name='head' filepath='src/urcu-call-rcu-impl.h' line='725' column='1'/>
       <!-- parameter of type 'void (rcu_head*)*' -->
-      <parameter type-id='type-id-25' name='func' filepath='src/urcu-call-rcu-impl.h' line='726' column='1'/>
+      <parameter type-id='type-id-23' name='func' filepath='src/urcu-call-rcu-impl.h' line='726' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- int urcu_mb_create_all_cpu_call_rcu_data(unsigned long int) -->
     <function-decl name='urcu_mb_create_all_cpu_call_rcu_data' mangled-name='create_all_cpu_call_rcu_data_mb' filepath='src/urcu-call-rcu-impl.h' line='645' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='create_all_cpu_call_rcu_data_mb'>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-3' name='flags' filepath='src/urcu-call-rcu-impl.h' line='645' column='1'/>
+      <parameter type-id='type-id-2' name='flags' filepath='src/urcu-call-rcu-impl.h' line='645' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-decl>
     <!-- void urcu_mb_set_thread_call_rcu_data(call_rcu_data*) -->
     <function-decl name='urcu_mb_set_thread_call_rcu_data' mangled-name='urcu_mb_set_thread_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='630' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_set_thread_call_rcu_data'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='630' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='630' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- call_rcu_data* urcu_mb_get_thread_call_rcu_data() -->
     <function-decl name='urcu_mb_get_thread_call_rcu_data' mangled-name='get_thread_call_rcu_data_mb' filepath='src/urcu-call-rcu-impl.h' line='612' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_thread_call_rcu_data_mb'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- call_rcu_data* urcu_mb_get_call_rcu_data() -->
     <function-decl name='urcu_mb_get_call_rcu_data' mangled-name='urcu_mb_get_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='590' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_get_call_rcu_data'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- call_rcu_data* urcu_mb_get_default_call_rcu_data() -->
     <function-decl name='urcu_mb_get_default_call_rcu_data' mangled-name='urcu_mb_get_default_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='563' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_get_default_call_rcu_data'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- int urcu_mb_set_cpu_call_rcu_data(int, call_rcu_data*) -->
     <function-decl name='urcu_mb_set_cpu_call_rcu_data' mangled-name='urcu_mb_set_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='522' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_set_cpu_call_rcu_data'>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='522' column='1'/>
+      <parameter type-id='type-id-4' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='522' column='1'/>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='522' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='522' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-decl>
     <!-- call_rcu_data* urcu_mb_create_call_rcu_data(unsigned long int, int) -->
     <function-decl name='urcu_mb_create_call_rcu_data' mangled-name='create_call_rcu_data_mb' filepath='src/urcu-call-rcu-impl.h' line='498' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='create_call_rcu_data_mb'>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-3' name='flags' filepath='src/urcu-call-rcu-impl.h' line='498' column='1'/>
+      <parameter type-id='type-id-2' name='flags' filepath='src/urcu-call-rcu-impl.h' line='498' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu_affinity' filepath='src/urcu-call-rcu-impl.h' line='499' column='1'/>
+      <parameter type-id='type-id-4' name='cpu_affinity' filepath='src/urcu-call-rcu-impl.h' line='499' column='1'/>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- pthread_t urcu_mb_get_call_rcu_thread(call_rcu_data*) -->
     <function-decl name='urcu_mb_get_call_rcu_thread' mangled-name='get_call_rcu_thread_mb' filepath='src/urcu-call-rcu-impl.h' line='476' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_call_rcu_thread_mb'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='476' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='476' column='1'/>
       <!-- typedef pthread_t -->
-      <return type-id='type-id-15'/>
+      <return type-id='type-id-9'/>
     </function-decl>
     <!-- call_rcu_data* urcu_mb_get_cpu_call_rcu_data(int) -->
     <function-decl name='urcu_mb_get_cpu_call_rcu_data' mangled-name='get_cpu_call_rcu_data_mb' filepath='src/urcu-call-rcu-impl.h' line='452' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_cpu_call_rcu_data_mb'>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='452' column='1'/>
+      <parameter type-id='type-id-4' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='452' column='1'/>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- void urcu_mb_unregister_thread() -->
     <function-decl name='urcu_mb_unregister_thread' mangled-name='urcu_mb_unregister_thread' filepath='src/urcu.c' line='563' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_unregister_thread'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void urcu_mb_register_thread() -->
     <function-decl name='urcu_mb_register_thread' mangled-name='urcu_mb_register_thread' filepath='src/urcu.c' line='547' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_register_thread'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- int urcu_mb_read_ongoing() -->
     <function-decl name='urcu_mb_read_ongoing' mangled-name='rcu_read_ongoing_mb' filepath='src/urcu.c' line='540' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_read_ongoing_mb'>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-decl>
     <!-- void urcu_mb_read_unlock() -->
     <function-decl name='urcu_mb_read_unlock' mangled-name='rcu_read_unlock_mb' filepath='src/urcu.c' line='533' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_read_unlock_mb'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void urcu_mb_read_lock() -->
     <function-decl name='urcu_mb_read_lock' mangled-name='rcu_read_lock_mb' filepath='src/urcu.c' line='526' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_read_lock_mb'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void urcu_mb_synchronize_rcu() -->
     <function-decl name='urcu_mb_synchronize_rcu' mangled-name='synchronize_rcu_mb' filepath='src/urcu.c' line='403' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='synchronize_rcu_mb'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void urcu_mb_init() -->
     <function-decl name='urcu_mb_init' mangled-name='rcu_init_mb' filepath='src/urcu.c' line='105' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_init_mb'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- int () -->
-    <function-type size-in-bits='64' id='type-id-41'>
+    <function-type size-in-bits='64' id='type-id-20'>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-type>
     <!-- void () -->
-    <function-type size-in-bits='64' id='type-id-44'>
+    <function-type size-in-bits='64' id='type-id-19'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (rcu_head*) -->
-    <function-type size-in-bits='64' id='type-id-45'>
+    <function-type size-in-bits='64' id='type-id-26'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42'/>
+      <parameter type-id='type-id-25'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (rcu_head*, void (rcu_head*)*) -->
-    <function-type size-in-bits='64' id='type-id-46'>
+    <function-type size-in-bits='64' id='type-id-27'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42'/>
-      <!-- parameter of type 'void (rcu_head*)*' -->
       <parameter type-id='type-id-25'/>
+      <!-- parameter of type 'void (rcu_head*)*' -->
+      <parameter type-id='type-id-23'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (urcu_atfork*) -->
-    <function-type size-in-bits='64' id='type-id-47'>
+    <function-type size-in-bits='64' id='type-id-34'>
       <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-43'/>
+      <parameter type-id='type-id-33'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (void (void*)*, void*) -->
-    <function-type size-in-bits='64' id='type-id-48'>
+    <function-type size-in-bits='64' id='type-id-31'>
       <!-- parameter of type 'void (void*)*' -->
-      <parameter type-id='type-id-28'/>
+      <parameter type-id='type-id-30'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29'/>
+      <parameter type-id='type-id-28'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (void*) -->
-    <function-type size-in-bits='64' id='type-id-49'>
+    <function-type size-in-bits='64' id='type-id-29'>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29'/>
+      <parameter type-id='type-id-28'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='urcu-pointer.c' comp-dir-path='src' language='LANG_C99'>
     <!-- void** -->
-    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-50'/>
+    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-50'/>
     <!-- void* rcu_cmpxchg_pointer_sym(void**, void*, void*) -->
     <function-decl name='rcu_cmpxchg_pointer_sym' mangled-name='rcu_cmpxchg_pointer_sym' filepath='src/urcu-pointer.c' line='53' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_cmpxchg_pointer_sym'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='53' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='old' filepath='src/urcu-pointer.c' line='53' column='1'/>
+      <parameter type-id='type-id-28' name='old' filepath='src/urcu-pointer.c' line='53' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='_new' filepath='src/urcu-pointer.c' line='53' column='1'/>
+      <parameter type-id='type-id-28' name='_new' filepath='src/urcu-pointer.c' line='53' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-28'/>
     </function-decl>
     <!-- void* rcu_xchg_pointer_sym(void**, void*) -->
     <function-decl name='rcu_xchg_pointer_sym' mangled-name='rcu_xchg_pointer_sym' filepath='src/urcu-pointer.c' line='47' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_xchg_pointer_sym'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='47' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='v' filepath='src/urcu-pointer.c' line='47' column='1'/>
+      <parameter type-id='type-id-28' name='v' filepath='src/urcu-pointer.c' line='47' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-28'/>
     </function-decl>
     <!-- void* rcu_set_pointer_sym(void**, void*) -->
     <function-decl name='rcu_set_pointer_sym' mangled-name='rcu_set_pointer_sym' filepath='src/urcu-pointer.c' line='40' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_set_pointer_sym'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='40' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='v' filepath='src/urcu-pointer.c' line='40' column='1'/>
+      <parameter type-id='type-id-28' name='v' filepath='src/urcu-pointer.c' line='40' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-28'/>
     </function-decl>
     <!-- void* rcu_dereference_sym(void*) -->
     <function-decl name='rcu_dereference_sym' mangled-name='rcu_dereference_sym' filepath='src/urcu-pointer.c' line='35' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_dereference_sym'>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='p' filepath='src/urcu-pointer.c' line='35' column='1'/>
+      <parameter type-id='type-id-28' name='p' filepath='src/urcu-pointer.c' line='35' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-28'/>
     </function-decl>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='compat_futex.c' comp-dir-path='src' language='LANG_C99'>
-
-
-    <!-- char[48] -->
-    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='384' id='type-id-51'>
-      <!-- <anonymous range>[48] -->
-      <subrange length='48' type-id='type-id-3' id='type-id-52'/>
-
-    </array-type-def>
-    <!-- long long int -->
-    <type-decl name='long long int' size-in-bits='64' id='type-id-53'/>
-    <!-- long long unsigned int -->
-    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-54'/>
-    <!-- unsigned int[2] -->
-    <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='64' id='type-id-55'>
-      <!-- <anonymous range>[2] -->
-      <subrange length='2' type-id='type-id-3' id='type-id-56'/>
-
-    </array-type-def>
-    <!-- typedef __anonymous_union__ pthread_cond_t -->
-    <typedef-decl name='pthread_cond_t' type-id='type-id-57' filepath='/usr/include/bits/pthreadtypes.h' line='80' column='1' id='type-id-58'/>
-    <!-- union {__pthread_cond_s __data; char __size[48]; long long int __align;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='75' column='1' id='type-id-57'>
+    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
+    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-39' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='75' column='1' id='type-id-51'>
       <data-member access='private'>
-        <!-- __pthread_cond_s __data -->
-        <var-decl name='__data' type-id='type-id-59' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='77' column='1'/>
+        <!-- __pthread_cond_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-52' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='77' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- char __size[48] -->
-        <var-decl name='__size' type-id='type-id-51' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='78' column='1'/>
+        <!-- char __anonymous_union__::__size[48] -->
+        <var-decl name='__size' type-id='type-id-53' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='78' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- long long int __align -->
-        <var-decl name='__align' type-id='type-id-53' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='79' column='1'/>
+        <!-- long long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-54' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='79' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __pthread_cond_s -->
-    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='92' column='1' id='type-id-59'>
+    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='171' column='1' id='type-id-52'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <!-- union {long long unsigned int __wseq; struct {unsigned int __low; unsigned int __high;} __wseq32;} -->
-        <var-decl name='' type-id='type-id-60' visibility='default'/>
+        <!-- __anonymous_union__  -->
+        <var-decl name='' type-id='type-id-55' visibility='default'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- unsigned int __pthread_cond_s::__g_refs[2] -->
-        <var-decl name='__g_refs' type-id='type-id-55' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='112' column='1'/>
+        <var-decl name='__g_refs' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='191' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- unsigned int __pthread_cond_s::__g_size[2] -->
-        <var-decl name='__g_size' type-id='type-id-55' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='113' column='1'/>
+        <var-decl name='__g_size' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='192' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- unsigned int __pthread_cond_s::__g1_orig_size -->
-        <var-decl name='__g1_orig_size' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='114' column='1'/>
+        <var-decl name='__g1_orig_size' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='193' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='288'>
         <!-- unsigned int __pthread_cond_s::__wrefs -->
-        <var-decl name='__wrefs' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='115' column='1'/>
+        <var-decl name='__wrefs' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='194' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
         <!-- unsigned int __pthread_cond_s::__g_signals[2] -->
-        <var-decl name='__g_signals' type-id='type-id-55' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='116' column='1'/>
+        <var-decl name='__g_signals' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='195' column='1'/>
       </data-member>
     </class-decl>
-    <!-- union {long long unsigned int __wseq; struct {unsigned int __low; unsigned int __high;} __wseq32;} -->
-    <union-decl name='__anonymous_union__1' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='94' column='1' id='type-id-60'>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='173' column='1' id='type-id-55'>
       <data-member access='private'>
-        <!-- long long unsigned int __wseq -->
-        <var-decl name='__wseq' type-id='type-id-54' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='96' column='1'/>
+        <!-- long long unsigned int __anonymous_union__::__wseq -->
+        <var-decl name='__wseq' type-id='type-id-57' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='175' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- struct {unsigned int __low; unsigned int __high;} __wseq32 -->
-        <var-decl name='__wseq32' type-id='type-id-61' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='101' column='1'/>
+        <!-- __anonymous_struct__ __anonymous_union__::__wseq32 -->
+        <var-decl name='__wseq32' type-id='type-id-58' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='180' column='1'/>
       </data-member>
     </union-decl>
-    <!-- struct {unsigned int __low; unsigned int __high;} -->
-    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='97' column='1' id='type-id-61'>
+    <!-- long long unsigned int -->
+    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-57'/>
+    <!-- struct __anonymous_struct__ -->
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='176' column='1' id='type-id-58'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <!-- unsigned int __low -->
-        <var-decl name='__low' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='99' column='1'/>
+        <!-- unsigned int __anonymous_struct__::__low -->
+        <var-decl name='__low' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='178' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='32'>
-        <!-- unsigned int __high -->
-        <var-decl name='__high' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='100' column='1'/>
+        <!-- unsigned int __anonymous_struct__::__high -->
+        <var-decl name='__high' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='179' column='1'/>
       </data-member>
     </class-decl>
+
+    <!-- unsigned int[2] -->
+    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='64' id='type-id-56'>
+      <!-- <anonymous range>[2] -->
+      <subrange length='2' type-id='type-id-2' id='type-id-59'/>
+
+    </array-type-def>
+
+    <!-- char[48] -->
+    <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='384' id='type-id-53'>
+      <!-- <anonymous range>[48] -->
+      <subrange length='48' type-id='type-id-2' id='type-id-60'/>
+
+    </array-type-def>
+    <!-- long long int -->
+    <type-decl name='long long int' size-in-bits='64' id='type-id-54'/>
+    <!-- typedef __anonymous_union__ pthread_cond_t -->
+    <typedef-decl name='pthread_cond_t' type-id='type-id-51' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='80' column='1' id='type-id-61'/>
+    <!-- pthread_cond_t __urcu_compat_futex_cond -->
+    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-61' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
+    <!-- int32_t* -->
+    <pointer-type-def type-id='type-id-3' size-in-bits='64' id='type-id-62'/>
     <!-- struct timespec -->
-    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='10' column='1' id='type-id-62'>
+    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='9' column='1' id='type-id-63'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- __time_t timespec::tv_sec -->
-        <var-decl name='tv_sec' type-id='type-id-63' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='12' column='1'/>
+        <var-decl name='tv_sec' type-id='type-id-64' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='11' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- __syscall_slong_t timespec::tv_nsec -->
-        <var-decl name='tv_nsec' type-id='type-id-64' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='16' column='1'/>
+        <var-decl name='tv_nsec' type-id='type-id-65' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='12' column='1'/>
       </data-member>
     </class-decl>
     <!-- typedef long int __time_t -->
-    <typedef-decl name='__time_t' type-id='type-id-6' filepath='/usr/include/bits/types.h' line='160' column='1' id='type-id-63'/>
+    <typedef-decl name='__time_t' type-id='type-id-43' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='148' column='1' id='type-id-64'/>
     <!-- typedef long int __syscall_slong_t -->
-    <typedef-decl name='__syscall_slong_t' type-id='type-id-6' filepath='/usr/include/bits/types.h' line='197' column='1' id='type-id-64'/>
+    <typedef-decl name='__syscall_slong_t' type-id='type-id-43' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='184' column='1' id='type-id-65'/>
     <!-- const timespec -->
-    <qualified-type-def type-id='type-id-62' const='yes' id='type-id-65'/>
+    <qualified-type-def type-id='type-id-63' const='yes' id='type-id-66'/>
     <!-- const timespec* -->
-    <pointer-type-def type-id='type-id-65' size-in-bits='64' id='type-id-66'/>
-    <!-- int32_t* -->
-    <pointer-type-def type-id='type-id-11' size-in-bits='64' id='type-id-67'/>
-    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
-    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-33' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
-    <!-- pthread_cond_t __urcu_compat_futex_cond -->
-    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-58' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
+    <pointer-type-def type-id='type-id-66' size-in-bits='64' id='type-id-67'/>
     <!-- int compat_futex_async(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
     <function-decl name='compat_futex_async' mangled-name='compat_futex_async' filepath='src/compat_futex.c' line='118' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_async'>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-4' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-3' name='val' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'const timespec*' -->
-      <parameter type-id='type-id-66' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-67' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val3' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-3' name='val3' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-decl>
     <!-- int compat_futex_noasync(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
     <function-decl name='compat_futex_noasync' mangled-name='compat_futex_noasync' filepath='src/compat_futex.c' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_noasync'>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-4' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-3' name='val' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'const timespec*' -->
-      <parameter type-id='type-id-66' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-67' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val3' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-3' name='val3' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-decl>
   </abi-instr>
 </abi-corpus>
index b97b4c497f21b99ec44f50c647c5e72a09ac3642..4947c353dcaac73830a2c687121c9c6b4db86786 100644 (file)
@@ -1,11 +1,14 @@
 <abi-corpus architecture='elf-amd-x86_64' soname='liburcu-memb.so.6'>
   <elf-needed>
-    <dependency name='liburcu-common.so.6'/>
     <dependency name='libpthread.so.0'/>
     <dependency name='libc.so.6'/>
     <dependency name='ld-linux-x86-64.so.2'/>
   </elf-needed>
   <elf-function-symbols>
+    <!-- _fini -->
+    <elf-symbol name='_fini' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- _init -->
+    <elf-symbol name='_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- call_rcu_after_fork_child_memb -->
     <elf-symbol name='call_rcu_after_fork_child_memb' type='func-type' binding='global-binding' visibility='default-visibility' alias='urcu_memb_call_rcu_after_fork_child' is-defined='yes'/>
     <!-- call_rcu_after_fork_parent_memb -->
     <elf-symbol name='urcu_memb_reader' size='256' type='tls-type' binding='global-binding' visibility='default-visibility' alias='rcu_reader_memb' is-defined='yes'/>
   </elf-variable-symbols>
   <abi-instr version='1.0' address-size='64' path='urcu.c' comp-dir-path='src' language='LANG_C99'>
-
-    <!-- char -->
-    <type-decl name='char' size-in-bits='8' id='type-id-1'/>
-    <!-- char[40] -->
-    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='320' id='type-id-2'>
-      <!-- <anonymous range>[40] -->
-      <subrange length='40' type-id='type-id-3' id='type-id-4'/>
-
-    </array-type-def>
     <!-- int -->
-    <type-decl name='int' size-in-bits='32' id='type-id-5'/>
-    <!-- long int -->
-    <type-decl name='long int' size-in-bits='64' id='type-id-6'/>
-    <!-- short int -->
-    <type-decl name='short int' size-in-bits='16' id='type-id-7'/>
-    <!-- unsigned int -->
-    <type-decl name='unsigned int' size-in-bits='32' id='type-id-8'/>
-    <!-- unsigned long int -->
-    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-3'/>
-    <!-- void -->
-    <type-decl name='void' id='type-id-9'/>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <!-- int urcu_memb_has_sys_membarrier -->
+    <var-decl name='urcu_memb_has_sys_membarrier' type-id='type-id-1' mangled-name='rcu_has_sys_membarrier_memb' visibility='default' filepath='../include/urcu/static/urcu-memb.h' line='72' column='1' elf-symbol-id='rcu_has_sys_membarrier_memb'/>
     <!-- struct urcu_gp -->
-    <class-decl name='urcu_gp' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='67' column='1' id='type-id-10'>
+    <class-decl name='urcu_gp' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='67' column='1' id='type-id-2'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned long int urcu_gp::ctr -->
         <var-decl name='ctr' type-id='type-id-3' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='75' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- int32_t urcu_gp::futex -->
-        <var-decl name='futex' type-id='type-id-11' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='77' column='1'/>
+        <var-decl name='futex' type-id='type-id-4' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='77' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __int32_t int32_t -->
-    <typedef-decl name='int32_t' type-id='type-id-12' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-11'/>
+    <!-- unsigned long int -->
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-3'/>
     <!-- typedef int __int32_t -->
-    <typedef-decl name='__int32_t' type-id='type-id-5' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-12'/>
+    <typedef-decl name='__int32_t' type-id='type-id-1' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='40' column='1' id='type-id-5'/>
+    <!-- typedef __int32_t int32_t -->
+    <typedef-decl name='int32_t' type-id='type-id-5' filepath='/usr/include/x86_64-linux-gnu/bits/stdint-intn.h' line='26' column='1' id='type-id-4'/>
+    <!-- urcu_gp urcu_memb_gp -->
+    <var-decl name='urcu_memb_gp' type-id='type-id-2' mangled-name='urcu_memb_gp' visibility='default' filepath='../include/urcu/static/urcu-memb.h' line='83' column='1' elf-symbol-id='urcu_memb_gp'/>
     <!-- struct urcu_reader -->
-    <class-decl name='urcu_reader' size-in-bits='2048' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='80' column='1' id='type-id-13'>
+    <class-decl name='urcu_reader' size-in-bits='2048' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='80' column='1' id='type-id-6'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned long int urcu_reader::ctr -->
         <var-decl name='ctr' type-id='type-id-3' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='82' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- char urcu_reader::need_mb -->
-        <var-decl name='need_mb' type-id='type-id-1' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='83' column='1'/>
+        <var-decl name='need_mb' type-id='type-id-7' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='83' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1024'>
         <!-- cds_list_head urcu_reader::node -->
-        <var-decl name='node' type-id='type-id-14' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='85' column='1'/>
+        <var-decl name='node' type-id='type-id-8' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='85' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1152'>
         <!-- pthread_t urcu_reader::tid -->
-        <var-decl name='tid' type-id='type-id-15' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='86' column='1'/>
+        <var-decl name='tid' type-id='type-id-9' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='86' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='31'>
         <!-- unsigned int urcu_reader::registered -->
-        <var-decl name='registered' type-id='type-id-8' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='88' column='1'/>
+        <var-decl name='registered' type-id='type-id-10' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='88' column='1'/>
       </data-member>
     </class-decl>
+    <!-- char -->
+    <type-decl name='char' size-in-bits='8' id='type-id-7'/>
     <!-- struct cds_list_head -->
-    <class-decl name='cds_list_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/list.h' line='37' column='1' id='type-id-14'>
+    <class-decl name='cds_list_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/list.h' line='37' column='1' id='type-id-8'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_list_head* cds_list_head::next -->
-        <var-decl name='next' type-id='type-id-16' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
+        <var-decl name='next' type-id='type-id-11' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- cds_list_head* cds_list_head::prev -->
-        <var-decl name='prev' type-id='type-id-16' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
+        <var-decl name='prev' type-id='type-id-11' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_list_head* -->
+    <pointer-type-def type-id='type-id-8' size-in-bits='64' id='type-id-11'/>
     <!-- typedef unsigned long int pthread_t -->
-    <typedef-decl name='pthread_t' type-id='type-id-3' filepath='/usr/include/bits/pthreadtypes.h' line='27' column='1' id='type-id-15'/>
+    <typedef-decl name='pthread_t' type-id='type-id-3' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='27' column='1' id='type-id-9'/>
+    <!-- unsigned int -->
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-10'/>
+    <!-- urcu_reader urcu_memb_reader -->
+    <var-decl name='urcu_memb_reader' type-id='type-id-6' mangled-name='urcu_memb_reader' visibility='default' filepath='../include/urcu/static/urcu-memb.h' line='85' column='1' elf-symbol-id='urcu_memb_reader'/>
     <!-- struct rcu_flavor_struct -->
-    <class-decl name='rcu_flavor_struct' size-in-bits='896' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='42' column='1' id='type-id-17'>
+    <class-decl name='rcu_flavor_struct' size-in-bits='896' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='42' column='1' id='type-id-12'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- void ()* rcu_flavor_struct::read_lock -->
-        <var-decl name='read_lock' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='43' column='1'/>
+        <var-decl name='read_lock' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='43' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void ()* rcu_flavor_struct::read_unlock -->
-        <var-decl name='read_unlock' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='44' column='1'/>
+        <var-decl name='read_unlock' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='44' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- int ()* rcu_flavor_struct::read_ongoing -->
-        <var-decl name='read_ongoing' type-id='type-id-19' visibility='default' filepath='../include/urcu/flavor.h' line='45' column='1'/>
+        <var-decl name='read_ongoing' type-id='type-id-14' visibility='default' filepath='../include/urcu/flavor.h' line='45' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- void ()* rcu_flavor_struct::read_quiescent_state -->
-        <var-decl name='read_quiescent_state' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='46' column='1'/>
+        <var-decl name='read_quiescent_state' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='46' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- void (rcu_head*, void (rcu_head*)*)* rcu_flavor_struct::update_call_rcu -->
-        <var-decl name='update_call_rcu' type-id='type-id-20' visibility='default' filepath='../include/urcu/flavor.h' line='47' column='1'/>
+        <var-decl name='update_call_rcu' type-id='type-id-15' visibility='default' filepath='../include/urcu/flavor.h' line='47' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
         <!-- void ()* rcu_flavor_struct::update_synchronize_rcu -->
-        <var-decl name='update_synchronize_rcu' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='49' column='1'/>
+        <var-decl name='update_synchronize_rcu' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='49' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='384'>
         <!-- void (void (void*)*, void*)* rcu_flavor_struct::update_defer_rcu -->
-        <var-decl name='update_defer_rcu' type-id='type-id-21' visibility='default' filepath='../include/urcu/flavor.h' line='50' column='1'/>
+        <var-decl name='update_defer_rcu' type-id='type-id-16' visibility='default' filepath='../include/urcu/flavor.h' line='50' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='448'>
         <!-- void ()* rcu_flavor_struct::thread_offline -->
-        <var-decl name='thread_offline' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='52' column='1'/>
+        <var-decl name='thread_offline' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='52' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='512'>
         <!-- void ()* rcu_flavor_struct::thread_online -->
-        <var-decl name='thread_online' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='53' column='1'/>
+        <var-decl name='thread_online' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='53' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='576'>
         <!-- void ()* rcu_flavor_struct::register_thread -->
-        <var-decl name='register_thread' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='54' column='1'/>
+        <var-decl name='register_thread' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='54' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='640'>
         <!-- void ()* rcu_flavor_struct::unregister_thread -->
-        <var-decl name='unregister_thread' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='55' column='1'/>
+        <var-decl name='unregister_thread' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='55' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='704'>
         <!-- void ()* rcu_flavor_struct::barrier -->
-        <var-decl name='barrier' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='57' column='1'/>
+        <var-decl name='barrier' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='57' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='768'>
         <!-- void (urcu_atfork*)* rcu_flavor_struct::register_rculfhash_atfork -->
-        <var-decl name='register_rculfhash_atfork' type-id='type-id-22' visibility='default' filepath='../include/urcu/flavor.h' line='59' column='1'/>
+        <var-decl name='register_rculfhash_atfork' type-id='type-id-17' visibility='default' filepath='../include/urcu/flavor.h' line='59' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='832'>
         <!-- void (urcu_atfork*)* rcu_flavor_struct::unregister_rculfhash_atfork -->
-        <var-decl name='unregister_rculfhash_atfork' type-id='type-id-22' visibility='default' filepath='../include/urcu/flavor.h' line='60' column='1'/>
+        <var-decl name='unregister_rculfhash_atfork' type-id='type-id-17' visibility='default' filepath='../include/urcu/flavor.h' line='60' column='1'/>
       </data-member>
     </class-decl>
+    <!-- void -->
+    <type-decl name='void' id='type-id-18'/>
+    <!-- void ()* -->
+    <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-13'/>
+    <!-- int ()* -->
+    <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-14'/>
     <!-- struct rcu_head -->
-    <class-decl name='rcu_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/call-rcu.h' line='57' column='1' id='type-id-23'>
+    <class-decl name='rcu_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/call-rcu.h' line='57' column='1' id='type-id-21'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node rcu_head::next -->
-        <var-decl name='next' type-id='type-id-24' visibility='default' filepath='../include/urcu/call-rcu.h' line='58' column='1'/>
+        <var-decl name='next' type-id='type-id-22' visibility='default' filepath='../include/urcu/call-rcu.h' line='58' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void (rcu_head*)* rcu_head::func -->
-        <var-decl name='func' type-id='type-id-25' visibility='default' filepath='../include/urcu/call-rcu.h' line='59' column='1'/>
+        <var-decl name='func' type-id='type-id-23' visibility='default' filepath='../include/urcu/call-rcu.h' line='59' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_node -->
-    <class-decl name='cds_wfcq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='59' column='1' id='type-id-24'>
+    <class-decl name='cds_wfcq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='59' column='1' id='type-id-22'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node* cds_wfcq_node::next -->
-        <var-decl name='next' type-id='type-id-26' visibility='default' filepath='../include/urcu/wfcqueue.h' line='60' column='1'/>
+        <var-decl name='next' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='60' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_wfcq_node* -->
+    <pointer-type-def type-id='type-id-22' size-in-bits='64' id='type-id-24'/>
+    <!-- rcu_head* -->
+    <pointer-type-def type-id='type-id-21' size-in-bits='64' id='type-id-25'/>
+    <!-- void (rcu_head*)* -->
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-23'/>
+    <!-- void (rcu_head*, void (rcu_head*)*)* -->
+    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-15'/>
+    <!-- void* -->
+    <pointer-type-def type-id='type-id-18' size-in-bits='64' id='type-id-28'/>
+    <!-- void (void*)* -->
+    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-30'/>
+    <!-- void (void (void*)*, void*)* -->
+    <pointer-type-def type-id='type-id-31' size-in-bits='64' id='type-id-16'/>
     <!-- struct urcu_atfork -->
-    <class-decl name='urcu_atfork' size-in-bits='256' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='32' column='1' id='type-id-27'>
+    <class-decl name='urcu_atfork' size-in-bits='256' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='32' column='1' id='type-id-32'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- void (void*)* urcu_atfork::before_fork -->
-        <var-decl name='before_fork' type-id='type-id-28' visibility='default' filepath='../include/urcu/flavor.h' line='33' column='1'/>
+        <var-decl name='before_fork' type-id='type-id-30' visibility='default' filepath='../include/urcu/flavor.h' line='33' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void (void*)* urcu_atfork::after_fork_parent -->
-        <var-decl name='after_fork_parent' type-id='type-id-28' visibility='default' filepath='../include/urcu/flavor.h' line='34' column='1'/>
+        <var-decl name='after_fork_parent' type-id='type-id-30' visibility='default' filepath='../include/urcu/flavor.h' line='34' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- void (void*)* urcu_atfork::after_fork_child -->
-        <var-decl name='after_fork_child' type-id='type-id-28' visibility='default' filepath='../include/urcu/flavor.h' line='35' column='1'/>
+        <var-decl name='after_fork_child' type-id='type-id-30' visibility='default' filepath='../include/urcu/flavor.h' line='35' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- void* urcu_atfork::priv -->
-        <var-decl name='priv' type-id='type-id-29' visibility='default' filepath='../include/urcu/flavor.h' line='36' column='1'/>
+        <var-decl name='priv' type-id='type-id-28' visibility='default' filepath='../include/urcu/flavor.h' line='36' column='1'/>
       </data-member>
     </class-decl>
+    <!-- urcu_atfork* -->
+    <pointer-type-def type-id='type-id-32' size-in-bits='64' id='type-id-33'/>
+    <!-- void (urcu_atfork*)* -->
+    <pointer-type-def type-id='type-id-34' size-in-bits='64' id='type-id-17'/>
+    <!-- const rcu_flavor_struct -->
+    <qualified-type-def type-id='type-id-12' const='yes' id='type-id-35'/>
+    <!-- const rcu_flavor_struct urcu_memb_flavor -->
+    <var-decl name='urcu_memb_flavor' type-id='type-id-35' mangled-name='rcu_flavor_memb' visibility='default' filepath='../include/urcu/flavor.h' line='90' column='1' elf-symbol-id='rcu_flavor_memb'/>
+    <!-- void urcu_memb_defer_exit() -->
+    <function-decl name='urcu_memb_defer_exit' mangled-name='urcu_memb_defer_exit' filepath='src/urcu-defer-impl.h' line='476' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_defer_exit'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_defer_unregister_thread() -->
+    <function-decl name='urcu_memb_defer_unregister_thread' mangled-name='rcu_defer_unregister_thread_memb' filepath='src/urcu-defer-impl.h' line='456' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_unregister_thread_memb'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- int urcu_memb_defer_register_thread() -->
+    <function-decl name='urcu_memb_defer_register_thread' mangled-name='urcu_memb_defer_register_thread' filepath='src/urcu-defer-impl.h' line='432' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_defer_register_thread'>
+      <!-- int -->
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <!-- void urcu_memb_defer_rcu(void (void*)*, void*) -->
+    <function-decl name='urcu_memb_defer_rcu' mangled-name='defer_rcu_memb' filepath='src/urcu-defer-impl.h' line='400' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='defer_rcu_memb'>
+      <!-- parameter of type 'void (void*)*' -->
+      <parameter type-id='type-id-30' name='fct' filepath='src/urcu-defer-impl.h' line='400' column='1'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-28' name='p' filepath='src/urcu-defer-impl.h' line='400' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_defer_barrier() -->
+    <function-decl name='urcu_memb_defer_barrier' mangled-name='rcu_defer_barrier_memb' filepath='src/urcu-defer-impl.h' line='284' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_barrier_memb'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_defer_barrier_thread() -->
+    <function-decl name='urcu_memb_defer_barrier_thread' mangled-name='rcu_defer_barrier_thread_memb' filepath='src/urcu-defer-impl.h' line='262' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_barrier_thread_memb'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_unregister_rculfhash_atfork(urcu_atfork*) -->
+    <function-decl name='urcu_memb_unregister_rculfhash_atfork' mangled-name='urcu_memb_unregister_rculfhash_atfork' filepath='src/urcu-call-rcu-impl.h' line='1056' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_unregister_rculfhash_atfork'>
+      <!-- parameter of type 'urcu_atfork*' -->
+      <parameter type-id='type-id-33' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1056' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_register_rculfhash_atfork(urcu_atfork*) -->
+    <function-decl name='urcu_memb_register_rculfhash_atfork' mangled-name='urcu_register_rculfhash_atfork_memb' filepath='src/urcu-call-rcu-impl.h' line='1044' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_register_rculfhash_atfork_memb'>
+      <!-- parameter of type 'urcu_atfork*' -->
+      <parameter type-id='type-id-33' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1056' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_call_rcu_after_fork_child() -->
+    <function-decl name='urcu_memb_call_rcu_after_fork_child' mangled-name='call_rcu_after_fork_child_memb' filepath='src/urcu-call-rcu-impl.h' line='1000' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_after_fork_child_memb'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_call_rcu_after_fork_parent() -->
+    <function-decl name='urcu_memb_call_rcu_after_fork_parent' mangled-name='urcu_memb_call_rcu_after_fork_parent' filepath='src/urcu-call-rcu-impl.h' line='976' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_call_rcu_after_fork_parent'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_call_rcu_before_fork() -->
+    <function-decl name='urcu_memb_call_rcu_before_fork' mangled-name='urcu_memb_call_rcu_before_fork' filepath='src/urcu-call-rcu-impl.h' line='947' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_call_rcu_before_fork'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_barrier() -->
+    <function-decl name='urcu_memb_barrier' mangled-name='rcu_barrier_memb' filepath='src/urcu-call-rcu-impl.h' line='874' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_barrier_memb'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_free_all_cpu_call_rcu_data() -->
+    <function-decl name='urcu_memb_free_all_cpu_call_rcu_data' mangled-name='urcu_memb_free_all_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='801' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_free_all_cpu_call_rcu_data'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
     <!-- struct call_rcu_data -->
-    <class-decl name='call_rcu_data' size-in-bits='1024' is-struct='yes' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='53' column='1' id='type-id-30'>
+    <class-decl name='call_rcu_data' size-in-bits='1024' is-struct='yes' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='53' column='1' id='type-id-36'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_tail call_rcu_data::cbs_tail -->
-        <var-decl name='cbs_tail' type-id='type-id-31' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='61' column='1'/>
+        <var-decl name='cbs_tail' type-id='type-id-37' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='61' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- cds_wfcq_head call_rcu_data::cbs_head -->
-        <var-decl name='cbs_head' type-id='type-id-32' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='62' column='1'/>
+        <var-decl name='cbs_head' type-id='type-id-38' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='62' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='448'>
         <!-- unsigned long int call_rcu_data::flags -->
       </data-member>
       <data-member access='public' layout-offset-in-bits='512'>
         <!-- int32_t call_rcu_data::futex -->
-        <var-decl name='futex' type-id='type-id-11' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='64' column='1'/>
+        <var-decl name='futex' type-id='type-id-4' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='64' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='576'>
         <!-- unsigned long int call_rcu_data::qlen -->
       </data-member>
       <data-member access='public' layout-offset-in-bits='640'>
         <!-- pthread_t call_rcu_data::tid -->
-        <var-decl name='tid' type-id='type-id-15' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='66' column='1'/>
+        <var-decl name='tid' type-id='type-id-9' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='66' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='704'>
         <!-- int call_rcu_data::cpu_affinity -->
-        <var-decl name='cpu_affinity' type-id='type-id-5' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='67' column='1'/>
+        <var-decl name='cpu_affinity' type-id='type-id-1' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='67' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='768'>
         <!-- unsigned long int call_rcu_data::gp_count -->
       </data-member>
       <data-member access='public' layout-offset-in-bits='832'>
         <!-- cds_list_head call_rcu_data::list -->
-        <var-decl name='list' type-id='type-id-14' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='69' column='1'/>
+        <var-decl name='list' type-id='type-id-8' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='69' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_tail -->
-    <class-decl name='cds_wfcq_tail' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='127' column='1' id='type-id-31'>
+    <class-decl name='cds_wfcq_tail' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='127' column='1' id='type-id-37'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node* cds_wfcq_tail::p -->
-        <var-decl name='p' type-id='type-id-26' visibility='default' filepath='../include/urcu/wfcqueue.h' line='128' column='1'/>
+        <var-decl name='p' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='128' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_head -->
-    <class-decl name='cds_wfcq_head' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='72' column='1' id='type-id-32'>
+    <class-decl name='cds_wfcq_head' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='72' column='1' id='type-id-38'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node cds_wfcq_head::node -->
-        <var-decl name='node' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='73' column='1'/>
+        <var-decl name='node' type-id='type-id-22' visibility='default' filepath='../include/urcu/wfcqueue.h' line='73' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- pthread_mutex_t cds_wfcq_head::lock -->
-        <var-decl name='lock' type-id='type-id-33' visibility='default' filepath='../include/urcu/wfcqueue.h' line='74' column='1'/>
+        <var-decl name='lock' type-id='type-id-39' visibility='default' filepath='../include/urcu/wfcqueue.h' line='74' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __anonymous_union__ pthread_mutex_t -->
-    <typedef-decl name='pthread_mutex_t' type-id='type-id-34' filepath='/usr/include/bits/pthreadtypes.h' line='72' column='1' id='type-id-33'/>
-    <!-- union {__pthread_mutex_s __data; char __size[40]; long int __align;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='67' column='1' id='type-id-34'>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='67' column='1' id='type-id-40'>
       <data-member access='private'>
-        <!-- __pthread_mutex_s __data -->
-        <var-decl name='__data' type-id='type-id-35' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='69' column='1'/>
+        <!-- __pthread_mutex_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-41' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='69' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- char __size[40] -->
-        <var-decl name='__size' type-id='type-id-2' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='70' column='1'/>
+        <!-- char __anonymous_union__::__size[40] -->
+        <var-decl name='__size' type-id='type-id-42' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='70' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- long int __align -->
-        <var-decl name='__align' type-id='type-id-6' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='71' column='1'/>
+        <!-- long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-43' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='71' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __pthread_mutex_s -->
-    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='22' column='1' id='type-id-35'>
+    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='118' column='1' id='type-id-41'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- int __pthread_mutex_s::__lock -->
-        <var-decl name='__lock' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='24' column='1'/>
+        <var-decl name='__lock' type-id='type-id-1' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='120' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='32'>
         <!-- unsigned int __pthread_mutex_s::__count -->
-        <var-decl name='__count' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='25' column='1'/>
+        <var-decl name='__count' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='121' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- int __pthread_mutex_s::__owner -->
-        <var-decl name='__owner' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='26' column='1'/>
+        <var-decl name='__owner' type-id='type-id-1' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='122' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='96'>
         <!-- unsigned int __pthread_mutex_s::__nusers -->
-        <var-decl name='__nusers' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='28' column='1'/>
+        <var-decl name='__nusers' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='124' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- int __pthread_mutex_s::__kind -->
-        <var-decl name='__kind' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='32' column='1'/>
+        <var-decl name='__kind' type-id='type-id-1' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='148' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='160'>
         <!-- short int __pthread_mutex_s::__spins -->
-        <var-decl name='__spins' type-id='type-id-7' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='34' column='1'/>
+        <var-decl name='__spins' type-id='type-id-44' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='176'>
         <!-- short int __pthread_mutex_s::__elision -->
-        <var-decl name='__elision' type-id='type-id-7' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='35' column='1'/>
+        <var-decl name='__elision' type-id='type-id-44' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- __pthread_list_t __pthread_mutex_s::__list -->
-        <var-decl name='__list' type-id='type-id-36' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='36' column='1'/>
+        <var-decl name='__list' type-id='type-id-45' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='155' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __pthread_internal_list __pthread_list_t -->
-    <typedef-decl name='__pthread_list_t' type-id='type-id-37' filepath='/usr/include/bits/thread-shared-types.h' line='53' column='1' id='type-id-36'/>
+    <!-- short int -->
+    <type-decl name='short int' size-in-bits='16' id='type-id-44'/>
     <!-- struct __pthread_internal_list -->
-    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='49' column='1' id='type-id-37'>
+    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='82' column='1' id='type-id-46'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- __pthread_internal_list* __pthread_internal_list::__prev -->
-        <var-decl name='__prev' type-id='type-id-38' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='51' column='1'/>
+        <var-decl name='__prev' type-id='type-id-47' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='84' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- __pthread_internal_list* __pthread_internal_list::__next -->
-        <var-decl name='__next' type-id='type-id-38' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='52' column='1'/>
+        <var-decl name='__next' type-id='type-id-47' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='85' column='1'/>
       </data-member>
     </class-decl>
     <!-- __pthread_internal_list* -->
-    <pointer-type-def type-id='type-id-37' size-in-bits='64' id='type-id-38'/>
+    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-47'/>
+    <!-- typedef __pthread_internal_list __pthread_list_t -->
+    <typedef-decl name='__pthread_list_t' type-id='type-id-46' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='86' column='1' id='type-id-45'/>
+
+    <!-- char[40] -->
+    <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='320' id='type-id-42'>
+      <!-- <anonymous range>[40] -->
+      <subrange length='40' type-id='type-id-3' id='type-id-48'/>
+
+    </array-type-def>
+    <!-- long int -->
+    <type-decl name='long int' size-in-bits='64' id='type-id-43'/>
+    <!-- typedef __anonymous_union__ pthread_mutex_t -->
+    <typedef-decl name='pthread_mutex_t' type-id='type-id-40' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='72' column='1' id='type-id-39'/>
     <!-- call_rcu_data* -->
-    <pointer-type-def type-id='type-id-30' size-in-bits='64' id='type-id-39'/>
-    <!-- cds_list_head* -->
-    <pointer-type-def type-id='type-id-14' size-in-bits='64' id='type-id-16'/>
-    <!-- cds_wfcq_node* -->
-    <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-26'/>
-    <!-- const rcu_flavor_struct -->
-    <qualified-type-def type-id='type-id-17' const='yes' id='type-id-40'/>
-    <!-- int ()* -->
-    <pointer-type-def type-id='type-id-41' size-in-bits='64' id='type-id-19'/>
-    <!-- rcu_head* -->
-    <pointer-type-def type-id='type-id-23' size-in-bits='64' id='type-id-42'/>
-    <!-- urcu_atfork* -->
-    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-43'/>
-    <!-- void ()* -->
-    <pointer-type-def type-id='type-id-44' size-in-bits='64' id='type-id-18'/>
-    <!-- void (rcu_head*)* -->
-    <pointer-type-def type-id='type-id-45' size-in-bits='64' id='type-id-25'/>
-    <!-- void (rcu_head*, void (rcu_head*)*)* -->
-    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-20'/>
-    <!-- void (urcu_atfork*)* -->
-    <pointer-type-def type-id='type-id-47' size-in-bits='64' id='type-id-22'/>
-    <!-- void (void (void*)*, void*)* -->
-    <pointer-type-def type-id='type-id-48' size-in-bits='64' id='type-id-21'/>
-    <!-- void (void*)* -->
-    <pointer-type-def type-id='type-id-49' size-in-bits='64' id='type-id-28'/>
-    <!-- void* -->
-    <pointer-type-def type-id='type-id-9' size-in-bits='64' id='type-id-29'/>
-    <!-- int urcu_memb_has_sys_membarrier -->
-    <var-decl name='urcu_memb_has_sys_membarrier' type-id='type-id-5' mangled-name='rcu_has_sys_membarrier_memb' visibility='default' filepath='../include/urcu/static/urcu-memb.h' line='72' column='1' elf-symbol-id='rcu_has_sys_membarrier_memb'/>
-    <!-- urcu_gp urcu_memb_gp -->
-    <var-decl name='urcu_memb_gp' type-id='type-id-10' mangled-name='urcu_memb_gp' visibility='default' filepath='../include/urcu/static/urcu-memb.h' line='83' column='1' elf-symbol-id='urcu_memb_gp'/>
-    <!-- urcu_reader urcu_memb_reader -->
-    <var-decl name='urcu_memb_reader' type-id='type-id-13' mangled-name='urcu_memb_reader' visibility='default' filepath='../include/urcu/static/urcu-memb.h' line='85' column='1' elf-symbol-id='urcu_memb_reader'/>
-    <!-- const rcu_flavor_struct urcu_memb_flavor -->
-    <var-decl name='urcu_memb_flavor' type-id='type-id-40' mangled-name='rcu_flavor_memb' visibility='default' filepath='../include/urcu/flavor.h' line='90' column='1' elf-symbol-id='rcu_flavor_memb'/>
-    <!-- void urcu_memb_defer_exit() -->
-    <function-decl name='urcu_memb_defer_exit' mangled-name='urcu_memb_defer_exit' filepath='src/urcu-defer-impl.h' line='476' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_defer_exit'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_memb_defer_unregister_thread() -->
-    <function-decl name='urcu_memb_defer_unregister_thread' mangled-name='rcu_defer_unregister_thread_memb' filepath='src/urcu-defer-impl.h' line='456' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_unregister_thread_memb'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- int urcu_memb_defer_register_thread() -->
-    <function-decl name='urcu_memb_defer_register_thread' mangled-name='urcu_memb_defer_register_thread' filepath='src/urcu-defer-impl.h' line='432' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_defer_register_thread'>
-      <!-- int -->
-      <return type-id='type-id-5'/>
-    </function-decl>
-    <!-- void urcu_memb_defer_rcu(void (void*)*, void*) -->
-    <function-decl name='urcu_memb_defer_rcu' mangled-name='defer_rcu_memb' filepath='src/urcu-defer-impl.h' line='400' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='defer_rcu_memb'>
-      <!-- parameter of type 'void (void*)*' -->
-      <parameter type-id='type-id-28' name='fct' filepath='src/urcu-defer-impl.h' line='400' column='1'/>
-      <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='p' filepath='src/urcu-defer-impl.h' line='400' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_memb_defer_barrier() -->
-    <function-decl name='urcu_memb_defer_barrier' mangled-name='rcu_defer_barrier_memb' filepath='src/urcu-defer-impl.h' line='284' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_barrier_memb'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_memb_defer_barrier_thread() -->
-    <function-decl name='urcu_memb_defer_barrier_thread' mangled-name='rcu_defer_barrier_thread_memb' filepath='src/urcu-defer-impl.h' line='262' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_barrier_thread_memb'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_memb_unregister_rculfhash_atfork(urcu_atfork*) -->
-    <function-decl name='urcu_memb_unregister_rculfhash_atfork' mangled-name='urcu_memb_unregister_rculfhash_atfork' filepath='src/urcu-call-rcu-impl.h' line='1056' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_unregister_rculfhash_atfork'>
-      <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-43' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1056' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_memb_register_rculfhash_atfork(urcu_atfork*) -->
-    <function-decl name='urcu_memb_register_rculfhash_atfork' mangled-name='urcu_register_rculfhash_atfork_memb' filepath='src/urcu-call-rcu-impl.h' line='1044' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_register_rculfhash_atfork_memb'>
-      <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-43' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1044' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_memb_call_rcu_after_fork_child() -->
-    <function-decl name='urcu_memb_call_rcu_after_fork_child' mangled-name='call_rcu_after_fork_child_memb' filepath='src/urcu-call-rcu-impl.h' line='1000' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_after_fork_child_memb'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_memb_call_rcu_after_fork_parent() -->
-    <function-decl name='urcu_memb_call_rcu_after_fork_parent' mangled-name='urcu_memb_call_rcu_after_fork_parent' filepath='src/urcu-call-rcu-impl.h' line='976' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_call_rcu_after_fork_parent'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_memb_call_rcu_before_fork() -->
-    <function-decl name='urcu_memb_call_rcu_before_fork' mangled-name='urcu_memb_call_rcu_before_fork' filepath='src/urcu-call-rcu-impl.h' line='947' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_call_rcu_before_fork'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_memb_barrier() -->
-    <function-decl name='urcu_memb_barrier' mangled-name='rcu_barrier_memb' filepath='src/urcu-call-rcu-impl.h' line='874' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_barrier_memb'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_memb_free_all_cpu_call_rcu_data() -->
-    <function-decl name='urcu_memb_free_all_cpu_call_rcu_data' mangled-name='urcu_memb_free_all_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='801' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_free_all_cpu_call_rcu_data'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
+    <pointer-type-def type-id='type-id-36' size-in-bits='64' id='type-id-49'/>
     <!-- void urcu_memb_call_rcu_data_free(call_rcu_data*) -->
     <function-decl name='urcu_memb_call_rcu_data_free' mangled-name='urcu_memb_call_rcu_data_free' filepath='src/urcu-call-rcu-impl.h' line='764' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_call_rcu_data_free'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='764' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='764' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void urcu_memb_call_rcu(rcu_head*, void (rcu_head*)*) -->
     <function-decl name='urcu_memb_call_rcu' mangled-name='urcu_memb_call_rcu' filepath='src/urcu-call-rcu-impl.h' line='725' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_call_rcu'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42' name='head' filepath='src/urcu-call-rcu-impl.h' line='725' column='1'/>
+      <parameter type-id='type-id-25' name='head' filepath='src/urcu-call-rcu-impl.h' line='725' column='1'/>
       <!-- parameter of type 'void (rcu_head*)*' -->
-      <parameter type-id='type-id-25' name='func' filepath='src/urcu-call-rcu-impl.h' line='726' column='1'/>
+      <parameter type-id='type-id-23' name='func' filepath='src/urcu-call-rcu-impl.h' line='726' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- int urcu_memb_create_all_cpu_call_rcu_data(unsigned long int) -->
     <function-decl name='urcu_memb_create_all_cpu_call_rcu_data' mangled-name='create_all_cpu_call_rcu_data_memb' filepath='src/urcu-call-rcu-impl.h' line='645' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='create_all_cpu_call_rcu_data_memb'>
       <!-- parameter of type 'unsigned long int' -->
       <parameter type-id='type-id-3' name='flags' filepath='src/urcu-call-rcu-impl.h' line='645' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
     </function-decl>
     <!-- void urcu_memb_set_thread_call_rcu_data(call_rcu_data*) -->
     <function-decl name='urcu_memb_set_thread_call_rcu_data' mangled-name='set_thread_call_rcu_data_memb' filepath='src/urcu-call-rcu-impl.h' line='630' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='set_thread_call_rcu_data_memb'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='630' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='630' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- call_rcu_data* urcu_memb_get_thread_call_rcu_data() -->
     <function-decl name='urcu_memb_get_thread_call_rcu_data' mangled-name='get_thread_call_rcu_data_memb' filepath='src/urcu-call-rcu-impl.h' line='612' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_thread_call_rcu_data_memb'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- call_rcu_data* urcu_memb_get_call_rcu_data() -->
     <function-decl name='urcu_memb_get_call_rcu_data' mangled-name='get_call_rcu_data_memb' filepath='src/urcu-call-rcu-impl.h' line='590' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_call_rcu_data_memb'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- call_rcu_data* urcu_memb_get_default_call_rcu_data() -->
     <function-decl name='urcu_memb_get_default_call_rcu_data' mangled-name='urcu_memb_get_default_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='563' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_get_default_call_rcu_data'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- int urcu_memb_set_cpu_call_rcu_data(int, call_rcu_data*) -->
     <function-decl name='urcu_memb_set_cpu_call_rcu_data' mangled-name='urcu_memb_set_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='522' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_set_cpu_call_rcu_data'>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='522' column='1'/>
+      <parameter type-id='type-id-1' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='522' column='1'/>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='522' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='522' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
     </function-decl>
     <!-- call_rcu_data* urcu_memb_create_call_rcu_data(unsigned long int, int) -->
     <function-decl name='urcu_memb_create_call_rcu_data' mangled-name='urcu_memb_create_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='498' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_create_call_rcu_data'>
       <!-- parameter of type 'unsigned long int' -->
       <parameter type-id='type-id-3' name='flags' filepath='src/urcu-call-rcu-impl.h' line='498' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu_affinity' filepath='src/urcu-call-rcu-impl.h' line='499' column='1'/>
+      <parameter type-id='type-id-1' name='cpu_affinity' filepath='src/urcu-call-rcu-impl.h' line='499' column='1'/>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- pthread_t urcu_memb_get_call_rcu_thread(call_rcu_data*) -->
     <function-decl name='urcu_memb_get_call_rcu_thread' mangled-name='urcu_memb_get_call_rcu_thread' filepath='src/urcu-call-rcu-impl.h' line='476' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_get_call_rcu_thread'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='476' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='476' column='1'/>
       <!-- typedef pthread_t -->
-      <return type-id='type-id-15'/>
+      <return type-id='type-id-9'/>
     </function-decl>
     <!-- call_rcu_data* urcu_memb_get_cpu_call_rcu_data(int) -->
     <function-decl name='urcu_memb_get_cpu_call_rcu_data' mangled-name='get_cpu_call_rcu_data_memb' filepath='src/urcu-call-rcu-impl.h' line='452' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_cpu_call_rcu_data_memb'>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='452' column='1'/>
+      <parameter type-id='type-id-1' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='452' column='1'/>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- void urcu_memb_init() -->
     <function-decl name='urcu_memb_init' mangled-name='rcu_init_memb' filepath='src/urcu.c' line='613' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_init_memb'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void urcu_memb_unregister_thread() -->
     <function-decl name='urcu_memb_unregister_thread' mangled-name='urcu_memb_unregister_thread' filepath='src/urcu.c' line='563' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_unregister_thread'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void urcu_memb_register_thread() -->
     <function-decl name='urcu_memb_register_thread' mangled-name='urcu_memb_register_thread' filepath='src/urcu.c' line='547' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_register_thread'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- int urcu_memb_read_ongoing() -->
     <function-decl name='urcu_memb_read_ongoing' mangled-name='urcu_memb_read_ongoing' filepath='src/urcu.c' line='540' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_read_ongoing'>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
     </function-decl>
     <!-- void urcu_memb_read_unlock() -->
     <function-decl name='urcu_memb_read_unlock' mangled-name='urcu_memb_read_unlock' filepath='src/urcu.c' line='533' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_read_unlock'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void urcu_memb_read_lock() -->
     <function-decl name='urcu_memb_read_lock' mangled-name='rcu_read_lock_memb' filepath='src/urcu.c' line='526' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_read_lock_memb'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void urcu_memb_synchronize_rcu() -->
     <function-decl name='urcu_memb_synchronize_rcu' mangled-name='urcu_memb_synchronize_rcu' filepath='src/urcu.c' line='403' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_synchronize_rcu'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- int () -->
-    <function-type size-in-bits='64' id='type-id-41'>
+    <function-type size-in-bits='64' id='type-id-20'>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
     </function-type>
     <!-- void () -->
-    <function-type size-in-bits='64' id='type-id-44'>
+    <function-type size-in-bits='64' id='type-id-19'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (rcu_head*) -->
-    <function-type size-in-bits='64' id='type-id-45'>
+    <function-type size-in-bits='64' id='type-id-26'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42'/>
+      <parameter type-id='type-id-25'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (rcu_head*, void (rcu_head*)*) -->
-    <function-type size-in-bits='64' id='type-id-46'>
+    <function-type size-in-bits='64' id='type-id-27'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42'/>
-      <!-- parameter of type 'void (rcu_head*)*' -->
       <parameter type-id='type-id-25'/>
+      <!-- parameter of type 'void (rcu_head*)*' -->
+      <parameter type-id='type-id-23'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (urcu_atfork*) -->
-    <function-type size-in-bits='64' id='type-id-47'>
+    <function-type size-in-bits='64' id='type-id-34'>
       <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-43'/>
+      <parameter type-id='type-id-33'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (void (void*)*, void*) -->
-    <function-type size-in-bits='64' id='type-id-48'>
+    <function-type size-in-bits='64' id='type-id-31'>
       <!-- parameter of type 'void (void*)*' -->
-      <parameter type-id='type-id-28'/>
+      <parameter type-id='type-id-30'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29'/>
+      <parameter type-id='type-id-28'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (void*) -->
-    <function-type size-in-bits='64' id='type-id-49'>
+    <function-type size-in-bits='64' id='type-id-29'>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29'/>
+      <parameter type-id='type-id-28'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='urcu-pointer.c' comp-dir-path='src' language='LANG_C99'>
     <!-- void** -->
-    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-50'/>
+    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-50'/>
     <!-- void* rcu_cmpxchg_pointer_sym(void**, void*, void*) -->
     <function-decl name='rcu_cmpxchg_pointer_sym' mangled-name='rcu_cmpxchg_pointer_sym' filepath='src/urcu-pointer.c' line='53' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_cmpxchg_pointer_sym'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='53' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='old' filepath='src/urcu-pointer.c' line='53' column='1'/>
+      <parameter type-id='type-id-28' name='old' filepath='src/urcu-pointer.c' line='53' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='_new' filepath='src/urcu-pointer.c' line='53' column='1'/>
+      <parameter type-id='type-id-28' name='_new' filepath='src/urcu-pointer.c' line='53' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-28'/>
     </function-decl>
     <!-- void* rcu_xchg_pointer_sym(void**, void*) -->
     <function-decl name='rcu_xchg_pointer_sym' mangled-name='rcu_xchg_pointer_sym' filepath='src/urcu-pointer.c' line='47' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_xchg_pointer_sym'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='47' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='v' filepath='src/urcu-pointer.c' line='47' column='1'/>
+      <parameter type-id='type-id-28' name='v' filepath='src/urcu-pointer.c' line='47' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-28'/>
     </function-decl>
     <!-- void* rcu_set_pointer_sym(void**, void*) -->
     <function-decl name='rcu_set_pointer_sym' mangled-name='rcu_set_pointer_sym' filepath='src/urcu-pointer.c' line='40' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_set_pointer_sym'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='40' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='v' filepath='src/urcu-pointer.c' line='40' column='1'/>
+      <parameter type-id='type-id-28' name='v' filepath='src/urcu-pointer.c' line='40' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-28'/>
     </function-decl>
     <!-- void* rcu_dereference_sym(void*) -->
     <function-decl name='rcu_dereference_sym' mangled-name='rcu_dereference_sym' filepath='src/urcu-pointer.c' line='35' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_dereference_sym'>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='p' filepath='src/urcu-pointer.c' line='35' column='1'/>
+      <parameter type-id='type-id-28' name='p' filepath='src/urcu-pointer.c' line='35' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-28'/>
     </function-decl>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='compat_futex.c' comp-dir-path='src' language='LANG_C99'>
-
-
-    <!-- char[48] -->
-    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='384' id='type-id-51'>
-      <!-- <anonymous range>[48] -->
-      <subrange length='48' type-id='type-id-3' id='type-id-52'/>
-
-    </array-type-def>
-    <!-- long long int -->
-    <type-decl name='long long int' size-in-bits='64' id='type-id-53'/>
-    <!-- long long unsigned int -->
-    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-54'/>
-    <!-- unsigned int[2] -->
-    <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='64' id='type-id-55'>
-      <!-- <anonymous range>[2] -->
-      <subrange length='2' type-id='type-id-3' id='type-id-56'/>
-
-    </array-type-def>
-    <!-- typedef __anonymous_union__ pthread_cond_t -->
-    <typedef-decl name='pthread_cond_t' type-id='type-id-57' filepath='/usr/include/bits/pthreadtypes.h' line='80' column='1' id='type-id-58'/>
-    <!-- union {__pthread_cond_s __data; char __size[48]; long long int __align;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='75' column='1' id='type-id-57'>
+    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
+    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-39' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='75' column='1' id='type-id-51'>
       <data-member access='private'>
-        <!-- __pthread_cond_s __data -->
-        <var-decl name='__data' type-id='type-id-59' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='77' column='1'/>
+        <!-- __pthread_cond_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-52' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='77' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- char __size[48] -->
-        <var-decl name='__size' type-id='type-id-51' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='78' column='1'/>
+        <!-- char __anonymous_union__::__size[48] -->
+        <var-decl name='__size' type-id='type-id-53' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='78' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- long long int __align -->
-        <var-decl name='__align' type-id='type-id-53' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='79' column='1'/>
+        <!-- long long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-54' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='79' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __pthread_cond_s -->
-    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='92' column='1' id='type-id-59'>
+    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='171' column='1' id='type-id-52'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <!-- union {long long unsigned int __wseq; struct {unsigned int __low; unsigned int __high;} __wseq32;} -->
-        <var-decl name='' type-id='type-id-60' visibility='default'/>
+        <!-- __anonymous_union__  -->
+        <var-decl name='' type-id='type-id-55' visibility='default'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- unsigned int __pthread_cond_s::__g_refs[2] -->
-        <var-decl name='__g_refs' type-id='type-id-55' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='112' column='1'/>
+        <var-decl name='__g_refs' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='191' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- unsigned int __pthread_cond_s::__g_size[2] -->
-        <var-decl name='__g_size' type-id='type-id-55' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='113' column='1'/>
+        <var-decl name='__g_size' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='192' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- unsigned int __pthread_cond_s::__g1_orig_size -->
-        <var-decl name='__g1_orig_size' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='114' column='1'/>
+        <var-decl name='__g1_orig_size' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='193' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='288'>
         <!-- unsigned int __pthread_cond_s::__wrefs -->
-        <var-decl name='__wrefs' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='115' column='1'/>
+        <var-decl name='__wrefs' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='194' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
         <!-- unsigned int __pthread_cond_s::__g_signals[2] -->
-        <var-decl name='__g_signals' type-id='type-id-55' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='116' column='1'/>
+        <var-decl name='__g_signals' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='195' column='1'/>
       </data-member>
     </class-decl>
-    <!-- union {long long unsigned int __wseq; struct {unsigned int __low; unsigned int __high;} __wseq32;} -->
-    <union-decl name='__anonymous_union__1' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='94' column='1' id='type-id-60'>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='173' column='1' id='type-id-55'>
       <data-member access='private'>
-        <!-- long long unsigned int __wseq -->
-        <var-decl name='__wseq' type-id='type-id-54' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='96' column='1'/>
+        <!-- long long unsigned int __anonymous_union__::__wseq -->
+        <var-decl name='__wseq' type-id='type-id-57' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='175' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- struct {unsigned int __low; unsigned int __high;} __wseq32 -->
-        <var-decl name='__wseq32' type-id='type-id-61' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='101' column='1'/>
+        <!-- __anonymous_struct__ __anonymous_union__::__wseq32 -->
+        <var-decl name='__wseq32' type-id='type-id-58' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='180' column='1'/>
       </data-member>
     </union-decl>
-    <!-- struct {unsigned int __low; unsigned int __high;} -->
-    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='97' column='1' id='type-id-61'>
+    <!-- long long unsigned int -->
+    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-57'/>
+    <!-- struct __anonymous_struct__ -->
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='176' column='1' id='type-id-58'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <!-- unsigned int __low -->
-        <var-decl name='__low' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='99' column='1'/>
+        <!-- unsigned int __anonymous_struct__::__low -->
+        <var-decl name='__low' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='178' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='32'>
-        <!-- unsigned int __high -->
-        <var-decl name='__high' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='100' column='1'/>
+        <!-- unsigned int __anonymous_struct__::__high -->
+        <var-decl name='__high' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='179' column='1'/>
       </data-member>
     </class-decl>
+
+    <!-- unsigned int[2] -->
+    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='64' id='type-id-56'>
+      <!-- <anonymous range>[2] -->
+      <subrange length='2' type-id='type-id-3' id='type-id-59'/>
+
+    </array-type-def>
+
+    <!-- char[48] -->
+    <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='384' id='type-id-53'>
+      <!-- <anonymous range>[48] -->
+      <subrange length='48' type-id='type-id-3' id='type-id-60'/>
+
+    </array-type-def>
+    <!-- long long int -->
+    <type-decl name='long long int' size-in-bits='64' id='type-id-54'/>
+    <!-- typedef __anonymous_union__ pthread_cond_t -->
+    <typedef-decl name='pthread_cond_t' type-id='type-id-51' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='80' column='1' id='type-id-61'/>
+    <!-- pthread_cond_t __urcu_compat_futex_cond -->
+    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-61' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
+    <!-- int32_t* -->
+    <pointer-type-def type-id='type-id-4' size-in-bits='64' id='type-id-62'/>
     <!-- struct timespec -->
-    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='10' column='1' id='type-id-62'>
+    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='9' column='1' id='type-id-63'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- __time_t timespec::tv_sec -->
-        <var-decl name='tv_sec' type-id='type-id-63' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='12' column='1'/>
+        <var-decl name='tv_sec' type-id='type-id-64' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='11' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- __syscall_slong_t timespec::tv_nsec -->
-        <var-decl name='tv_nsec' type-id='type-id-64' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='16' column='1'/>
+        <var-decl name='tv_nsec' type-id='type-id-65' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='12' column='1'/>
       </data-member>
     </class-decl>
     <!-- typedef long int __time_t -->
-    <typedef-decl name='__time_t' type-id='type-id-6' filepath='/usr/include/bits/types.h' line='160' column='1' id='type-id-63'/>
+    <typedef-decl name='__time_t' type-id='type-id-43' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='148' column='1' id='type-id-64'/>
     <!-- typedef long int __syscall_slong_t -->
-    <typedef-decl name='__syscall_slong_t' type-id='type-id-6' filepath='/usr/include/bits/types.h' line='197' column='1' id='type-id-64'/>
+    <typedef-decl name='__syscall_slong_t' type-id='type-id-43' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='184' column='1' id='type-id-65'/>
     <!-- const timespec -->
-    <qualified-type-def type-id='type-id-62' const='yes' id='type-id-65'/>
+    <qualified-type-def type-id='type-id-63' const='yes' id='type-id-66'/>
     <!-- const timespec* -->
-    <pointer-type-def type-id='type-id-65' size-in-bits='64' id='type-id-66'/>
-    <!-- int32_t* -->
-    <pointer-type-def type-id='type-id-11' size-in-bits='64' id='type-id-67'/>
-    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
-    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-33' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
-    <!-- pthread_cond_t __urcu_compat_futex_cond -->
-    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-58' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
+    <pointer-type-def type-id='type-id-66' size-in-bits='64' id='type-id-67'/>
     <!-- int compat_futex_async(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
     <function-decl name='compat_futex_async' mangled-name='compat_futex_async' filepath='src/compat_futex.c' line='118' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_async'>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-1' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-4' name='val' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'const timespec*' -->
-      <parameter type-id='type-id-66' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-67' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val3' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-4' name='val3' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
     </function-decl>
     <!-- int compat_futex_noasync(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
     <function-decl name='compat_futex_noasync' mangled-name='compat_futex_noasync' filepath='src/compat_futex.c' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_noasync'>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-1' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-4' name='val' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'const timespec*' -->
-      <parameter type-id='type-id-66' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-67' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val3' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-4' name='val3' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
     </function-decl>
   </abi-instr>
 </abi-corpus>
index 72799834695e286eb9ef0828da717ddc6376b226..56238332b2d9fbeabcc4eddb78bed35cdf85f10b 100644 (file)
@@ -1,11 +1,14 @@
 <abi-corpus architecture='elf-amd-x86_64' soname='liburcu-qsbr.so.6'>
   <elf-needed>
-    <dependency name='liburcu-common.so.6'/>
     <dependency name='libpthread.so.0'/>
     <dependency name='libc.so.6'/>
     <dependency name='ld-linux-x86-64.so.2'/>
   </elf-needed>
   <elf-function-symbols>
+    <!-- _fini -->
+    <elf-symbol name='_fini' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- _init -->
+    <elf-symbol name='_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- call_rcu_after_fork_child_qsbr -->
     <elf-symbol name='call_rcu_after_fork_child_qsbr' type='func-type' binding='global-binding' visibility='default-visibility' alias='urcu_qsbr_call_rcu_after_fork_child' is-defined='yes'/>
     <!-- call_rcu_after_fork_parent_qsbr -->
     <elf-symbol name='urcu_qsbr_reader' size='256' type='tls-type' binding='global-binding' visibility='default-visibility' alias='rcu_reader_qsbr' is-defined='yes'/>
   </elf-variable-symbols>
   <abi-instr version='1.0' address-size='64' path='urcu-qsbr.c' comp-dir-path='src' language='LANG_C99'>
-
-    <!-- char -->
-    <type-decl name='char' size-in-bits='8' id='type-id-1'/>
-    <!-- char[40] -->
-    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='320' id='type-id-2'>
-      <!-- <anonymous range>[40] -->
-      <subrange length='40' type-id='type-id-3' id='type-id-4'/>
-
-    </array-type-def>
-    <!-- int -->
-    <type-decl name='int' size-in-bits='32' id='type-id-5'/>
-    <!-- long int -->
-    <type-decl name='long int' size-in-bits='64' id='type-id-6'/>
-    <!-- short int -->
-    <type-decl name='short int' size-in-bits='16' id='type-id-7'/>
-    <!-- unsigned int -->
-    <type-decl name='unsigned int' size-in-bits='32' id='type-id-8'/>
-    <!-- unsigned long int -->
-    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-3'/>
-    <!-- void -->
-    <type-decl name='void' id='type-id-9'/>
     <!-- struct urcu_gp -->
-    <class-decl name='urcu_gp' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='67' column='1' id='type-id-10'>
+    <class-decl name='urcu_gp' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='67' column='1' id='type-id-1'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned long int urcu_gp::ctr -->
-        <var-decl name='ctr' type-id='type-id-3' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='75' column='1'/>
+        <var-decl name='ctr' type-id='type-id-2' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='75' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- int32_t urcu_gp::futex -->
-        <var-decl name='futex' type-id='type-id-11' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='77' column='1'/>
+        <var-decl name='futex' type-id='type-id-3' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='77' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __int32_t int32_t -->
-    <typedef-decl name='int32_t' type-id='type-id-12' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-11'/>
+    <!-- unsigned long int -->
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-2'/>
+    <!-- int -->
+    <type-decl name='int' size-in-bits='32' id='type-id-4'/>
     <!-- typedef int __int32_t -->
-    <typedef-decl name='__int32_t' type-id='type-id-5' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-12'/>
+    <typedef-decl name='__int32_t' type-id='type-id-4' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='40' column='1' id='type-id-5'/>
+    <!-- typedef __int32_t int32_t -->
+    <typedef-decl name='int32_t' type-id='type-id-5' filepath='/usr/include/x86_64-linux-gnu/bits/stdint-intn.h' line='26' column='1' id='type-id-3'/>
+    <!-- urcu_gp urcu_qsbr_gp -->
+    <var-decl name='urcu_qsbr_gp' type-id='type-id-1' mangled-name='rcu_gp_qsbr' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='63' column='1' elf-symbol-id='rcu_gp_qsbr'/>
     <!-- struct urcu_qsbr_reader -->
-    <class-decl name='urcu_qsbr_reader' size-in-bits='2048' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='65' column='1' id='type-id-13'>
+    <class-decl name='urcu_qsbr_reader' size-in-bits='2048' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='65' column='1' id='type-id-6'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned long int urcu_qsbr_reader::ctr -->
-        <var-decl name='ctr' type-id='type-id-3' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='67' column='1'/>
+        <var-decl name='ctr' type-id='type-id-2' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='67' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1024'>
         <!-- cds_list_head urcu_qsbr_reader::node -->
-        <var-decl name='node' type-id='type-id-14' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='69' column='1'/>
+        <var-decl name='node' type-id='type-id-7' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='69' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1152'>
         <!-- int urcu_qsbr_reader::waiting -->
-        <var-decl name='waiting' type-id='type-id-5' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='70' column='1'/>
+        <var-decl name='waiting' type-id='type-id-4' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='70' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1216'>
         <!-- pthread_t urcu_qsbr_reader::tid -->
-        <var-decl name='tid' type-id='type-id-15' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='71' column='1'/>
+        <var-decl name='tid' type-id='type-id-8' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='71' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='31'>
         <!-- unsigned int urcu_qsbr_reader::registered -->
-        <var-decl name='registered' type-id='type-id-8' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='73' column='1'/>
+        <var-decl name='registered' type-id='type-id-9' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='73' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_list_head -->
-    <class-decl name='cds_list_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/list.h' line='37' column='1' id='type-id-14'>
+    <class-decl name='cds_list_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/list.h' line='37' column='1' id='type-id-7'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_list_head* cds_list_head::next -->
-        <var-decl name='next' type-id='type-id-16' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
+        <var-decl name='next' type-id='type-id-10' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- cds_list_head* cds_list_head::prev -->
-        <var-decl name='prev' type-id='type-id-16' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
+        <var-decl name='prev' type-id='type-id-10' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_list_head* -->
+    <pointer-type-def type-id='type-id-7' size-in-bits='64' id='type-id-10'/>
     <!-- typedef unsigned long int pthread_t -->
-    <typedef-decl name='pthread_t' type-id='type-id-3' filepath='/usr/include/bits/pthreadtypes.h' line='27' column='1' id='type-id-15'/>
+    <typedef-decl name='pthread_t' type-id='type-id-2' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='27' column='1' id='type-id-8'/>
+    <!-- unsigned int -->
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-9'/>
+    <!-- urcu_qsbr_reader urcu_qsbr_reader -->
+    <var-decl name='urcu_qsbr_reader' type-id='type-id-6' mangled-name='urcu_qsbr_reader' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='76' column='1' elf-symbol-id='urcu_qsbr_reader'/>
     <!-- struct rcu_flavor_struct -->
-    <class-decl name='rcu_flavor_struct' size-in-bits='896' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='42' column='1' id='type-id-17'>
+    <class-decl name='rcu_flavor_struct' size-in-bits='896' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='42' column='1' id='type-id-11'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- void ()* rcu_flavor_struct::read_lock -->
-        <var-decl name='read_lock' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='43' column='1'/>
+        <var-decl name='read_lock' type-id='type-id-12' visibility='default' filepath='../include/urcu/flavor.h' line='43' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void ()* rcu_flavor_struct::read_unlock -->
-        <var-decl name='read_unlock' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='44' column='1'/>
+        <var-decl name='read_unlock' type-id='type-id-12' visibility='default' filepath='../include/urcu/flavor.h' line='44' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- int ()* rcu_flavor_struct::read_ongoing -->
-        <var-decl name='read_ongoing' type-id='type-id-19' visibility='default' filepath='../include/urcu/flavor.h' line='45' column='1'/>
+        <var-decl name='read_ongoing' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='45' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- void ()* rcu_flavor_struct::read_quiescent_state -->
-        <var-decl name='read_quiescent_state' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='46' column='1'/>
+        <var-decl name='read_quiescent_state' type-id='type-id-12' visibility='default' filepath='../include/urcu/flavor.h' line='46' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- void (rcu_head*, void (rcu_head*)*)* rcu_flavor_struct::update_call_rcu -->
-        <var-decl name='update_call_rcu' type-id='type-id-20' visibility='default' filepath='../include/urcu/flavor.h' line='47' column='1'/>
+        <var-decl name='update_call_rcu' type-id='type-id-14' visibility='default' filepath='../include/urcu/flavor.h' line='47' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
         <!-- void ()* rcu_flavor_struct::update_synchronize_rcu -->
-        <var-decl name='update_synchronize_rcu' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='49' column='1'/>
+        <var-decl name='update_synchronize_rcu' type-id='type-id-12' visibility='default' filepath='../include/urcu/flavor.h' line='49' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='384'>
         <!-- void (void (void*)*, void*)* rcu_flavor_struct::update_defer_rcu -->
-        <var-decl name='update_defer_rcu' type-id='type-id-21' visibility='default' filepath='../include/urcu/flavor.h' line='50' column='1'/>
+        <var-decl name='update_defer_rcu' type-id='type-id-15' visibility='default' filepath='../include/urcu/flavor.h' line='50' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='448'>
         <!-- void ()* rcu_flavor_struct::thread_offline -->
-        <var-decl name='thread_offline' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='52' column='1'/>
+        <var-decl name='thread_offline' type-id='type-id-12' visibility='default' filepath='../include/urcu/flavor.h' line='52' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='512'>
         <!-- void ()* rcu_flavor_struct::thread_online -->
-        <var-decl name='thread_online' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='53' column='1'/>
+        <var-decl name='thread_online' type-id='type-id-12' visibility='default' filepath='../include/urcu/flavor.h' line='53' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='576'>
         <!-- void ()* rcu_flavor_struct::register_thread -->
-        <var-decl name='register_thread' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='54' column='1'/>
+        <var-decl name='register_thread' type-id='type-id-12' visibility='default' filepath='../include/urcu/flavor.h' line='54' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='640'>
         <!-- void ()* rcu_flavor_struct::unregister_thread -->
-        <var-decl name='unregister_thread' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='55' column='1'/>
+        <var-decl name='unregister_thread' type-id='type-id-12' visibility='default' filepath='../include/urcu/flavor.h' line='55' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='704'>
         <!-- void ()* rcu_flavor_struct::barrier -->
-        <var-decl name='barrier' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='57' column='1'/>
+        <var-decl name='barrier' type-id='type-id-12' visibility='default' filepath='../include/urcu/flavor.h' line='57' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='768'>
         <!-- void (urcu_atfork*)* rcu_flavor_struct::register_rculfhash_atfork -->
-        <var-decl name='register_rculfhash_atfork' type-id='type-id-22' visibility='default' filepath='../include/urcu/flavor.h' line='59' column='1'/>
+        <var-decl name='register_rculfhash_atfork' type-id='type-id-16' visibility='default' filepath='../include/urcu/flavor.h' line='59' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='832'>
         <!-- void (urcu_atfork*)* rcu_flavor_struct::unregister_rculfhash_atfork -->
-        <var-decl name='unregister_rculfhash_atfork' type-id='type-id-22' visibility='default' filepath='../include/urcu/flavor.h' line='60' column='1'/>
+        <var-decl name='unregister_rculfhash_atfork' type-id='type-id-16' visibility='default' filepath='../include/urcu/flavor.h' line='60' column='1'/>
       </data-member>
     </class-decl>
+    <!-- void -->
+    <type-decl name='void' id='type-id-17'/>
+    <!-- void ()* -->
+    <pointer-type-def type-id='type-id-18' size-in-bits='64' id='type-id-12'/>
+    <!-- int ()* -->
+    <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-13'/>
     <!-- struct rcu_head -->
-    <class-decl name='rcu_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/call-rcu.h' line='57' column='1' id='type-id-23'>
+    <class-decl name='rcu_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/call-rcu.h' line='57' column='1' id='type-id-20'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node rcu_head::next -->
-        <var-decl name='next' type-id='type-id-24' visibility='default' filepath='../include/urcu/call-rcu.h' line='58' column='1'/>
+        <var-decl name='next' type-id='type-id-21' visibility='default' filepath='../include/urcu/call-rcu.h' line='58' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void (rcu_head*)* rcu_head::func -->
-        <var-decl name='func' type-id='type-id-25' visibility='default' filepath='../include/urcu/call-rcu.h' line='59' column='1'/>
+        <var-decl name='func' type-id='type-id-22' visibility='default' filepath='../include/urcu/call-rcu.h' line='59' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_node -->
-    <class-decl name='cds_wfcq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='59' column='1' id='type-id-24'>
+    <class-decl name='cds_wfcq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='59' column='1' id='type-id-21'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node* cds_wfcq_node::next -->
-        <var-decl name='next' type-id='type-id-26' visibility='default' filepath='../include/urcu/wfcqueue.h' line='60' column='1'/>
+        <var-decl name='next' type-id='type-id-23' visibility='default' filepath='../include/urcu/wfcqueue.h' line='60' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_wfcq_node* -->
+    <pointer-type-def type-id='type-id-21' size-in-bits='64' id='type-id-23'/>
+    <!-- rcu_head* -->
+    <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-24'/>
+    <!-- void (rcu_head*)* -->
+    <pointer-type-def type-id='type-id-25' size-in-bits='64' id='type-id-22'/>
+    <!-- void (rcu_head*, void (rcu_head*)*)* -->
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-14'/>
+    <!-- void* -->
+    <pointer-type-def type-id='type-id-17' size-in-bits='64' id='type-id-27'/>
+    <!-- void (void*)* -->
+    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-29'/>
+    <!-- void (void (void*)*, void*)* -->
+    <pointer-type-def type-id='type-id-30' size-in-bits='64' id='type-id-15'/>
     <!-- struct urcu_atfork -->
-    <class-decl name='urcu_atfork' size-in-bits='256' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='32' column='1' id='type-id-27'>
+    <class-decl name='urcu_atfork' size-in-bits='256' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='32' column='1' id='type-id-31'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- void (void*)* urcu_atfork::before_fork -->
-        <var-decl name='before_fork' type-id='type-id-28' visibility='default' filepath='../include/urcu/flavor.h' line='33' column='1'/>
+        <var-decl name='before_fork' type-id='type-id-29' visibility='default' filepath='../include/urcu/flavor.h' line='33' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void (void*)* urcu_atfork::after_fork_parent -->
-        <var-decl name='after_fork_parent' type-id='type-id-28' visibility='default' filepath='../include/urcu/flavor.h' line='34' column='1'/>
+        <var-decl name='after_fork_parent' type-id='type-id-29' visibility='default' filepath='../include/urcu/flavor.h' line='34' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- void (void*)* urcu_atfork::after_fork_child -->
-        <var-decl name='after_fork_child' type-id='type-id-28' visibility='default' filepath='../include/urcu/flavor.h' line='35' column='1'/>
+        <var-decl name='after_fork_child' type-id='type-id-29' visibility='default' filepath='../include/urcu/flavor.h' line='35' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- void* urcu_atfork::priv -->
-        <var-decl name='priv' type-id='type-id-29' visibility='default' filepath='../include/urcu/flavor.h' line='36' column='1'/>
+        <var-decl name='priv' type-id='type-id-27' visibility='default' filepath='../include/urcu/flavor.h' line='36' column='1'/>
       </data-member>
     </class-decl>
+    <!-- urcu_atfork* -->
+    <pointer-type-def type-id='type-id-31' size-in-bits='64' id='type-id-32'/>
+    <!-- void (urcu_atfork*)* -->
+    <pointer-type-def type-id='type-id-33' size-in-bits='64' id='type-id-16'/>
+    <!-- const rcu_flavor_struct -->
+    <qualified-type-def type-id='type-id-11' const='yes' id='type-id-34'/>
+    <!-- const rcu_flavor_struct urcu_qsbr_flavor -->
+    <var-decl name='urcu_qsbr_flavor' type-id='type-id-34' mangled-name='urcu_qsbr_flavor' visibility='default' filepath='../include/urcu/flavor.h' line='90' column='1' elf-symbol-id='urcu_qsbr_flavor'/>
+    <!-- void urcu_qsbr_defer_exit() -->
+    <function-decl name='urcu_qsbr_defer_exit' mangled-name='urcu_qsbr_defer_exit' filepath='src/urcu-defer-impl.h' line='476' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_defer_exit'>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <!-- void urcu_qsbr_defer_unregister_thread() -->
+    <function-decl name='urcu_qsbr_defer_unregister_thread' mangled-name='urcu_qsbr_defer_unregister_thread' filepath='src/urcu-defer-impl.h' line='456' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_defer_unregister_thread'>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <!-- int urcu_qsbr_defer_register_thread() -->
+    <function-decl name='urcu_qsbr_defer_register_thread' mangled-name='urcu_qsbr_defer_register_thread' filepath='src/urcu-defer-impl.h' line='432' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_defer_register_thread'>
+      <!-- int -->
+      <return type-id='type-id-4'/>
+    </function-decl>
+    <!-- void urcu_qsbr_defer_rcu(void (void*)*, void*) -->
+    <function-decl name='urcu_qsbr_defer_rcu' mangled-name='defer_rcu_qsbr' filepath='src/urcu-defer-impl.h' line='400' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='defer_rcu_qsbr'>
+      <!-- parameter of type 'void (void*)*' -->
+      <parameter type-id='type-id-29' name='fct' filepath='src/urcu-defer-impl.h' line='400' column='1'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-27' name='p' filepath='src/urcu-defer-impl.h' line='400' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <!-- void urcu_qsbr_defer_barrier() -->
+    <function-decl name='urcu_qsbr_defer_barrier' mangled-name='rcu_defer_barrier_qsbr' filepath='src/urcu-defer-impl.h' line='284' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_barrier_qsbr'>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <!-- void urcu_qsbr_defer_barrier_thread() -->
+    <function-decl name='urcu_qsbr_defer_barrier_thread' mangled-name='rcu_defer_barrier_thread_qsbr' filepath='src/urcu-defer-impl.h' line='262' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_barrier_thread_qsbr'>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <!-- void urcu_qsbr_unregister_rculfhash_atfork(urcu_atfork*) -->
+    <function-decl name='urcu_qsbr_unregister_rculfhash_atfork' mangled-name='urcu_unregister_rculfhash_atfork_qsbr' filepath='src/urcu-call-rcu-impl.h' line='1056' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_unregister_rculfhash_atfork_qsbr'>
+      <!-- parameter of type 'urcu_atfork*' -->
+      <parameter type-id='type-id-32' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1056' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <!-- void urcu_qsbr_register_rculfhash_atfork(urcu_atfork*) -->
+    <function-decl name='urcu_qsbr_register_rculfhash_atfork' mangled-name='urcu_register_rculfhash_atfork_qsbr' filepath='src/urcu-call-rcu-impl.h' line='1044' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_register_rculfhash_atfork_qsbr'>
+      <!-- parameter of type 'urcu_atfork*' -->
+      <parameter type-id='type-id-32' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1056' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <!-- void urcu_qsbr_call_rcu_after_fork_child() -->
+    <function-decl name='urcu_qsbr_call_rcu_after_fork_child' mangled-name='call_rcu_after_fork_child_qsbr' filepath='src/urcu-call-rcu-impl.h' line='1000' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_after_fork_child_qsbr'>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <!-- void urcu_qsbr_call_rcu_after_fork_parent() -->
+    <function-decl name='urcu_qsbr_call_rcu_after_fork_parent' mangled-name='urcu_qsbr_call_rcu_after_fork_parent' filepath='src/urcu-call-rcu-impl.h' line='976' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_call_rcu_after_fork_parent'>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <!-- void urcu_qsbr_call_rcu_before_fork() -->
+    <function-decl name='urcu_qsbr_call_rcu_before_fork' mangled-name='call_rcu_before_fork_qsbr' filepath='src/urcu-call-rcu-impl.h' line='947' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_before_fork_qsbr'>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <!-- void urcu_qsbr_barrier() -->
+    <function-decl name='urcu_qsbr_barrier' mangled-name='urcu_qsbr_barrier' filepath='src/urcu-call-rcu-impl.h' line='874' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_barrier'>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <!-- void urcu_qsbr_free_all_cpu_call_rcu_data() -->
+    <function-decl name='urcu_qsbr_free_all_cpu_call_rcu_data' mangled-name='free_all_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='801' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='free_all_cpu_call_rcu_data'>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
     <!-- struct call_rcu_data -->
-    <class-decl name='call_rcu_data' size-in-bits='1024' is-struct='yes' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='53' column='1' id='type-id-30'>
+    <class-decl name='call_rcu_data' size-in-bits='1024' is-struct='yes' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='53' column='1' id='type-id-35'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_tail call_rcu_data::cbs_tail -->
-        <var-decl name='cbs_tail' type-id='type-id-31' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='61' column='1'/>
+        <var-decl name='cbs_tail' type-id='type-id-36' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='61' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- cds_wfcq_head call_rcu_data::cbs_head -->
-        <var-decl name='cbs_head' type-id='type-id-32' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='62' column='1'/>
+        <var-decl name='cbs_head' type-id='type-id-37' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='62' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='448'>
         <!-- unsigned long int call_rcu_data::flags -->
-        <var-decl name='flags' type-id='type-id-3' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='63' column='1'/>
+        <var-decl name='flags' type-id='type-id-2' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='63' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='512'>
         <!-- int32_t call_rcu_data::futex -->
-        <var-decl name='futex' type-id='type-id-11' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='64' column='1'/>
+        <var-decl name='futex' type-id='type-id-3' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='64' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='576'>
         <!-- unsigned long int call_rcu_data::qlen -->
-        <var-decl name='qlen' type-id='type-id-3' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='65' column='1'/>
+        <var-decl name='qlen' type-id='type-id-2' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='65' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='640'>
         <!-- pthread_t call_rcu_data::tid -->
-        <var-decl name='tid' type-id='type-id-15' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='66' column='1'/>
+        <var-decl name='tid' type-id='type-id-8' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='66' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='704'>
         <!-- int call_rcu_data::cpu_affinity -->
-        <var-decl name='cpu_affinity' type-id='type-id-5' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='67' column='1'/>
+        <var-decl name='cpu_affinity' type-id='type-id-4' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='67' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='768'>
         <!-- unsigned long int call_rcu_data::gp_count -->
-        <var-decl name='gp_count' type-id='type-id-3' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='68' column='1'/>
+        <var-decl name='gp_count' type-id='type-id-2' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='68' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='832'>
         <!-- cds_list_head call_rcu_data::list -->
-        <var-decl name='list' type-id='type-id-14' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='69' column='1'/>
+        <var-decl name='list' type-id='type-id-7' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='69' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_tail -->
-    <class-decl name='cds_wfcq_tail' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='127' column='1' id='type-id-31'>
+    <class-decl name='cds_wfcq_tail' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='127' column='1' id='type-id-36'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node* cds_wfcq_tail::p -->
-        <var-decl name='p' type-id='type-id-26' visibility='default' filepath='../include/urcu/wfcqueue.h' line='128' column='1'/>
+        <var-decl name='p' type-id='type-id-23' visibility='default' filepath='../include/urcu/wfcqueue.h' line='128' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_head -->
-    <class-decl name='cds_wfcq_head' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='72' column='1' id='type-id-32'>
+    <class-decl name='cds_wfcq_head' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='72' column='1' id='type-id-37'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node cds_wfcq_head::node -->
-        <var-decl name='node' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='73' column='1'/>
+        <var-decl name='node' type-id='type-id-21' visibility='default' filepath='../include/urcu/wfcqueue.h' line='73' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- pthread_mutex_t cds_wfcq_head::lock -->
-        <var-decl name='lock' type-id='type-id-33' visibility='default' filepath='../include/urcu/wfcqueue.h' line='74' column='1'/>
+        <var-decl name='lock' type-id='type-id-38' visibility='default' filepath='../include/urcu/wfcqueue.h' line='74' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __anonymous_union__ pthread_mutex_t -->
-    <typedef-decl name='pthread_mutex_t' type-id='type-id-34' filepath='/usr/include/bits/pthreadtypes.h' line='72' column='1' id='type-id-33'/>
-    <!-- union {__pthread_mutex_s __data; char __size[40]; long int __align;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='67' column='1' id='type-id-34'>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='67' column='1' id='type-id-39'>
       <data-member access='private'>
-        <!-- __pthread_mutex_s __data -->
-        <var-decl name='__data' type-id='type-id-35' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='69' column='1'/>
+        <!-- __pthread_mutex_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-40' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='69' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- char __size[40] -->
-        <var-decl name='__size' type-id='type-id-2' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='70' column='1'/>
+        <!-- char __anonymous_union__::__size[40] -->
+        <var-decl name='__size' type-id='type-id-41' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='70' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- long int __align -->
-        <var-decl name='__align' type-id='type-id-6' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='71' column='1'/>
+        <!-- long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-42' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='71' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __pthread_mutex_s -->
-    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='22' column='1' id='type-id-35'>
+    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='118' column='1' id='type-id-40'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- int __pthread_mutex_s::__lock -->
-        <var-decl name='__lock' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='24' column='1'/>
+        <var-decl name='__lock' type-id='type-id-4' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='120' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='32'>
         <!-- unsigned int __pthread_mutex_s::__count -->
-        <var-decl name='__count' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='25' column='1'/>
+        <var-decl name='__count' type-id='type-id-9' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='121' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- int __pthread_mutex_s::__owner -->
-        <var-decl name='__owner' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='26' column='1'/>
+        <var-decl name='__owner' type-id='type-id-4' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='122' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='96'>
         <!-- unsigned int __pthread_mutex_s::__nusers -->
-        <var-decl name='__nusers' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='28' column='1'/>
+        <var-decl name='__nusers' type-id='type-id-9' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='124' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- int __pthread_mutex_s::__kind -->
-        <var-decl name='__kind' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='32' column='1'/>
+        <var-decl name='__kind' type-id='type-id-4' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='148' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='160'>
         <!-- short int __pthread_mutex_s::__spins -->
-        <var-decl name='__spins' type-id='type-id-7' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='34' column='1'/>
+        <var-decl name='__spins' type-id='type-id-43' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='176'>
         <!-- short int __pthread_mutex_s::__elision -->
-        <var-decl name='__elision' type-id='type-id-7' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='35' column='1'/>
+        <var-decl name='__elision' type-id='type-id-43' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- __pthread_list_t __pthread_mutex_s::__list -->
-        <var-decl name='__list' type-id='type-id-36' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='36' column='1'/>
+        <var-decl name='__list' type-id='type-id-44' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='155' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __pthread_internal_list __pthread_list_t -->
-    <typedef-decl name='__pthread_list_t' type-id='type-id-37' filepath='/usr/include/bits/thread-shared-types.h' line='53' column='1' id='type-id-36'/>
+    <!-- short int -->
+    <type-decl name='short int' size-in-bits='16' id='type-id-43'/>
     <!-- struct __pthread_internal_list -->
-    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='49' column='1' id='type-id-37'>
+    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='82' column='1' id='type-id-45'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- __pthread_internal_list* __pthread_internal_list::__prev -->
-        <var-decl name='__prev' type-id='type-id-38' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='51' column='1'/>
+        <var-decl name='__prev' type-id='type-id-46' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='84' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- __pthread_internal_list* __pthread_internal_list::__next -->
-        <var-decl name='__next' type-id='type-id-38' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='52' column='1'/>
+        <var-decl name='__next' type-id='type-id-46' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='85' column='1'/>
       </data-member>
     </class-decl>
     <!-- __pthread_internal_list* -->
-    <pointer-type-def type-id='type-id-37' size-in-bits='64' id='type-id-38'/>
+    <pointer-type-def type-id='type-id-45' size-in-bits='64' id='type-id-46'/>
+    <!-- typedef __pthread_internal_list __pthread_list_t -->
+    <typedef-decl name='__pthread_list_t' type-id='type-id-45' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='86' column='1' id='type-id-44'/>
+    <!-- char -->
+    <type-decl name='char' size-in-bits='8' id='type-id-47'/>
+
+    <!-- char[40] -->
+    <array-type-def dimensions='1' type-id='type-id-47' size-in-bits='320' id='type-id-41'>
+      <!-- <anonymous range>[40] -->
+      <subrange length='40' type-id='type-id-2' id='type-id-48'/>
+
+    </array-type-def>
+    <!-- long int -->
+    <type-decl name='long int' size-in-bits='64' id='type-id-42'/>
+    <!-- typedef __anonymous_union__ pthread_mutex_t -->
+    <typedef-decl name='pthread_mutex_t' type-id='type-id-39' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='72' column='1' id='type-id-38'/>
     <!-- call_rcu_data* -->
-    <pointer-type-def type-id='type-id-30' size-in-bits='64' id='type-id-39'/>
-    <!-- cds_list_head* -->
-    <pointer-type-def type-id='type-id-14' size-in-bits='64' id='type-id-16'/>
-    <!-- cds_wfcq_node* -->
-    <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-26'/>
-    <!-- const rcu_flavor_struct -->
-    <qualified-type-def type-id='type-id-17' const='yes' id='type-id-40'/>
-    <!-- int ()* -->
-    <pointer-type-def type-id='type-id-41' size-in-bits='64' id='type-id-19'/>
-    <!-- rcu_head* -->
-    <pointer-type-def type-id='type-id-23' size-in-bits='64' id='type-id-42'/>
-    <!-- urcu_atfork* -->
-    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-43'/>
-    <!-- void ()* -->
-    <pointer-type-def type-id='type-id-44' size-in-bits='64' id='type-id-18'/>
-    <!-- void (rcu_head*)* -->
-    <pointer-type-def type-id='type-id-45' size-in-bits='64' id='type-id-25'/>
-    <!-- void (rcu_head*, void (rcu_head*)*)* -->
-    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-20'/>
-    <!-- void (urcu_atfork*)* -->
-    <pointer-type-def type-id='type-id-47' size-in-bits='64' id='type-id-22'/>
-    <!-- void (void (void*)*, void*)* -->
-    <pointer-type-def type-id='type-id-48' size-in-bits='64' id='type-id-21'/>
-    <!-- void (void*)* -->
-    <pointer-type-def type-id='type-id-49' size-in-bits='64' id='type-id-28'/>
-    <!-- void* -->
-    <pointer-type-def type-id='type-id-9' size-in-bits='64' id='type-id-29'/>
-    <!-- urcu_gp urcu_qsbr_gp -->
-    <var-decl name='urcu_qsbr_gp' type-id='type-id-10' mangled-name='rcu_gp_qsbr' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='63' column='1' elf-symbol-id='rcu_gp_qsbr'/>
-    <!-- urcu_qsbr_reader urcu_qsbr_reader -->
-    <var-decl name='urcu_qsbr_reader' type-id='type-id-13' mangled-name='urcu_qsbr_reader' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='76' column='1' elf-symbol-id='urcu_qsbr_reader'/>
-    <!-- const rcu_flavor_struct urcu_qsbr_flavor -->
-    <var-decl name='urcu_qsbr_flavor' type-id='type-id-40' mangled-name='urcu_qsbr_flavor' visibility='default' filepath='../include/urcu/flavor.h' line='90' column='1' elf-symbol-id='urcu_qsbr_flavor'/>
-    <!-- void urcu_qsbr_defer_exit() -->
-    <function-decl name='urcu_qsbr_defer_exit' mangled-name='urcu_qsbr_defer_exit' filepath='src/urcu-defer-impl.h' line='476' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_defer_exit'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_qsbr_defer_unregister_thread() -->
-    <function-decl name='urcu_qsbr_defer_unregister_thread' mangled-name='urcu_qsbr_defer_unregister_thread' filepath='src/urcu-defer-impl.h' line='456' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_defer_unregister_thread'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- int urcu_qsbr_defer_register_thread() -->
-    <function-decl name='urcu_qsbr_defer_register_thread' mangled-name='urcu_qsbr_defer_register_thread' filepath='src/urcu-defer-impl.h' line='432' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_defer_register_thread'>
-      <!-- int -->
-      <return type-id='type-id-5'/>
-    </function-decl>
-    <!-- void urcu_qsbr_defer_rcu(void (void*)*, void*) -->
-    <function-decl name='urcu_qsbr_defer_rcu' mangled-name='defer_rcu_qsbr' filepath='src/urcu-defer-impl.h' line='400' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='defer_rcu_qsbr'>
-      <!-- parameter of type 'void (void*)*' -->
-      <parameter type-id='type-id-28' name='fct' filepath='src/urcu-defer-impl.h' line='400' column='1'/>
-      <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='p' filepath='src/urcu-defer-impl.h' line='400' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_qsbr_defer_barrier() -->
-    <function-decl name='urcu_qsbr_defer_barrier' mangled-name='rcu_defer_barrier_qsbr' filepath='src/urcu-defer-impl.h' line='284' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_barrier_qsbr'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_qsbr_defer_barrier_thread() -->
-    <function-decl name='urcu_qsbr_defer_barrier_thread' mangled-name='rcu_defer_barrier_thread_qsbr' filepath='src/urcu-defer-impl.h' line='262' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_barrier_thread_qsbr'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_qsbr_unregister_rculfhash_atfork(urcu_atfork*) -->
-    <function-decl name='urcu_qsbr_unregister_rculfhash_atfork' mangled-name='urcu_unregister_rculfhash_atfork_qsbr' filepath='src/urcu-call-rcu-impl.h' line='1056' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_unregister_rculfhash_atfork_qsbr'>
-      <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-43' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1056' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_qsbr_register_rculfhash_atfork(urcu_atfork*) -->
-    <function-decl name='urcu_qsbr_register_rculfhash_atfork' mangled-name='urcu_register_rculfhash_atfork_qsbr' filepath='src/urcu-call-rcu-impl.h' line='1044' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_register_rculfhash_atfork_qsbr'>
-      <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-43' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1044' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_qsbr_call_rcu_after_fork_child() -->
-    <function-decl name='urcu_qsbr_call_rcu_after_fork_child' mangled-name='call_rcu_after_fork_child_qsbr' filepath='src/urcu-call-rcu-impl.h' line='1000' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_after_fork_child_qsbr'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_qsbr_call_rcu_after_fork_parent() -->
-    <function-decl name='urcu_qsbr_call_rcu_after_fork_parent' mangled-name='urcu_qsbr_call_rcu_after_fork_parent' filepath='src/urcu-call-rcu-impl.h' line='976' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_call_rcu_after_fork_parent'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_qsbr_call_rcu_before_fork() -->
-    <function-decl name='urcu_qsbr_call_rcu_before_fork' mangled-name='call_rcu_before_fork_qsbr' filepath='src/urcu-call-rcu-impl.h' line='947' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_before_fork_qsbr'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_qsbr_barrier() -->
-    <function-decl name='urcu_qsbr_barrier' mangled-name='urcu_qsbr_barrier' filepath='src/urcu-call-rcu-impl.h' line='874' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_barrier'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_qsbr_free_all_cpu_call_rcu_data() -->
-    <function-decl name='urcu_qsbr_free_all_cpu_call_rcu_data' mangled-name='free_all_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='801' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='free_all_cpu_call_rcu_data'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
+    <pointer-type-def type-id='type-id-35' size-in-bits='64' id='type-id-49'/>
     <!-- void urcu_qsbr_call_rcu_data_free(call_rcu_data*) -->
     <function-decl name='urcu_qsbr_call_rcu_data_free' mangled-name='urcu_qsbr_call_rcu_data_free' filepath='src/urcu-call-rcu-impl.h' line='764' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_call_rcu_data_free'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='764' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='764' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-decl>
     <!-- void urcu_qsbr_call_rcu(rcu_head*, void (rcu_head*)*) -->
     <function-decl name='urcu_qsbr_call_rcu' mangled-name='urcu_qsbr_call_rcu' filepath='src/urcu-call-rcu-impl.h' line='725' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_call_rcu'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42' name='head' filepath='src/urcu-call-rcu-impl.h' line='725' column='1'/>
+      <parameter type-id='type-id-24' name='head' filepath='src/urcu-call-rcu-impl.h' line='725' column='1'/>
       <!-- parameter of type 'void (rcu_head*)*' -->
-      <parameter type-id='type-id-25' name='func' filepath='src/urcu-call-rcu-impl.h' line='726' column='1'/>
+      <parameter type-id='type-id-22' name='func' filepath='src/urcu-call-rcu-impl.h' line='726' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-decl>
     <!-- int urcu_qsbr_create_all_cpu_call_rcu_data(unsigned long int) -->
     <function-decl name='urcu_qsbr_create_all_cpu_call_rcu_data' mangled-name='urcu_qsbr_create_all_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='645' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_create_all_cpu_call_rcu_data'>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-3' name='flags' filepath='src/urcu-call-rcu-impl.h' line='645' column='1'/>
+      <parameter type-id='type-id-2' name='flags' filepath='src/urcu-call-rcu-impl.h' line='645' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-decl>
     <!-- void urcu_qsbr_set_thread_call_rcu_data(call_rcu_data*) -->
     <function-decl name='urcu_qsbr_set_thread_call_rcu_data' mangled-name='set_thread_call_rcu_data_qsbr' filepath='src/urcu-call-rcu-impl.h' line='630' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='set_thread_call_rcu_data_qsbr'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='630' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='630' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-decl>
     <!-- call_rcu_data* urcu_qsbr_get_thread_call_rcu_data() -->
     <function-decl name='urcu_qsbr_get_thread_call_rcu_data' mangled-name='urcu_qsbr_get_thread_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='612' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_get_thread_call_rcu_data'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- call_rcu_data* urcu_qsbr_get_call_rcu_data() -->
     <function-decl name='urcu_qsbr_get_call_rcu_data' mangled-name='get_call_rcu_data_qsbr' filepath='src/urcu-call-rcu-impl.h' line='590' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_call_rcu_data_qsbr'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- call_rcu_data* urcu_qsbr_get_default_call_rcu_data() -->
     <function-decl name='urcu_qsbr_get_default_call_rcu_data' mangled-name='urcu_qsbr_get_default_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='563' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_get_default_call_rcu_data'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- int urcu_qsbr_set_cpu_call_rcu_data(int, call_rcu_data*) -->
     <function-decl name='urcu_qsbr_set_cpu_call_rcu_data' mangled-name='set_cpu_call_rcu_data_qsbr' filepath='src/urcu-call-rcu-impl.h' line='522' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='set_cpu_call_rcu_data_qsbr'>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='522' column='1'/>
+      <parameter type-id='type-id-4' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='522' column='1'/>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='522' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='522' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-decl>
     <!-- call_rcu_data* urcu_qsbr_create_call_rcu_data(unsigned long int, int) -->
     <function-decl name='urcu_qsbr_create_call_rcu_data' mangled-name='urcu_qsbr_create_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='498' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_create_call_rcu_data'>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-3' name='flags' filepath='src/urcu-call-rcu-impl.h' line='498' column='1'/>
+      <parameter type-id='type-id-2' name='flags' filepath='src/urcu-call-rcu-impl.h' line='498' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu_affinity' filepath='src/urcu-call-rcu-impl.h' line='499' column='1'/>
+      <parameter type-id='type-id-4' name='cpu_affinity' filepath='src/urcu-call-rcu-impl.h' line='499' column='1'/>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- pthread_t urcu_qsbr_get_call_rcu_thread(call_rcu_data*) -->
     <function-decl name='urcu_qsbr_get_call_rcu_thread' mangled-name='urcu_qsbr_get_call_rcu_thread' filepath='src/urcu-call-rcu-impl.h' line='476' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_get_call_rcu_thread'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='476' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='476' column='1'/>
       <!-- typedef pthread_t -->
-      <return type-id='type-id-15'/>
+      <return type-id='type-id-8'/>
     </function-decl>
     <!-- call_rcu_data* urcu_qsbr_get_cpu_call_rcu_data(int) -->
     <function-decl name='urcu_qsbr_get_cpu_call_rcu_data' mangled-name='get_cpu_call_rcu_data_qsbr' filepath='src/urcu-call-rcu-impl.h' line='452' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_cpu_call_rcu_data_qsbr'>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='452' column='1'/>
+      <parameter type-id='type-id-4' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='452' column='1'/>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- void urcu_qsbr_exit() -->
     <function-decl name='urcu_qsbr_exit' mangled-name='urcu_qsbr_exit' filepath='src/urcu-qsbr.c' line='512' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_exit'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-decl>
     <!-- void urcu_qsbr_unregister_thread() -->
     <function-decl name='urcu_qsbr_unregister_thread' mangled-name='urcu_qsbr_unregister_thread' filepath='src/urcu-qsbr.c' line='496' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_unregister_thread'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-decl>
     <!-- void urcu_qsbr_register_thread() -->
     <function-decl name='urcu_qsbr_register_thread' mangled-name='urcu_qsbr_register_thread' filepath='src/urcu-qsbr.c' line='481' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_register_thread'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-decl>
     <!-- void urcu_qsbr_thread_online() -->
     <function-decl name='urcu_qsbr_thread_online' mangled-name='urcu_qsbr_thread_online' filepath='src/urcu-qsbr.c' line='474' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_thread_online'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-decl>
     <!-- void urcu_qsbr_thread_offline() -->
     <function-decl name='urcu_qsbr_thread_offline' mangled-name='urcu_qsbr_thread_offline' filepath='src/urcu-qsbr.c' line='467' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_thread_offline'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-decl>
     <!-- void urcu_qsbr_quiescent_state() -->
     <function-decl name='urcu_qsbr_quiescent_state' mangled-name='urcu_qsbr_quiescent_state' filepath='src/urcu-qsbr.c' line='460' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_quiescent_state'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-decl>
     <!-- int urcu_qsbr_read_ongoing() -->
     <function-decl name='urcu_qsbr_read_ongoing' mangled-name='rcu_read_ongoing_qsbr' filepath='src/urcu-qsbr.c' line='453' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_read_ongoing_qsbr'>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-decl>
     <!-- void urcu_qsbr_read_unlock() -->
     <function-decl name='urcu_qsbr_read_unlock' mangled-name='urcu_qsbr_read_unlock' filepath='src/urcu-qsbr.c' line='447' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_read_unlock'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-decl>
     <!-- void urcu_qsbr_read_lock() -->
     <function-decl name='urcu_qsbr_read_lock' mangled-name='rcu_read_lock_qsbr' filepath='src/urcu-qsbr.c' line='441' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_read_lock_qsbr'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-decl>
     <!-- void urcu_qsbr_synchronize_rcu() -->
     <function-decl name='urcu_qsbr_synchronize_rcu' mangled-name='urcu_qsbr_synchronize_rcu' filepath='src/urcu-qsbr.c' line='349' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_synchronize_rcu'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-decl>
     <!-- int () -->
-    <function-type size-in-bits='64' id='type-id-41'>
+    <function-type size-in-bits='64' id='type-id-19'>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-type>
     <!-- void () -->
-    <function-type size-in-bits='64' id='type-id-44'>
+    <function-type size-in-bits='64' id='type-id-18'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-type>
     <!-- void (rcu_head*) -->
-    <function-type size-in-bits='64' id='type-id-45'>
+    <function-type size-in-bits='64' id='type-id-25'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42'/>
+      <parameter type-id='type-id-24'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-type>
     <!-- void (rcu_head*, void (rcu_head*)*) -->
-    <function-type size-in-bits='64' id='type-id-46'>
+    <function-type size-in-bits='64' id='type-id-26'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42'/>
+      <parameter type-id='type-id-24'/>
       <!-- parameter of type 'void (rcu_head*)*' -->
-      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-22'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-type>
     <!-- void (urcu_atfork*) -->
-    <function-type size-in-bits='64' id='type-id-47'>
+    <function-type size-in-bits='64' id='type-id-33'>
       <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-43'/>
+      <parameter type-id='type-id-32'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-type>
     <!-- void (void (void*)*, void*) -->
-    <function-type size-in-bits='64' id='type-id-48'>
+    <function-type size-in-bits='64' id='type-id-30'>
       <!-- parameter of type 'void (void*)*' -->
-      <parameter type-id='type-id-28'/>
-      <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-29'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-27'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-type>
     <!-- void (void*) -->
-    <function-type size-in-bits='64' id='type-id-49'>
+    <function-type size-in-bits='64' id='type-id-28'>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29'/>
+      <parameter type-id='type-id-27'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-type>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='urcu-pointer.c' comp-dir-path='src' language='LANG_C99'>
     <!-- void** -->
-    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-50'/>
+    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-50'/>
     <!-- void* rcu_cmpxchg_pointer_sym(void**, void*, void*) -->
     <function-decl name='rcu_cmpxchg_pointer_sym' mangled-name='rcu_cmpxchg_pointer_sym' filepath='src/urcu-pointer.c' line='53' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_cmpxchg_pointer_sym'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='53' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='old' filepath='src/urcu-pointer.c' line='53' column='1'/>
+      <parameter type-id='type-id-27' name='old' filepath='src/urcu-pointer.c' line='53' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='_new' filepath='src/urcu-pointer.c' line='53' column='1'/>
+      <parameter type-id='type-id-27' name='_new' filepath='src/urcu-pointer.c' line='53' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-27'/>
     </function-decl>
     <!-- void* rcu_xchg_pointer_sym(void**, void*) -->
     <function-decl name='rcu_xchg_pointer_sym' mangled-name='rcu_xchg_pointer_sym' filepath='src/urcu-pointer.c' line='47' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_xchg_pointer_sym'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='47' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='v' filepath='src/urcu-pointer.c' line='47' column='1'/>
+      <parameter type-id='type-id-27' name='v' filepath='src/urcu-pointer.c' line='47' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-27'/>
     </function-decl>
     <!-- void* rcu_set_pointer_sym(void**, void*) -->
     <function-decl name='rcu_set_pointer_sym' mangled-name='rcu_set_pointer_sym' filepath='src/urcu-pointer.c' line='40' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_set_pointer_sym'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='40' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='v' filepath='src/urcu-pointer.c' line='40' column='1'/>
+      <parameter type-id='type-id-27' name='v' filepath='src/urcu-pointer.c' line='40' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-27'/>
     </function-decl>
     <!-- void* rcu_dereference_sym(void*) -->
     <function-decl name='rcu_dereference_sym' mangled-name='rcu_dereference_sym' filepath='src/urcu-pointer.c' line='35' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_dereference_sym'>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='p' filepath='src/urcu-pointer.c' line='35' column='1'/>
+      <parameter type-id='type-id-27' name='p' filepath='src/urcu-pointer.c' line='35' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-27'/>
     </function-decl>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='compat_futex.c' comp-dir-path='src' language='LANG_C99'>
-
-
-    <!-- char[48] -->
-    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='384' id='type-id-51'>
-      <!-- <anonymous range>[48] -->
-      <subrange length='48' type-id='type-id-3' id='type-id-52'/>
-
-    </array-type-def>
-    <!-- long long int -->
-    <type-decl name='long long int' size-in-bits='64' id='type-id-53'/>
-    <!-- long long unsigned int -->
-    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-54'/>
-    <!-- unsigned int[2] -->
-    <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='64' id='type-id-55'>
-      <!-- <anonymous range>[2] -->
-      <subrange length='2' type-id='type-id-3' id='type-id-56'/>
-
-    </array-type-def>
-    <!-- typedef __anonymous_union__ pthread_cond_t -->
-    <typedef-decl name='pthread_cond_t' type-id='type-id-57' filepath='/usr/include/bits/pthreadtypes.h' line='80' column='1' id='type-id-58'/>
-    <!-- union {__pthread_cond_s __data; char __size[48]; long long int __align;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='75' column='1' id='type-id-57'>
+    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
+    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-38' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='75' column='1' id='type-id-51'>
       <data-member access='private'>
-        <!-- __pthread_cond_s __data -->
-        <var-decl name='__data' type-id='type-id-59' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='77' column='1'/>
+        <!-- __pthread_cond_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-52' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='77' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- char __size[48] -->
-        <var-decl name='__size' type-id='type-id-51' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='78' column='1'/>
+        <!-- char __anonymous_union__::__size[48] -->
+        <var-decl name='__size' type-id='type-id-53' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='78' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- long long int __align -->
-        <var-decl name='__align' type-id='type-id-53' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='79' column='1'/>
+        <!-- long long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-54' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='79' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __pthread_cond_s -->
-    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='92' column='1' id='type-id-59'>
+    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='171' column='1' id='type-id-52'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <!-- union {long long unsigned int __wseq; struct {unsigned int __low; unsigned int __high;} __wseq32;} -->
-        <var-decl name='' type-id='type-id-60' visibility='default'/>
+        <!-- __anonymous_union__  -->
+        <var-decl name='' type-id='type-id-55' visibility='default'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- unsigned int __pthread_cond_s::__g_refs[2] -->
-        <var-decl name='__g_refs' type-id='type-id-55' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='112' column='1'/>
+        <var-decl name='__g_refs' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='191' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- unsigned int __pthread_cond_s::__g_size[2] -->
-        <var-decl name='__g_size' type-id='type-id-55' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='113' column='1'/>
+        <var-decl name='__g_size' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='192' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- unsigned int __pthread_cond_s::__g1_orig_size -->
-        <var-decl name='__g1_orig_size' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='114' column='1'/>
+        <var-decl name='__g1_orig_size' type-id='type-id-9' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='193' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='288'>
         <!-- unsigned int __pthread_cond_s::__wrefs -->
-        <var-decl name='__wrefs' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='115' column='1'/>
+        <var-decl name='__wrefs' type-id='type-id-9' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='194' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
         <!-- unsigned int __pthread_cond_s::__g_signals[2] -->
-        <var-decl name='__g_signals' type-id='type-id-55' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='116' column='1'/>
+        <var-decl name='__g_signals' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='195' column='1'/>
       </data-member>
     </class-decl>
-    <!-- union {long long unsigned int __wseq; struct {unsigned int __low; unsigned int __high;} __wseq32;} -->
-    <union-decl name='__anonymous_union__1' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='94' column='1' id='type-id-60'>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='173' column='1' id='type-id-55'>
       <data-member access='private'>
-        <!-- long long unsigned int __wseq -->
-        <var-decl name='__wseq' type-id='type-id-54' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='96' column='1'/>
+        <!-- long long unsigned int __anonymous_union__::__wseq -->
+        <var-decl name='__wseq' type-id='type-id-57' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='175' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- struct {unsigned int __low; unsigned int __high;} __wseq32 -->
-        <var-decl name='__wseq32' type-id='type-id-61' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='101' column='1'/>
+        <!-- __anonymous_struct__ __anonymous_union__::__wseq32 -->
+        <var-decl name='__wseq32' type-id='type-id-58' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='180' column='1'/>
       </data-member>
     </union-decl>
-    <!-- struct {unsigned int __low; unsigned int __high;} -->
-    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='97' column='1' id='type-id-61'>
+    <!-- long long unsigned int -->
+    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-57'/>
+    <!-- struct __anonymous_struct__ -->
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='176' column='1' id='type-id-58'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <!-- unsigned int __low -->
-        <var-decl name='__low' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='99' column='1'/>
+        <!-- unsigned int __anonymous_struct__::__low -->
+        <var-decl name='__low' type-id='type-id-9' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='178' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='32'>
-        <!-- unsigned int __high -->
-        <var-decl name='__high' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='100' column='1'/>
+        <!-- unsigned int __anonymous_struct__::__high -->
+        <var-decl name='__high' type-id='type-id-9' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='179' column='1'/>
       </data-member>
     </class-decl>
+
+    <!-- unsigned int[2] -->
+    <array-type-def dimensions='1' type-id='type-id-9' size-in-bits='64' id='type-id-56'>
+      <!-- <anonymous range>[2] -->
+      <subrange length='2' type-id='type-id-2' id='type-id-59'/>
+
+    </array-type-def>
+
+    <!-- char[48] -->
+    <array-type-def dimensions='1' type-id='type-id-47' size-in-bits='384' id='type-id-53'>
+      <!-- <anonymous range>[48] -->
+      <subrange length='48' type-id='type-id-2' id='type-id-60'/>
+
+    </array-type-def>
+    <!-- long long int -->
+    <type-decl name='long long int' size-in-bits='64' id='type-id-54'/>
+    <!-- typedef __anonymous_union__ pthread_cond_t -->
+    <typedef-decl name='pthread_cond_t' type-id='type-id-51' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='80' column='1' id='type-id-61'/>
+    <!-- pthread_cond_t __urcu_compat_futex_cond -->
+    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-61' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
+    <!-- int32_t* -->
+    <pointer-type-def type-id='type-id-3' size-in-bits='64' id='type-id-62'/>
     <!-- struct timespec -->
-    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='10' column='1' id='type-id-62'>
+    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='9' column='1' id='type-id-63'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- __time_t timespec::tv_sec -->
-        <var-decl name='tv_sec' type-id='type-id-63' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='12' column='1'/>
+        <var-decl name='tv_sec' type-id='type-id-64' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='11' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- __syscall_slong_t timespec::tv_nsec -->
-        <var-decl name='tv_nsec' type-id='type-id-64' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='16' column='1'/>
+        <var-decl name='tv_nsec' type-id='type-id-65' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='12' column='1'/>
       </data-member>
     </class-decl>
     <!-- typedef long int __time_t -->
-    <typedef-decl name='__time_t' type-id='type-id-6' filepath='/usr/include/bits/types.h' line='160' column='1' id='type-id-63'/>
+    <typedef-decl name='__time_t' type-id='type-id-42' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='148' column='1' id='type-id-64'/>
     <!-- typedef long int __syscall_slong_t -->
-    <typedef-decl name='__syscall_slong_t' type-id='type-id-6' filepath='/usr/include/bits/types.h' line='197' column='1' id='type-id-64'/>
+    <typedef-decl name='__syscall_slong_t' type-id='type-id-42' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='184' column='1' id='type-id-65'/>
     <!-- const timespec -->
-    <qualified-type-def type-id='type-id-62' const='yes' id='type-id-65'/>
+    <qualified-type-def type-id='type-id-63' const='yes' id='type-id-66'/>
     <!-- const timespec* -->
-    <pointer-type-def type-id='type-id-65' size-in-bits='64' id='type-id-66'/>
-    <!-- int32_t* -->
-    <pointer-type-def type-id='type-id-11' size-in-bits='64' id='type-id-67'/>
-    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
-    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-33' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
-    <!-- pthread_cond_t __urcu_compat_futex_cond -->
-    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-58' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
+    <pointer-type-def type-id='type-id-66' size-in-bits='64' id='type-id-67'/>
     <!-- int compat_futex_async(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
     <function-decl name='compat_futex_async' mangled-name='compat_futex_async' filepath='src/compat_futex.c' line='118' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_async'>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-4' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-3' name='val' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'const timespec*' -->
-      <parameter type-id='type-id-66' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-67' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val3' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-3' name='val3' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-decl>
     <!-- int compat_futex_noasync(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
     <function-decl name='compat_futex_noasync' mangled-name='compat_futex_noasync' filepath='src/compat_futex.c' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_noasync'>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-4' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-3' name='val' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'const timespec*' -->
-      <parameter type-id='type-id-66' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-67' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val3' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-3' name='val3' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-decl>
   </abi-instr>
 </abi-corpus>
index 3fecad80daebd98e5de6cd4416fec6456f40ec6f..d9a5f3e68c788647fb430484dcbe96c0c4566624 100644 (file)
@@ -1,11 +1,14 @@
 <abi-corpus architecture='elf-amd-x86_64' soname='liburcu-signal.so.6'>
   <elf-needed>
-    <dependency name='liburcu-common.so.6'/>
     <dependency name='libpthread.so.0'/>
     <dependency name='libc.so.6'/>
     <dependency name='ld-linux-x86-64.so.2'/>
   </elf-needed>
   <elf-function-symbols>
+    <!-- _fini -->
+    <elf-symbol name='_fini' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- _init -->
+    <elf-symbol name='_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- call_rcu_after_fork_child_sig -->
     <elf-symbol name='call_rcu_after_fork_child_sig' type='func-type' binding='global-binding' visibility='default-visibility' alias='urcu_signal_call_rcu_after_fork_child' is-defined='yes'/>
     <!-- call_rcu_after_fork_parent_sig -->
     <elf-symbol name='urcu_signal_reader' size='256' type='tls-type' binding='global-binding' visibility='default-visibility' alias='rcu_reader_sig' is-defined='yes'/>
   </elf-variable-symbols>
   <abi-instr version='1.0' address-size='64' path='urcu.c' comp-dir-path='src' language='LANG_C99'>
-
-    <!-- char -->
-    <type-decl name='char' size-in-bits='8' id='type-id-1'/>
-    <!-- char[40] -->
-    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='320' id='type-id-2'>
-      <!-- <anonymous range>[40] -->
-      <subrange length='40' type-id='type-id-3' id='type-id-4'/>
-
-    </array-type-def>
-    <!-- int -->
-    <type-decl name='int' size-in-bits='32' id='type-id-5'/>
-    <!-- long int -->
-    <type-decl name='long int' size-in-bits='64' id='type-id-6'/>
-    <!-- short int -->
-    <type-decl name='short int' size-in-bits='16' id='type-id-7'/>
-    <!-- unsigned int -->
-    <type-decl name='unsigned int' size-in-bits='32' id='type-id-8'/>
-    <!-- unsigned long int -->
-    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-3'/>
-    <!-- void -->
-    <type-decl name='void' id='type-id-9'/>
     <!-- struct urcu_gp -->
-    <class-decl name='urcu_gp' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='67' column='1' id='type-id-10'>
+    <class-decl name='urcu_gp' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='67' column='1' id='type-id-1'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned long int urcu_gp::ctr -->
-        <var-decl name='ctr' type-id='type-id-3' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='75' column='1'/>
+        <var-decl name='ctr' type-id='type-id-2' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='75' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- int32_t urcu_gp::futex -->
-        <var-decl name='futex' type-id='type-id-11' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='77' column='1'/>
+        <var-decl name='futex' type-id='type-id-3' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='77' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __int32_t int32_t -->
-    <typedef-decl name='int32_t' type-id='type-id-12' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-11'/>
+    <!-- unsigned long int -->
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-2'/>
+    <!-- int -->
+    <type-decl name='int' size-in-bits='32' id='type-id-4'/>
     <!-- typedef int __int32_t -->
-    <typedef-decl name='__int32_t' type-id='type-id-5' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-12'/>
+    <typedef-decl name='__int32_t' type-id='type-id-4' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='40' column='1' id='type-id-5'/>
+    <!-- typedef __int32_t int32_t -->
+    <typedef-decl name='int32_t' type-id='type-id-5' filepath='/usr/include/x86_64-linux-gnu/bits/stdint-intn.h' line='26' column='1' id='type-id-3'/>
+    <!-- urcu_gp urcu_signal_gp -->
+    <var-decl name='urcu_signal_gp' type-id='type-id-1' mangled-name='urcu_signal_gp' visibility='default' filepath='../include/urcu/static/urcu-signal.h' line='61' column='1' elf-symbol-id='urcu_signal_gp'/>
     <!-- struct urcu_reader -->
-    <class-decl name='urcu_reader' size-in-bits='2048' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='80' column='1' id='type-id-13'>
+    <class-decl name='urcu_reader' size-in-bits='2048' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='80' column='1' id='type-id-6'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned long int urcu_reader::ctr -->
-        <var-decl name='ctr' type-id='type-id-3' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='82' column='1'/>
+        <var-decl name='ctr' type-id='type-id-2' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='82' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- char urcu_reader::need_mb -->
-        <var-decl name='need_mb' type-id='type-id-1' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='83' column='1'/>
+        <var-decl name='need_mb' type-id='type-id-7' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='83' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1024'>
         <!-- cds_list_head urcu_reader::node -->
-        <var-decl name='node' type-id='type-id-14' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='85' column='1'/>
+        <var-decl name='node' type-id='type-id-8' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='85' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1152'>
         <!-- pthread_t urcu_reader::tid -->
-        <var-decl name='tid' type-id='type-id-15' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='86' column='1'/>
+        <var-decl name='tid' type-id='type-id-9' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='86' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='31'>
         <!-- unsigned int urcu_reader::registered -->
-        <var-decl name='registered' type-id='type-id-8' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='88' column='1'/>
+        <var-decl name='registered' type-id='type-id-10' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='88' column='1'/>
       </data-member>
     </class-decl>
+    <!-- char -->
+    <type-decl name='char' size-in-bits='8' id='type-id-7'/>
     <!-- struct cds_list_head -->
-    <class-decl name='cds_list_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/list.h' line='37' column='1' id='type-id-14'>
+    <class-decl name='cds_list_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/list.h' line='37' column='1' id='type-id-8'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_list_head* cds_list_head::next -->
-        <var-decl name='next' type-id='type-id-16' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
+        <var-decl name='next' type-id='type-id-11' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- cds_list_head* cds_list_head::prev -->
-        <var-decl name='prev' type-id='type-id-16' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
+        <var-decl name='prev' type-id='type-id-11' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_list_head* -->
+    <pointer-type-def type-id='type-id-8' size-in-bits='64' id='type-id-11'/>
     <!-- typedef unsigned long int pthread_t -->
-    <typedef-decl name='pthread_t' type-id='type-id-3' filepath='/usr/include/bits/pthreadtypes.h' line='27' column='1' id='type-id-15'/>
+    <typedef-decl name='pthread_t' type-id='type-id-2' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='27' column='1' id='type-id-9'/>
+    <!-- unsigned int -->
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-10'/>
+    <!-- urcu_reader urcu_signal_reader -->
+    <var-decl name='urcu_signal_reader' type-id='type-id-6' mangled-name='urcu_signal_reader' visibility='default' filepath='../include/urcu/static/urcu-signal.h' line='63' column='1' elf-symbol-id='urcu_signal_reader'/>
     <!-- struct rcu_flavor_struct -->
-    <class-decl name='rcu_flavor_struct' size-in-bits='896' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='42' column='1' id='type-id-17'>
+    <class-decl name='rcu_flavor_struct' size-in-bits='896' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='42' column='1' id='type-id-12'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- void ()* rcu_flavor_struct::read_lock -->
-        <var-decl name='read_lock' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='43' column='1'/>
+        <var-decl name='read_lock' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='43' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void ()* rcu_flavor_struct::read_unlock -->
-        <var-decl name='read_unlock' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='44' column='1'/>
+        <var-decl name='read_unlock' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='44' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- int ()* rcu_flavor_struct::read_ongoing -->
-        <var-decl name='read_ongoing' type-id='type-id-19' visibility='default' filepath='../include/urcu/flavor.h' line='45' column='1'/>
+        <var-decl name='read_ongoing' type-id='type-id-14' visibility='default' filepath='../include/urcu/flavor.h' line='45' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- void ()* rcu_flavor_struct::read_quiescent_state -->
-        <var-decl name='read_quiescent_state' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='46' column='1'/>
+        <var-decl name='read_quiescent_state' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='46' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- void (rcu_head*, void (rcu_head*)*)* rcu_flavor_struct::update_call_rcu -->
-        <var-decl name='update_call_rcu' type-id='type-id-20' visibility='default' filepath='../include/urcu/flavor.h' line='47' column='1'/>
+        <var-decl name='update_call_rcu' type-id='type-id-15' visibility='default' filepath='../include/urcu/flavor.h' line='47' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
         <!-- void ()* rcu_flavor_struct::update_synchronize_rcu -->
-        <var-decl name='update_synchronize_rcu' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='49' column='1'/>
+        <var-decl name='update_synchronize_rcu' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='49' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='384'>
         <!-- void (void (void*)*, void*)* rcu_flavor_struct::update_defer_rcu -->
-        <var-decl name='update_defer_rcu' type-id='type-id-21' visibility='default' filepath='../include/urcu/flavor.h' line='50' column='1'/>
+        <var-decl name='update_defer_rcu' type-id='type-id-16' visibility='default' filepath='../include/urcu/flavor.h' line='50' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='448'>
         <!-- void ()* rcu_flavor_struct::thread_offline -->
-        <var-decl name='thread_offline' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='52' column='1'/>
+        <var-decl name='thread_offline' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='52' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='512'>
         <!-- void ()* rcu_flavor_struct::thread_online -->
-        <var-decl name='thread_online' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='53' column='1'/>
+        <var-decl name='thread_online' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='53' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='576'>
         <!-- void ()* rcu_flavor_struct::register_thread -->
-        <var-decl name='register_thread' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='54' column='1'/>
+        <var-decl name='register_thread' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='54' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='640'>
         <!-- void ()* rcu_flavor_struct::unregister_thread -->
-        <var-decl name='unregister_thread' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='55' column='1'/>
+        <var-decl name='unregister_thread' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='55' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='704'>
         <!-- void ()* rcu_flavor_struct::barrier -->
-        <var-decl name='barrier' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='57' column='1'/>
+        <var-decl name='barrier' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='57' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='768'>
         <!-- void (urcu_atfork*)* rcu_flavor_struct::register_rculfhash_atfork -->
-        <var-decl name='register_rculfhash_atfork' type-id='type-id-22' visibility='default' filepath='../include/urcu/flavor.h' line='59' column='1'/>
+        <var-decl name='register_rculfhash_atfork' type-id='type-id-17' visibility='default' filepath='../include/urcu/flavor.h' line='59' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='832'>
         <!-- void (urcu_atfork*)* rcu_flavor_struct::unregister_rculfhash_atfork -->
-        <var-decl name='unregister_rculfhash_atfork' type-id='type-id-22' visibility='default' filepath='../include/urcu/flavor.h' line='60' column='1'/>
+        <var-decl name='unregister_rculfhash_atfork' type-id='type-id-17' visibility='default' filepath='../include/urcu/flavor.h' line='60' column='1'/>
       </data-member>
     </class-decl>
+    <!-- void -->
+    <type-decl name='void' id='type-id-18'/>
+    <!-- void ()* -->
+    <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-13'/>
+    <!-- int ()* -->
+    <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-14'/>
     <!-- struct rcu_head -->
-    <class-decl name='rcu_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/call-rcu.h' line='57' column='1' id='type-id-23'>
+    <class-decl name='rcu_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/call-rcu.h' line='57' column='1' id='type-id-21'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node rcu_head::next -->
-        <var-decl name='next' type-id='type-id-24' visibility='default' filepath='../include/urcu/call-rcu.h' line='58' column='1'/>
+        <var-decl name='next' type-id='type-id-22' visibility='default' filepath='../include/urcu/call-rcu.h' line='58' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void (rcu_head*)* rcu_head::func -->
-        <var-decl name='func' type-id='type-id-25' visibility='default' filepath='../include/urcu/call-rcu.h' line='59' column='1'/>
+        <var-decl name='func' type-id='type-id-23' visibility='default' filepath='../include/urcu/call-rcu.h' line='59' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_node -->
-    <class-decl name='cds_wfcq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='59' column='1' id='type-id-24'>
+    <class-decl name='cds_wfcq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='59' column='1' id='type-id-22'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node* cds_wfcq_node::next -->
-        <var-decl name='next' type-id='type-id-26' visibility='default' filepath='../include/urcu/wfcqueue.h' line='60' column='1'/>
+        <var-decl name='next' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='60' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_wfcq_node* -->
+    <pointer-type-def type-id='type-id-22' size-in-bits='64' id='type-id-24'/>
+    <!-- rcu_head* -->
+    <pointer-type-def type-id='type-id-21' size-in-bits='64' id='type-id-25'/>
+    <!-- void (rcu_head*)* -->
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-23'/>
+    <!-- void (rcu_head*, void (rcu_head*)*)* -->
+    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-15'/>
+    <!-- void* -->
+    <pointer-type-def type-id='type-id-18' size-in-bits='64' id='type-id-28'/>
+    <!-- void (void*)* -->
+    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-30'/>
+    <!-- void (void (void*)*, void*)* -->
+    <pointer-type-def type-id='type-id-31' size-in-bits='64' id='type-id-16'/>
     <!-- struct urcu_atfork -->
-    <class-decl name='urcu_atfork' size-in-bits='256' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='32' column='1' id='type-id-27'>
+    <class-decl name='urcu_atfork' size-in-bits='256' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='32' column='1' id='type-id-32'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- void (void*)* urcu_atfork::before_fork -->
-        <var-decl name='before_fork' type-id='type-id-28' visibility='default' filepath='../include/urcu/flavor.h' line='33' column='1'/>
+        <var-decl name='before_fork' type-id='type-id-30' visibility='default' filepath='../include/urcu/flavor.h' line='33' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void (void*)* urcu_atfork::after_fork_parent -->
-        <var-decl name='after_fork_parent' type-id='type-id-28' visibility='default' filepath='../include/urcu/flavor.h' line='34' column='1'/>
+        <var-decl name='after_fork_parent' type-id='type-id-30' visibility='default' filepath='../include/urcu/flavor.h' line='34' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- void (void*)* urcu_atfork::after_fork_child -->
-        <var-decl name='after_fork_child' type-id='type-id-28' visibility='default' filepath='../include/urcu/flavor.h' line='35' column='1'/>
+        <var-decl name='after_fork_child' type-id='type-id-30' visibility='default' filepath='../include/urcu/flavor.h' line='35' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- void* urcu_atfork::priv -->
-        <var-decl name='priv' type-id='type-id-29' visibility='default' filepath='../include/urcu/flavor.h' line='36' column='1'/>
+        <var-decl name='priv' type-id='type-id-28' visibility='default' filepath='../include/urcu/flavor.h' line='36' column='1'/>
       </data-member>
     </class-decl>
+    <!-- urcu_atfork* -->
+    <pointer-type-def type-id='type-id-32' size-in-bits='64' id='type-id-33'/>
+    <!-- void (urcu_atfork*)* -->
+    <pointer-type-def type-id='type-id-34' size-in-bits='64' id='type-id-17'/>
+    <!-- const rcu_flavor_struct -->
+    <qualified-type-def type-id='type-id-12' const='yes' id='type-id-35'/>
+    <!-- const rcu_flavor_struct urcu_signal_flavor -->
+    <var-decl name='urcu_signal_flavor' type-id='type-id-35' mangled-name='urcu_signal_flavor' visibility='default' filepath='../include/urcu/flavor.h' line='90' column='1' elf-symbol-id='urcu_signal_flavor'/>
+    <!-- void urcu_signal_defer_exit() -->
+    <function-decl name='urcu_signal_defer_exit' mangled-name='rcu_defer_exit_sig' filepath='src/urcu-defer-impl.h' line='476' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_exit_sig'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_signal_defer_unregister_thread() -->
+    <function-decl name='urcu_signal_defer_unregister_thread' mangled-name='rcu_defer_unregister_thread_sig' filepath='src/urcu-defer-impl.h' line='456' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_unregister_thread_sig'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- int urcu_signal_defer_register_thread() -->
+    <function-decl name='urcu_signal_defer_register_thread' mangled-name='urcu_signal_defer_register_thread' filepath='src/urcu-defer-impl.h' line='432' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_defer_register_thread'>
+      <!-- int -->
+      <return type-id='type-id-4'/>
+    </function-decl>
+    <!-- void urcu_signal_defer_rcu(void (void*)*, void*) -->
+    <function-decl name='urcu_signal_defer_rcu' mangled-name='urcu_signal_defer_rcu' filepath='src/urcu-defer-impl.h' line='400' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_defer_rcu'>
+      <!-- parameter of type 'void (void*)*' -->
+      <parameter type-id='type-id-30' name='fct' filepath='src/urcu-defer-impl.h' line='400' column='1'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-28' name='p' filepath='src/urcu-defer-impl.h' line='400' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_signal_defer_barrier() -->
+    <function-decl name='urcu_signal_defer_barrier' mangled-name='rcu_defer_barrier_sig' filepath='src/urcu-defer-impl.h' line='284' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_barrier_sig'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_signal_defer_barrier_thread() -->
+    <function-decl name='urcu_signal_defer_barrier_thread' mangled-name='rcu_defer_barrier_thread_sig' filepath='src/urcu-defer-impl.h' line='262' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_barrier_thread_sig'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_signal_unregister_rculfhash_atfork(urcu_atfork*) -->
+    <function-decl name='urcu_signal_unregister_rculfhash_atfork' mangled-name='urcu_unregister_rculfhash_atfork_sig' filepath='src/urcu-call-rcu-impl.h' line='1056' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_unregister_rculfhash_atfork_sig'>
+      <!-- parameter of type 'urcu_atfork*' -->
+      <parameter type-id='type-id-33' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1056' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_signal_register_rculfhash_atfork(urcu_atfork*) -->
+    <function-decl name='urcu_signal_register_rculfhash_atfork' mangled-name='urcu_signal_register_rculfhash_atfork' filepath='src/urcu-call-rcu-impl.h' line='1044' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_register_rculfhash_atfork'>
+      <!-- parameter of type 'urcu_atfork*' -->
+      <parameter type-id='type-id-33' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1056' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_signal_call_rcu_after_fork_child() -->
+    <function-decl name='urcu_signal_call_rcu_after_fork_child' mangled-name='call_rcu_after_fork_child_sig' filepath='src/urcu-call-rcu-impl.h' line='1000' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_after_fork_child_sig'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_signal_call_rcu_after_fork_parent() -->
+    <function-decl name='urcu_signal_call_rcu_after_fork_parent' mangled-name='urcu_signal_call_rcu_after_fork_parent' filepath='src/urcu-call-rcu-impl.h' line='976' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_call_rcu_after_fork_parent'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_signal_call_rcu_before_fork() -->
+    <function-decl name='urcu_signal_call_rcu_before_fork' mangled-name='call_rcu_before_fork_sig' filepath='src/urcu-call-rcu-impl.h' line='947' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_before_fork_sig'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_signal_barrier() -->
+    <function-decl name='urcu_signal_barrier' mangled-name='urcu_signal_barrier' filepath='src/urcu-call-rcu-impl.h' line='874' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_barrier'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_signal_free_all_cpu_call_rcu_data() -->
+    <function-decl name='urcu_signal_free_all_cpu_call_rcu_data' mangled-name='urcu_signal_free_all_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='801' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_free_all_cpu_call_rcu_data'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
     <!-- struct call_rcu_data -->
-    <class-decl name='call_rcu_data' size-in-bits='1024' is-struct='yes' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='53' column='1' id='type-id-30'>
+    <class-decl name='call_rcu_data' size-in-bits='1024' is-struct='yes' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='53' column='1' id='type-id-36'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_tail call_rcu_data::cbs_tail -->
-        <var-decl name='cbs_tail' type-id='type-id-31' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='61' column='1'/>
+        <var-decl name='cbs_tail' type-id='type-id-37' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='61' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- cds_wfcq_head call_rcu_data::cbs_head -->
-        <var-decl name='cbs_head' type-id='type-id-32' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='62' column='1'/>
+        <var-decl name='cbs_head' type-id='type-id-38' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='62' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='448'>
         <!-- unsigned long int call_rcu_data::flags -->
-        <var-decl name='flags' type-id='type-id-3' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='63' column='1'/>
+        <var-decl name='flags' type-id='type-id-2' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='63' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='512'>
         <!-- int32_t call_rcu_data::futex -->
-        <var-decl name='futex' type-id='type-id-11' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='64' column='1'/>
+        <var-decl name='futex' type-id='type-id-3' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='64' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='576'>
         <!-- unsigned long int call_rcu_data::qlen -->
-        <var-decl name='qlen' type-id='type-id-3' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='65' column='1'/>
+        <var-decl name='qlen' type-id='type-id-2' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='65' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='640'>
         <!-- pthread_t call_rcu_data::tid -->
-        <var-decl name='tid' type-id='type-id-15' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='66' column='1'/>
+        <var-decl name='tid' type-id='type-id-9' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='66' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='704'>
         <!-- int call_rcu_data::cpu_affinity -->
-        <var-decl name='cpu_affinity' type-id='type-id-5' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='67' column='1'/>
+        <var-decl name='cpu_affinity' type-id='type-id-4' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='67' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='768'>
         <!-- unsigned long int call_rcu_data::gp_count -->
-        <var-decl name='gp_count' type-id='type-id-3' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='68' column='1'/>
+        <var-decl name='gp_count' type-id='type-id-2' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='68' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='832'>
         <!-- cds_list_head call_rcu_data::list -->
-        <var-decl name='list' type-id='type-id-14' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='69' column='1'/>
+        <var-decl name='list' type-id='type-id-8' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='69' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_tail -->
-    <class-decl name='cds_wfcq_tail' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='127' column='1' id='type-id-31'>
+    <class-decl name='cds_wfcq_tail' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='127' column='1' id='type-id-37'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node* cds_wfcq_tail::p -->
-        <var-decl name='p' type-id='type-id-26' visibility='default' filepath='../include/urcu/wfcqueue.h' line='128' column='1'/>
+        <var-decl name='p' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='128' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_head -->
-    <class-decl name='cds_wfcq_head' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='72' column='1' id='type-id-32'>
+    <class-decl name='cds_wfcq_head' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='72' column='1' id='type-id-38'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node cds_wfcq_head::node -->
-        <var-decl name='node' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='73' column='1'/>
+        <var-decl name='node' type-id='type-id-22' visibility='default' filepath='../include/urcu/wfcqueue.h' line='73' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- pthread_mutex_t cds_wfcq_head::lock -->
-        <var-decl name='lock' type-id='type-id-33' visibility='default' filepath='../include/urcu/wfcqueue.h' line='74' column='1'/>
+        <var-decl name='lock' type-id='type-id-39' visibility='default' filepath='../include/urcu/wfcqueue.h' line='74' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __anonymous_union__ pthread_mutex_t -->
-    <typedef-decl name='pthread_mutex_t' type-id='type-id-34' filepath='/usr/include/bits/pthreadtypes.h' line='72' column='1' id='type-id-33'/>
-    <!-- union {__pthread_mutex_s __data; char __size[40]; long int __align;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='67' column='1' id='type-id-34'>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='67' column='1' id='type-id-40'>
       <data-member access='private'>
-        <!-- __pthread_mutex_s __data -->
-        <var-decl name='__data' type-id='type-id-35' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='69' column='1'/>
+        <!-- __pthread_mutex_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-41' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='69' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- char __size[40] -->
-        <var-decl name='__size' type-id='type-id-2' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='70' column='1'/>
+        <!-- char __anonymous_union__::__size[40] -->
+        <var-decl name='__size' type-id='type-id-42' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='70' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- long int __align -->
-        <var-decl name='__align' type-id='type-id-6' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='71' column='1'/>
+        <!-- long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-43' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='71' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __pthread_mutex_s -->
-    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='22' column='1' id='type-id-35'>
+    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='118' column='1' id='type-id-41'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- int __pthread_mutex_s::__lock -->
-        <var-decl name='__lock' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='24' column='1'/>
+        <var-decl name='__lock' type-id='type-id-4' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='120' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='32'>
         <!-- unsigned int __pthread_mutex_s::__count -->
-        <var-decl name='__count' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='25' column='1'/>
+        <var-decl name='__count' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='121' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- int __pthread_mutex_s::__owner -->
-        <var-decl name='__owner' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='26' column='1'/>
+        <var-decl name='__owner' type-id='type-id-4' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='122' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='96'>
         <!-- unsigned int __pthread_mutex_s::__nusers -->
-        <var-decl name='__nusers' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='28' column='1'/>
+        <var-decl name='__nusers' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='124' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- int __pthread_mutex_s::__kind -->
-        <var-decl name='__kind' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='32' column='1'/>
+        <var-decl name='__kind' type-id='type-id-4' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='148' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='160'>
         <!-- short int __pthread_mutex_s::__spins -->
-        <var-decl name='__spins' type-id='type-id-7' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='34' column='1'/>
+        <var-decl name='__spins' type-id='type-id-44' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='176'>
         <!-- short int __pthread_mutex_s::__elision -->
-        <var-decl name='__elision' type-id='type-id-7' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='35' column='1'/>
+        <var-decl name='__elision' type-id='type-id-44' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- __pthread_list_t __pthread_mutex_s::__list -->
-        <var-decl name='__list' type-id='type-id-36' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='36' column='1'/>
+        <var-decl name='__list' type-id='type-id-45' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='155' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __pthread_internal_list __pthread_list_t -->
-    <typedef-decl name='__pthread_list_t' type-id='type-id-37' filepath='/usr/include/bits/thread-shared-types.h' line='53' column='1' id='type-id-36'/>
+    <!-- short int -->
+    <type-decl name='short int' size-in-bits='16' id='type-id-44'/>
     <!-- struct __pthread_internal_list -->
-    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='49' column='1' id='type-id-37'>
+    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='82' column='1' id='type-id-46'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- __pthread_internal_list* __pthread_internal_list::__prev -->
-        <var-decl name='__prev' type-id='type-id-38' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='51' column='1'/>
+        <var-decl name='__prev' type-id='type-id-47' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='84' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- __pthread_internal_list* __pthread_internal_list::__next -->
-        <var-decl name='__next' type-id='type-id-38' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='52' column='1'/>
+        <var-decl name='__next' type-id='type-id-47' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='85' column='1'/>
       </data-member>
     </class-decl>
     <!-- __pthread_internal_list* -->
-    <pointer-type-def type-id='type-id-37' size-in-bits='64' id='type-id-38'/>
+    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-47'/>
+    <!-- typedef __pthread_internal_list __pthread_list_t -->
+    <typedef-decl name='__pthread_list_t' type-id='type-id-46' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='86' column='1' id='type-id-45'/>
+
+    <!-- char[40] -->
+    <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='320' id='type-id-42'>
+      <!-- <anonymous range>[40] -->
+      <subrange length='40' type-id='type-id-2' id='type-id-48'/>
+
+    </array-type-def>
+    <!-- long int -->
+    <type-decl name='long int' size-in-bits='64' id='type-id-43'/>
+    <!-- typedef __anonymous_union__ pthread_mutex_t -->
+    <typedef-decl name='pthread_mutex_t' type-id='type-id-40' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='72' column='1' id='type-id-39'/>
     <!-- call_rcu_data* -->
-    <pointer-type-def type-id='type-id-30' size-in-bits='64' id='type-id-39'/>
-    <!-- cds_list_head* -->
-    <pointer-type-def type-id='type-id-14' size-in-bits='64' id='type-id-16'/>
-    <!-- cds_wfcq_node* -->
-    <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-26'/>
-    <!-- const rcu_flavor_struct -->
-    <qualified-type-def type-id='type-id-17' const='yes' id='type-id-40'/>
-    <!-- int ()* -->
-    <pointer-type-def type-id='type-id-41' size-in-bits='64' id='type-id-19'/>
-    <!-- rcu_head* -->
-    <pointer-type-def type-id='type-id-23' size-in-bits='64' id='type-id-42'/>
-    <!-- urcu_atfork* -->
-    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-43'/>
-    <!-- void ()* -->
-    <pointer-type-def type-id='type-id-44' size-in-bits='64' id='type-id-18'/>
-    <!-- void (rcu_head*)* -->
-    <pointer-type-def type-id='type-id-45' size-in-bits='64' id='type-id-25'/>
-    <!-- void (rcu_head*, void (rcu_head*)*)* -->
-    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-20'/>
-    <!-- void (urcu_atfork*)* -->
-    <pointer-type-def type-id='type-id-47' size-in-bits='64' id='type-id-22'/>
-    <!-- void (void (void*)*, void*)* -->
-    <pointer-type-def type-id='type-id-48' size-in-bits='64' id='type-id-21'/>
-    <!-- void (void*)* -->
-    <pointer-type-def type-id='type-id-49' size-in-bits='64' id='type-id-28'/>
-    <!-- void* -->
-    <pointer-type-def type-id='type-id-9' size-in-bits='64' id='type-id-29'/>
-    <!-- urcu_gp urcu_signal_gp -->
-    <var-decl name='urcu_signal_gp' type-id='type-id-10' mangled-name='urcu_signal_gp' visibility='default' filepath='../include/urcu/static/urcu-signal.h' line='61' column='1' elf-symbol-id='urcu_signal_gp'/>
-    <!-- urcu_reader urcu_signal_reader -->
-    <var-decl name='urcu_signal_reader' type-id='type-id-13' mangled-name='urcu_signal_reader' visibility='default' filepath='../include/urcu/static/urcu-signal.h' line='63' column='1' elf-symbol-id='urcu_signal_reader'/>
-    <!-- const rcu_flavor_struct urcu_signal_flavor -->
-    <var-decl name='urcu_signal_flavor' type-id='type-id-40' mangled-name='urcu_signal_flavor' visibility='default' filepath='../include/urcu/flavor.h' line='90' column='1' elf-symbol-id='urcu_signal_flavor'/>
-    <!-- void urcu_signal_defer_exit() -->
-    <function-decl name='urcu_signal_defer_exit' mangled-name='rcu_defer_exit_sig' filepath='src/urcu-defer-impl.h' line='476' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_exit_sig'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_signal_defer_unregister_thread() -->
-    <function-decl name='urcu_signal_defer_unregister_thread' mangled-name='rcu_defer_unregister_thread_sig' filepath='src/urcu-defer-impl.h' line='456' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_unregister_thread_sig'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- int urcu_signal_defer_register_thread() -->
-    <function-decl name='urcu_signal_defer_register_thread' mangled-name='urcu_signal_defer_register_thread' filepath='src/urcu-defer-impl.h' line='432' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_defer_register_thread'>
-      <!-- int -->
-      <return type-id='type-id-5'/>
-    </function-decl>
-    <!-- void urcu_signal_defer_rcu(void (void*)*, void*) -->
-    <function-decl name='urcu_signal_defer_rcu' mangled-name='urcu_signal_defer_rcu' filepath='src/urcu-defer-impl.h' line='400' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_defer_rcu'>
-      <!-- parameter of type 'void (void*)*' -->
-      <parameter type-id='type-id-28' name='fct' filepath='src/urcu-defer-impl.h' line='400' column='1'/>
-      <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='p' filepath='src/urcu-defer-impl.h' line='400' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_signal_defer_barrier() -->
-    <function-decl name='urcu_signal_defer_barrier' mangled-name='rcu_defer_barrier_sig' filepath='src/urcu-defer-impl.h' line='284' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_barrier_sig'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_signal_defer_barrier_thread() -->
-    <function-decl name='urcu_signal_defer_barrier_thread' mangled-name='rcu_defer_barrier_thread_sig' filepath='src/urcu-defer-impl.h' line='262' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_barrier_thread_sig'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_signal_unregister_rculfhash_atfork(urcu_atfork*) -->
-    <function-decl name='urcu_signal_unregister_rculfhash_atfork' mangled-name='urcu_unregister_rculfhash_atfork_sig' filepath='src/urcu-call-rcu-impl.h' line='1056' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_unregister_rculfhash_atfork_sig'>
-      <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-43' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1056' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_signal_register_rculfhash_atfork(urcu_atfork*) -->
-    <function-decl name='urcu_signal_register_rculfhash_atfork' mangled-name='urcu_signal_register_rculfhash_atfork' filepath='src/urcu-call-rcu-impl.h' line='1044' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_register_rculfhash_atfork'>
-      <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-43' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1044' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_signal_call_rcu_after_fork_child() -->
-    <function-decl name='urcu_signal_call_rcu_after_fork_child' mangled-name='call_rcu_after_fork_child_sig' filepath='src/urcu-call-rcu-impl.h' line='1000' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_after_fork_child_sig'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_signal_call_rcu_after_fork_parent() -->
-    <function-decl name='urcu_signal_call_rcu_after_fork_parent' mangled-name='urcu_signal_call_rcu_after_fork_parent' filepath='src/urcu-call-rcu-impl.h' line='976' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_call_rcu_after_fork_parent'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_signal_call_rcu_before_fork() -->
-    <function-decl name='urcu_signal_call_rcu_before_fork' mangled-name='call_rcu_before_fork_sig' filepath='src/urcu-call-rcu-impl.h' line='947' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_before_fork_sig'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_signal_barrier() -->
-    <function-decl name='urcu_signal_barrier' mangled-name='urcu_signal_barrier' filepath='src/urcu-call-rcu-impl.h' line='874' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_barrier'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_signal_free_all_cpu_call_rcu_data() -->
-    <function-decl name='urcu_signal_free_all_cpu_call_rcu_data' mangled-name='urcu_signal_free_all_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='801' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_free_all_cpu_call_rcu_data'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
+    <pointer-type-def type-id='type-id-36' size-in-bits='64' id='type-id-49'/>
     <!-- void urcu_signal_call_rcu_data_free(call_rcu_data*) -->
     <function-decl name='urcu_signal_call_rcu_data_free' mangled-name='call_rcu_data_free_sig' filepath='src/urcu-call-rcu-impl.h' line='764' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_data_free_sig'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='764' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='764' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void urcu_signal_call_rcu(rcu_head*, void (rcu_head*)*) -->
     <function-decl name='urcu_signal_call_rcu' mangled-name='urcu_signal_call_rcu' filepath='src/urcu-call-rcu-impl.h' line='725' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_call_rcu'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42' name='head' filepath='src/urcu-call-rcu-impl.h' line='725' column='1'/>
+      <parameter type-id='type-id-25' name='head' filepath='src/urcu-call-rcu-impl.h' line='725' column='1'/>
       <!-- parameter of type 'void (rcu_head*)*' -->
-      <parameter type-id='type-id-25' name='func' filepath='src/urcu-call-rcu-impl.h' line='726' column='1'/>
+      <parameter type-id='type-id-23' name='func' filepath='src/urcu-call-rcu-impl.h' line='726' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- int urcu_signal_create_all_cpu_call_rcu_data(unsigned long int) -->
     <function-decl name='urcu_signal_create_all_cpu_call_rcu_data' mangled-name='create_all_cpu_call_rcu_data_sig' filepath='src/urcu-call-rcu-impl.h' line='645' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='create_all_cpu_call_rcu_data_sig'>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-3' name='flags' filepath='src/urcu-call-rcu-impl.h' line='645' column='1'/>
+      <parameter type-id='type-id-2' name='flags' filepath='src/urcu-call-rcu-impl.h' line='645' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-decl>
     <!-- void urcu_signal_set_thread_call_rcu_data(call_rcu_data*) -->
     <function-decl name='urcu_signal_set_thread_call_rcu_data' mangled-name='urcu_signal_set_thread_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='630' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_set_thread_call_rcu_data'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='630' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='630' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- call_rcu_data* urcu_signal_get_thread_call_rcu_data() -->
     <function-decl name='urcu_signal_get_thread_call_rcu_data' mangled-name='urcu_signal_get_thread_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='612' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_get_thread_call_rcu_data'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- call_rcu_data* urcu_signal_get_call_rcu_data() -->
     <function-decl name='urcu_signal_get_call_rcu_data' mangled-name='urcu_signal_get_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='590' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_get_call_rcu_data'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- call_rcu_data* urcu_signal_get_default_call_rcu_data() -->
     <function-decl name='urcu_signal_get_default_call_rcu_data' mangled-name='urcu_signal_get_default_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='563' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_get_default_call_rcu_data'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- int urcu_signal_set_cpu_call_rcu_data(int, call_rcu_data*) -->
     <function-decl name='urcu_signal_set_cpu_call_rcu_data' mangled-name='set_cpu_call_rcu_data_sig' filepath='src/urcu-call-rcu-impl.h' line='522' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='set_cpu_call_rcu_data_sig'>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='522' column='1'/>
+      <parameter type-id='type-id-4' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='522' column='1'/>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='522' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='522' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-decl>
     <!-- call_rcu_data* urcu_signal_create_call_rcu_data(unsigned long int, int) -->
     <function-decl name='urcu_signal_create_call_rcu_data' mangled-name='urcu_signal_create_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='498' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_create_call_rcu_data'>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-3' name='flags' filepath='src/urcu-call-rcu-impl.h' line='498' column='1'/>
+      <parameter type-id='type-id-2' name='flags' filepath='src/urcu-call-rcu-impl.h' line='498' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu_affinity' filepath='src/urcu-call-rcu-impl.h' line='499' column='1'/>
+      <parameter type-id='type-id-4' name='cpu_affinity' filepath='src/urcu-call-rcu-impl.h' line='499' column='1'/>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- pthread_t urcu_signal_get_call_rcu_thread(call_rcu_data*) -->
     <function-decl name='urcu_signal_get_call_rcu_thread' mangled-name='get_call_rcu_thread_sig' filepath='src/urcu-call-rcu-impl.h' line='476' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_call_rcu_thread_sig'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='476' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='476' column='1'/>
       <!-- typedef pthread_t -->
-      <return type-id='type-id-15'/>
+      <return type-id='type-id-9'/>
     </function-decl>
     <!-- call_rcu_data* urcu_signal_get_cpu_call_rcu_data(int) -->
     <function-decl name='urcu_signal_get_cpu_call_rcu_data' mangled-name='get_cpu_call_rcu_data_sig' filepath='src/urcu-call-rcu-impl.h' line='452' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_cpu_call_rcu_data_sig'>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='452' column='1'/>
+      <parameter type-id='type-id-4' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='452' column='1'/>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- void urcu_signal_exit() -->
     <function-decl name='urcu_signal_exit' mangled-name='urcu_signal_exit' filepath='src/urcu.c' line='666' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_exit'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void urcu_signal_init() -->
     <function-decl name='urcu_signal_init' mangled-name='rcu_init_sig' filepath='src/urcu.c' line='647' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_init_sig'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void urcu_signal_unregister_thread() -->
     <function-decl name='urcu_signal_unregister_thread' mangled-name='urcu_signal_unregister_thread' filepath='src/urcu.c' line='563' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_unregister_thread'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void urcu_signal_register_thread() -->
     <function-decl name='urcu_signal_register_thread' mangled-name='urcu_signal_register_thread' filepath='src/urcu.c' line='547' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_register_thread'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- int urcu_signal_read_ongoing() -->
     <function-decl name='urcu_signal_read_ongoing' mangled-name='rcu_read_ongoing_sig' filepath='src/urcu.c' line='540' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_read_ongoing_sig'>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-decl>
     <!-- void urcu_signal_read_unlock() -->
     <function-decl name='urcu_signal_read_unlock' mangled-name='rcu_read_unlock_sig' filepath='src/urcu.c' line='533' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_read_unlock_sig'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void urcu_signal_read_lock() -->
     <function-decl name='urcu_signal_read_lock' mangled-name='urcu_signal_read_lock' filepath='src/urcu.c' line='526' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_read_lock'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void urcu_signal_synchronize_rcu() -->
     <function-decl name='urcu_signal_synchronize_rcu' mangled-name='urcu_signal_synchronize_rcu' filepath='src/urcu.c' line='403' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_synchronize_rcu'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- int () -->
-    <function-type size-in-bits='64' id='type-id-41'>
+    <function-type size-in-bits='64' id='type-id-20'>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-type>
     <!-- void () -->
-    <function-type size-in-bits='64' id='type-id-44'>
+    <function-type size-in-bits='64' id='type-id-19'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (rcu_head*) -->
-    <function-type size-in-bits='64' id='type-id-45'>
+    <function-type size-in-bits='64' id='type-id-26'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42'/>
+      <parameter type-id='type-id-25'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (rcu_head*, void (rcu_head*)*) -->
-    <function-type size-in-bits='64' id='type-id-46'>
+    <function-type size-in-bits='64' id='type-id-27'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42'/>
-      <!-- parameter of type 'void (rcu_head*)*' -->
       <parameter type-id='type-id-25'/>
+      <!-- parameter of type 'void (rcu_head*)*' -->
+      <parameter type-id='type-id-23'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (urcu_atfork*) -->
-    <function-type size-in-bits='64' id='type-id-47'>
+    <function-type size-in-bits='64' id='type-id-34'>
       <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-43'/>
+      <parameter type-id='type-id-33'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (void (void*)*, void*) -->
-    <function-type size-in-bits='64' id='type-id-48'>
+    <function-type size-in-bits='64' id='type-id-31'>
       <!-- parameter of type 'void (void*)*' -->
-      <parameter type-id='type-id-28'/>
+      <parameter type-id='type-id-30'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29'/>
+      <parameter type-id='type-id-28'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (void*) -->
-    <function-type size-in-bits='64' id='type-id-49'>
+    <function-type size-in-bits='64' id='type-id-29'>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29'/>
+      <parameter type-id='type-id-28'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='urcu-pointer.c' comp-dir-path='src' language='LANG_C99'>
     <!-- void** -->
-    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-50'/>
+    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-50'/>
     <!-- void* rcu_cmpxchg_pointer_sym(void**, void*, void*) -->
     <function-decl name='rcu_cmpxchg_pointer_sym' mangled-name='rcu_cmpxchg_pointer_sym' filepath='src/urcu-pointer.c' line='53' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_cmpxchg_pointer_sym'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='53' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='old' filepath='src/urcu-pointer.c' line='53' column='1'/>
+      <parameter type-id='type-id-28' name='old' filepath='src/urcu-pointer.c' line='53' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='_new' filepath='src/urcu-pointer.c' line='53' column='1'/>
+      <parameter type-id='type-id-28' name='_new' filepath='src/urcu-pointer.c' line='53' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-28'/>
     </function-decl>
     <!-- void* rcu_xchg_pointer_sym(void**, void*) -->
     <function-decl name='rcu_xchg_pointer_sym' mangled-name='rcu_xchg_pointer_sym' filepath='src/urcu-pointer.c' line='47' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_xchg_pointer_sym'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='47' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='v' filepath='src/urcu-pointer.c' line='47' column='1'/>
+      <parameter type-id='type-id-28' name='v' filepath='src/urcu-pointer.c' line='47' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-28'/>
     </function-decl>
     <!-- void* rcu_set_pointer_sym(void**, void*) -->
     <function-decl name='rcu_set_pointer_sym' mangled-name='rcu_set_pointer_sym' filepath='src/urcu-pointer.c' line='40' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_set_pointer_sym'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='40' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='v' filepath='src/urcu-pointer.c' line='40' column='1'/>
+      <parameter type-id='type-id-28' name='v' filepath='src/urcu-pointer.c' line='40' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-28'/>
     </function-decl>
     <!-- void* rcu_dereference_sym(void*) -->
     <function-decl name='rcu_dereference_sym' mangled-name='rcu_dereference_sym' filepath='src/urcu-pointer.c' line='35' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_dereference_sym'>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='p' filepath='src/urcu-pointer.c' line='35' column='1'/>
+      <parameter type-id='type-id-28' name='p' filepath='src/urcu-pointer.c' line='35' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-28'/>
     </function-decl>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='compat_futex.c' comp-dir-path='src' language='LANG_C99'>
-
-
-    <!-- char[48] -->
-    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='384' id='type-id-51'>
-      <!-- <anonymous range>[48] -->
-      <subrange length='48' type-id='type-id-3' id='type-id-52'/>
-
-    </array-type-def>
-    <!-- long long int -->
-    <type-decl name='long long int' size-in-bits='64' id='type-id-53'/>
-    <!-- long long unsigned int -->
-    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-54'/>
-    <!-- unsigned int[2] -->
-    <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='64' id='type-id-55'>
-      <!-- <anonymous range>[2] -->
-      <subrange length='2' type-id='type-id-3' id='type-id-56'/>
-
-    </array-type-def>
-    <!-- typedef __anonymous_union__ pthread_cond_t -->
-    <typedef-decl name='pthread_cond_t' type-id='type-id-57' filepath='/usr/include/bits/pthreadtypes.h' line='80' column='1' id='type-id-58'/>
-    <!-- union {__pthread_cond_s __data; char __size[48]; long long int __align;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='75' column='1' id='type-id-57'>
+    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
+    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-39' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='75' column='1' id='type-id-51'>
       <data-member access='private'>
-        <!-- __pthread_cond_s __data -->
-        <var-decl name='__data' type-id='type-id-59' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='77' column='1'/>
+        <!-- __pthread_cond_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-52' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='77' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- char __size[48] -->
-        <var-decl name='__size' type-id='type-id-51' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='78' column='1'/>
+        <!-- char __anonymous_union__::__size[48] -->
+        <var-decl name='__size' type-id='type-id-53' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='78' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- long long int __align -->
-        <var-decl name='__align' type-id='type-id-53' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='79' column='1'/>
+        <!-- long long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-54' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='79' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __pthread_cond_s -->
-    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='92' column='1' id='type-id-59'>
+    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='171' column='1' id='type-id-52'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <!-- union {long long unsigned int __wseq; struct {unsigned int __low; unsigned int __high;} __wseq32;} -->
-        <var-decl name='' type-id='type-id-60' visibility='default'/>
+        <!-- __anonymous_union__  -->
+        <var-decl name='' type-id='type-id-55' visibility='default'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- unsigned int __pthread_cond_s::__g_refs[2] -->
-        <var-decl name='__g_refs' type-id='type-id-55' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='112' column='1'/>
+        <var-decl name='__g_refs' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='191' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- unsigned int __pthread_cond_s::__g_size[2] -->
-        <var-decl name='__g_size' type-id='type-id-55' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='113' column='1'/>
+        <var-decl name='__g_size' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='192' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- unsigned int __pthread_cond_s::__g1_orig_size -->
-        <var-decl name='__g1_orig_size' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='114' column='1'/>
+        <var-decl name='__g1_orig_size' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='193' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='288'>
         <!-- unsigned int __pthread_cond_s::__wrefs -->
-        <var-decl name='__wrefs' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='115' column='1'/>
+        <var-decl name='__wrefs' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='194' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
         <!-- unsigned int __pthread_cond_s::__g_signals[2] -->
-        <var-decl name='__g_signals' type-id='type-id-55' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='116' column='1'/>
+        <var-decl name='__g_signals' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='195' column='1'/>
       </data-member>
     </class-decl>
-    <!-- union {long long unsigned int __wseq; struct {unsigned int __low; unsigned int __high;} __wseq32;} -->
-    <union-decl name='__anonymous_union__1' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='94' column='1' id='type-id-60'>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='173' column='1' id='type-id-55'>
       <data-member access='private'>
-        <!-- long long unsigned int __wseq -->
-        <var-decl name='__wseq' type-id='type-id-54' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='96' column='1'/>
+        <!-- long long unsigned int __anonymous_union__::__wseq -->
+        <var-decl name='__wseq' type-id='type-id-57' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='175' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- struct {unsigned int __low; unsigned int __high;} __wseq32 -->
-        <var-decl name='__wseq32' type-id='type-id-61' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='101' column='1'/>
+        <!-- __anonymous_struct__ __anonymous_union__::__wseq32 -->
+        <var-decl name='__wseq32' type-id='type-id-58' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='180' column='1'/>
       </data-member>
     </union-decl>
-    <!-- struct {unsigned int __low; unsigned int __high;} -->
-    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='97' column='1' id='type-id-61'>
+    <!-- long long unsigned int -->
+    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-57'/>
+    <!-- struct __anonymous_struct__ -->
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='176' column='1' id='type-id-58'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <!-- unsigned int __low -->
-        <var-decl name='__low' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='99' column='1'/>
+        <!-- unsigned int __anonymous_struct__::__low -->
+        <var-decl name='__low' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='178' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='32'>
-        <!-- unsigned int __high -->
-        <var-decl name='__high' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='100' column='1'/>
+        <!-- unsigned int __anonymous_struct__::__high -->
+        <var-decl name='__high' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='179' column='1'/>
       </data-member>
     </class-decl>
+
+    <!-- unsigned int[2] -->
+    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='64' id='type-id-56'>
+      <!-- <anonymous range>[2] -->
+      <subrange length='2' type-id='type-id-2' id='type-id-59'/>
+
+    </array-type-def>
+
+    <!-- char[48] -->
+    <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='384' id='type-id-53'>
+      <!-- <anonymous range>[48] -->
+      <subrange length='48' type-id='type-id-2' id='type-id-60'/>
+
+    </array-type-def>
+    <!-- long long int -->
+    <type-decl name='long long int' size-in-bits='64' id='type-id-54'/>
+    <!-- typedef __anonymous_union__ pthread_cond_t -->
+    <typedef-decl name='pthread_cond_t' type-id='type-id-51' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='80' column='1' id='type-id-61'/>
+    <!-- pthread_cond_t __urcu_compat_futex_cond -->
+    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-61' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
+    <!-- int32_t* -->
+    <pointer-type-def type-id='type-id-3' size-in-bits='64' id='type-id-62'/>
     <!-- struct timespec -->
-    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='10' column='1' id='type-id-62'>
+    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='9' column='1' id='type-id-63'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- __time_t timespec::tv_sec -->
-        <var-decl name='tv_sec' type-id='type-id-63' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='12' column='1'/>
+        <var-decl name='tv_sec' type-id='type-id-64' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='11' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- __syscall_slong_t timespec::tv_nsec -->
-        <var-decl name='tv_nsec' type-id='type-id-64' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='16' column='1'/>
+        <var-decl name='tv_nsec' type-id='type-id-65' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='12' column='1'/>
       </data-member>
     </class-decl>
     <!-- typedef long int __time_t -->
-    <typedef-decl name='__time_t' type-id='type-id-6' filepath='/usr/include/bits/types.h' line='160' column='1' id='type-id-63'/>
+    <typedef-decl name='__time_t' type-id='type-id-43' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='148' column='1' id='type-id-64'/>
     <!-- typedef long int __syscall_slong_t -->
-    <typedef-decl name='__syscall_slong_t' type-id='type-id-6' filepath='/usr/include/bits/types.h' line='197' column='1' id='type-id-64'/>
+    <typedef-decl name='__syscall_slong_t' type-id='type-id-43' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='184' column='1' id='type-id-65'/>
     <!-- const timespec -->
-    <qualified-type-def type-id='type-id-62' const='yes' id='type-id-65'/>
+    <qualified-type-def type-id='type-id-63' const='yes' id='type-id-66'/>
     <!-- const timespec* -->
-    <pointer-type-def type-id='type-id-65' size-in-bits='64' id='type-id-66'/>
-    <!-- int32_t* -->
-    <pointer-type-def type-id='type-id-11' size-in-bits='64' id='type-id-67'/>
-    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
-    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-33' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
-    <!-- pthread_cond_t __urcu_compat_futex_cond -->
-    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-58' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
+    <pointer-type-def type-id='type-id-66' size-in-bits='64' id='type-id-67'/>
     <!-- int compat_futex_async(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
     <function-decl name='compat_futex_async' mangled-name='compat_futex_async' filepath='src/compat_futex.c' line='118' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_async'>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-4' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-3' name='val' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'const timespec*' -->
-      <parameter type-id='type-id-66' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-67' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val3' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-3' name='val3' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-decl>
     <!-- int compat_futex_noasync(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
     <function-decl name='compat_futex_noasync' mangled-name='compat_futex_noasync' filepath='src/compat_futex.c' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_noasync'>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-4' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-3' name='val' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'const timespec*' -->
-      <parameter type-id='type-id-66' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-67' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val3' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-3' name='val3' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-decl>
   </abi-instr>
 </abi-corpus>
index a7722f6616374b9cbc1763b76dfce37684816663..70873c85e64a796ce30e593a21757693849f9304 100644 (file)
@@ -1,11 +1,14 @@
 <abi-corpus architecture='elf-amd-x86_64' soname='liburcu.so.6'>
   <elf-needed>
-    <dependency name='liburcu-common.so.6'/>
     <dependency name='libpthread.so.0'/>
     <dependency name='libc.so.6'/>
     <dependency name='ld-linux-x86-64.so.2'/>
   </elf-needed>
   <elf-function-symbols>
+    <!-- _fini -->
+    <elf-symbol name='_fini' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- _init -->
+    <elf-symbol name='_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- call_rcu_after_fork_child_memb -->
     <elf-symbol name='call_rcu_after_fork_child_memb' type='func-type' binding='global-binding' visibility='default-visibility' alias='urcu_memb_call_rcu_after_fork_child' is-defined='yes'/>
     <!-- call_rcu_after_fork_parent_memb -->
     <elf-symbol name='urcu_memb_reader' size='256' type='tls-type' binding='global-binding' visibility='default-visibility' alias='rcu_reader_memb' is-defined='yes'/>
   </elf-variable-symbols>
   <abi-instr version='1.0' address-size='64' path='urcu.c' comp-dir-path='src' language='LANG_C99'>
-
-    <!-- char -->
-    <type-decl name='char' size-in-bits='8' id='type-id-1'/>
-    <!-- char[40] -->
-    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='320' id='type-id-2'>
-      <!-- <anonymous range>[40] -->
-      <subrange length='40' type-id='type-id-3' id='type-id-4'/>
-
-    </array-type-def>
     <!-- int -->
-    <type-decl name='int' size-in-bits='32' id='type-id-5'/>
-    <!-- long int -->
-    <type-decl name='long int' size-in-bits='64' id='type-id-6'/>
-    <!-- short int -->
-    <type-decl name='short int' size-in-bits='16' id='type-id-7'/>
-    <!-- unsigned int -->
-    <type-decl name='unsigned int' size-in-bits='32' id='type-id-8'/>
-    <!-- unsigned long int -->
-    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-3'/>
-    <!-- void -->
-    <type-decl name='void' id='type-id-9'/>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <!-- int urcu_memb_has_sys_membarrier -->
+    <var-decl name='urcu_memb_has_sys_membarrier' type-id='type-id-1' mangled-name='rcu_has_sys_membarrier_memb' visibility='default' filepath='../include/urcu/static/urcu-memb.h' line='72' column='1' elf-symbol-id='rcu_has_sys_membarrier_memb'/>
     <!-- struct urcu_gp -->
-    <class-decl name='urcu_gp' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='67' column='1' id='type-id-10'>
+    <class-decl name='urcu_gp' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='67' column='1' id='type-id-2'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned long int urcu_gp::ctr -->
         <var-decl name='ctr' type-id='type-id-3' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='75' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- int32_t urcu_gp::futex -->
-        <var-decl name='futex' type-id='type-id-11' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='77' column='1'/>
+        <var-decl name='futex' type-id='type-id-4' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='77' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __int32_t int32_t -->
-    <typedef-decl name='int32_t' type-id='type-id-12' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-11'/>
+    <!-- unsigned long int -->
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-3'/>
     <!-- typedef int __int32_t -->
-    <typedef-decl name='__int32_t' type-id='type-id-5' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-12'/>
+    <typedef-decl name='__int32_t' type-id='type-id-1' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='40' column='1' id='type-id-5'/>
+    <!-- typedef __int32_t int32_t -->
+    <typedef-decl name='int32_t' type-id='type-id-5' filepath='/usr/include/x86_64-linux-gnu/bits/stdint-intn.h' line='26' column='1' id='type-id-4'/>
+    <!-- urcu_gp urcu_memb_gp -->
+    <var-decl name='urcu_memb_gp' type-id='type-id-2' mangled-name='urcu_memb_gp' visibility='default' filepath='../include/urcu/static/urcu-memb.h' line='83' column='1' elf-symbol-id='urcu_memb_gp'/>
     <!-- struct urcu_reader -->
-    <class-decl name='urcu_reader' size-in-bits='2048' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='80' column='1' id='type-id-13'>
+    <class-decl name='urcu_reader' size-in-bits='2048' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='80' column='1' id='type-id-6'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned long int urcu_reader::ctr -->
         <var-decl name='ctr' type-id='type-id-3' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='82' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- char urcu_reader::need_mb -->
-        <var-decl name='need_mb' type-id='type-id-1' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='83' column='1'/>
+        <var-decl name='need_mb' type-id='type-id-7' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='83' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1024'>
         <!-- cds_list_head urcu_reader::node -->
-        <var-decl name='node' type-id='type-id-14' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='85' column='1'/>
+        <var-decl name='node' type-id='type-id-8' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='85' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1152'>
         <!-- pthread_t urcu_reader::tid -->
-        <var-decl name='tid' type-id='type-id-15' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='86' column='1'/>
+        <var-decl name='tid' type-id='type-id-9' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='86' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='31'>
         <!-- unsigned int urcu_reader::registered -->
-        <var-decl name='registered' type-id='type-id-8' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='88' column='1'/>
+        <var-decl name='registered' type-id='type-id-10' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='88' column='1'/>
       </data-member>
     </class-decl>
+    <!-- char -->
+    <type-decl name='char' size-in-bits='8' id='type-id-7'/>
     <!-- struct cds_list_head -->
-    <class-decl name='cds_list_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/list.h' line='37' column='1' id='type-id-14'>
+    <class-decl name='cds_list_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/list.h' line='37' column='1' id='type-id-8'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_list_head* cds_list_head::next -->
-        <var-decl name='next' type-id='type-id-16' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
+        <var-decl name='next' type-id='type-id-11' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- cds_list_head* cds_list_head::prev -->
-        <var-decl name='prev' type-id='type-id-16' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
+        <var-decl name='prev' type-id='type-id-11' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_list_head* -->
+    <pointer-type-def type-id='type-id-8' size-in-bits='64' id='type-id-11'/>
     <!-- typedef unsigned long int pthread_t -->
-    <typedef-decl name='pthread_t' type-id='type-id-3' filepath='/usr/include/bits/pthreadtypes.h' line='27' column='1' id='type-id-15'/>
+    <typedef-decl name='pthread_t' type-id='type-id-3' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='27' column='1' id='type-id-9'/>
+    <!-- unsigned int -->
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-10'/>
+    <!-- urcu_reader urcu_memb_reader -->
+    <var-decl name='urcu_memb_reader' type-id='type-id-6' mangled-name='urcu_memb_reader' visibility='default' filepath='../include/urcu/static/urcu-memb.h' line='85' column='1' elf-symbol-id='urcu_memb_reader'/>
     <!-- struct rcu_flavor_struct -->
-    <class-decl name='rcu_flavor_struct' size-in-bits='896' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='42' column='1' id='type-id-17'>
+    <class-decl name='rcu_flavor_struct' size-in-bits='896' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='42' column='1' id='type-id-12'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- void ()* rcu_flavor_struct::read_lock -->
-        <var-decl name='read_lock' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='43' column='1'/>
+        <var-decl name='read_lock' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='43' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void ()* rcu_flavor_struct::read_unlock -->
-        <var-decl name='read_unlock' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='44' column='1'/>
+        <var-decl name='read_unlock' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='44' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- int ()* rcu_flavor_struct::read_ongoing -->
-        <var-decl name='read_ongoing' type-id='type-id-19' visibility='default' filepath='../include/urcu/flavor.h' line='45' column='1'/>
+        <var-decl name='read_ongoing' type-id='type-id-14' visibility='default' filepath='../include/urcu/flavor.h' line='45' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- void ()* rcu_flavor_struct::read_quiescent_state -->
-        <var-decl name='read_quiescent_state' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='46' column='1'/>
+        <var-decl name='read_quiescent_state' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='46' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- void (rcu_head*, void (rcu_head*)*)* rcu_flavor_struct::update_call_rcu -->
-        <var-decl name='update_call_rcu' type-id='type-id-20' visibility='default' filepath='../include/urcu/flavor.h' line='47' column='1'/>
+        <var-decl name='update_call_rcu' type-id='type-id-15' visibility='default' filepath='../include/urcu/flavor.h' line='47' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
         <!-- void ()* rcu_flavor_struct::update_synchronize_rcu -->
-        <var-decl name='update_synchronize_rcu' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='49' column='1'/>
+        <var-decl name='update_synchronize_rcu' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='49' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='384'>
         <!-- void (void (void*)*, void*)* rcu_flavor_struct::update_defer_rcu -->
-        <var-decl name='update_defer_rcu' type-id='type-id-21' visibility='default' filepath='../include/urcu/flavor.h' line='50' column='1'/>
+        <var-decl name='update_defer_rcu' type-id='type-id-16' visibility='default' filepath='../include/urcu/flavor.h' line='50' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='448'>
         <!-- void ()* rcu_flavor_struct::thread_offline -->
-        <var-decl name='thread_offline' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='52' column='1'/>
+        <var-decl name='thread_offline' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='52' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='512'>
         <!-- void ()* rcu_flavor_struct::thread_online -->
-        <var-decl name='thread_online' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='53' column='1'/>
+        <var-decl name='thread_online' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='53' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='576'>
         <!-- void ()* rcu_flavor_struct::register_thread -->
-        <var-decl name='register_thread' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='54' column='1'/>
+        <var-decl name='register_thread' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='54' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='640'>
         <!-- void ()* rcu_flavor_struct::unregister_thread -->
-        <var-decl name='unregister_thread' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='55' column='1'/>
+        <var-decl name='unregister_thread' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='55' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='704'>
         <!-- void ()* rcu_flavor_struct::barrier -->
-        <var-decl name='barrier' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='57' column='1'/>
+        <var-decl name='barrier' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='57' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='768'>
         <!-- void (urcu_atfork*)* rcu_flavor_struct::register_rculfhash_atfork -->
-        <var-decl name='register_rculfhash_atfork' type-id='type-id-22' visibility='default' filepath='../include/urcu/flavor.h' line='59' column='1'/>
+        <var-decl name='register_rculfhash_atfork' type-id='type-id-17' visibility='default' filepath='../include/urcu/flavor.h' line='59' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='832'>
         <!-- void (urcu_atfork*)* rcu_flavor_struct::unregister_rculfhash_atfork -->
-        <var-decl name='unregister_rculfhash_atfork' type-id='type-id-22' visibility='default' filepath='../include/urcu/flavor.h' line='60' column='1'/>
+        <var-decl name='unregister_rculfhash_atfork' type-id='type-id-17' visibility='default' filepath='../include/urcu/flavor.h' line='60' column='1'/>
       </data-member>
     </class-decl>
+    <!-- void -->
+    <type-decl name='void' id='type-id-18'/>
+    <!-- void ()* -->
+    <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-13'/>
+    <!-- int ()* -->
+    <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-14'/>
     <!-- struct rcu_head -->
-    <class-decl name='rcu_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/call-rcu.h' line='57' column='1' id='type-id-23'>
+    <class-decl name='rcu_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/call-rcu.h' line='57' column='1' id='type-id-21'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node rcu_head::next -->
-        <var-decl name='next' type-id='type-id-24' visibility='default' filepath='../include/urcu/call-rcu.h' line='58' column='1'/>
+        <var-decl name='next' type-id='type-id-22' visibility='default' filepath='../include/urcu/call-rcu.h' line='58' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void (rcu_head*)* rcu_head::func -->
-        <var-decl name='func' type-id='type-id-25' visibility='default' filepath='../include/urcu/call-rcu.h' line='59' column='1'/>
+        <var-decl name='func' type-id='type-id-23' visibility='default' filepath='../include/urcu/call-rcu.h' line='59' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_node -->
-    <class-decl name='cds_wfcq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='59' column='1' id='type-id-24'>
+    <class-decl name='cds_wfcq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='59' column='1' id='type-id-22'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node* cds_wfcq_node::next -->
-        <var-decl name='next' type-id='type-id-26' visibility='default' filepath='../include/urcu/wfcqueue.h' line='60' column='1'/>
+        <var-decl name='next' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='60' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_wfcq_node* -->
+    <pointer-type-def type-id='type-id-22' size-in-bits='64' id='type-id-24'/>
+    <!-- rcu_head* -->
+    <pointer-type-def type-id='type-id-21' size-in-bits='64' id='type-id-25'/>
+    <!-- void (rcu_head*)* -->
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-23'/>
+    <!-- void (rcu_head*, void (rcu_head*)*)* -->
+    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-15'/>
+    <!-- void* -->
+    <pointer-type-def type-id='type-id-18' size-in-bits='64' id='type-id-28'/>
+    <!-- void (void*)* -->
+    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-30'/>
+    <!-- void (void (void*)*, void*)* -->
+    <pointer-type-def type-id='type-id-31' size-in-bits='64' id='type-id-16'/>
     <!-- struct urcu_atfork -->
-    <class-decl name='urcu_atfork' size-in-bits='256' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='32' column='1' id='type-id-27'>
+    <class-decl name='urcu_atfork' size-in-bits='256' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='32' column='1' id='type-id-32'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- void (void*)* urcu_atfork::before_fork -->
-        <var-decl name='before_fork' type-id='type-id-28' visibility='default' filepath='../include/urcu/flavor.h' line='33' column='1'/>
+        <var-decl name='before_fork' type-id='type-id-30' visibility='default' filepath='../include/urcu/flavor.h' line='33' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void (void*)* urcu_atfork::after_fork_parent -->
-        <var-decl name='after_fork_parent' type-id='type-id-28' visibility='default' filepath='../include/urcu/flavor.h' line='34' column='1'/>
+        <var-decl name='after_fork_parent' type-id='type-id-30' visibility='default' filepath='../include/urcu/flavor.h' line='34' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- void (void*)* urcu_atfork::after_fork_child -->
-        <var-decl name='after_fork_child' type-id='type-id-28' visibility='default' filepath='../include/urcu/flavor.h' line='35' column='1'/>
+        <var-decl name='after_fork_child' type-id='type-id-30' visibility='default' filepath='../include/urcu/flavor.h' line='35' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- void* urcu_atfork::priv -->
-        <var-decl name='priv' type-id='type-id-29' visibility='default' filepath='../include/urcu/flavor.h' line='36' column='1'/>
+        <var-decl name='priv' type-id='type-id-28' visibility='default' filepath='../include/urcu/flavor.h' line='36' column='1'/>
       </data-member>
     </class-decl>
+    <!-- urcu_atfork* -->
+    <pointer-type-def type-id='type-id-32' size-in-bits='64' id='type-id-33'/>
+    <!-- void (urcu_atfork*)* -->
+    <pointer-type-def type-id='type-id-34' size-in-bits='64' id='type-id-17'/>
+    <!-- const rcu_flavor_struct -->
+    <qualified-type-def type-id='type-id-12' const='yes' id='type-id-35'/>
+    <!-- const rcu_flavor_struct urcu_memb_flavor -->
+    <var-decl name='urcu_memb_flavor' type-id='type-id-35' mangled-name='rcu_flavor_memb' visibility='default' filepath='../include/urcu/flavor.h' line='90' column='1' elf-symbol-id='rcu_flavor_memb'/>
+    <!-- void urcu_memb_defer_exit() -->
+    <function-decl name='urcu_memb_defer_exit' mangled-name='urcu_memb_defer_exit' filepath='src/urcu-defer-impl.h' line='476' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_defer_exit'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_defer_unregister_thread() -->
+    <function-decl name='urcu_memb_defer_unregister_thread' mangled-name='rcu_defer_unregister_thread_memb' filepath='src/urcu-defer-impl.h' line='456' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_unregister_thread_memb'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- int urcu_memb_defer_register_thread() -->
+    <function-decl name='urcu_memb_defer_register_thread' mangled-name='urcu_memb_defer_register_thread' filepath='src/urcu-defer-impl.h' line='432' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_defer_register_thread'>
+      <!-- int -->
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <!-- void urcu_memb_defer_rcu(void (void*)*, void*) -->
+    <function-decl name='urcu_memb_defer_rcu' mangled-name='defer_rcu_memb' filepath='src/urcu-defer-impl.h' line='400' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='defer_rcu_memb'>
+      <!-- parameter of type 'void (void*)*' -->
+      <parameter type-id='type-id-30' name='fct' filepath='src/urcu-defer-impl.h' line='400' column='1'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-28' name='p' filepath='src/urcu-defer-impl.h' line='400' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_defer_barrier() -->
+    <function-decl name='urcu_memb_defer_barrier' mangled-name='rcu_defer_barrier_memb' filepath='src/urcu-defer-impl.h' line='284' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_barrier_memb'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_defer_barrier_thread() -->
+    <function-decl name='urcu_memb_defer_barrier_thread' mangled-name='rcu_defer_barrier_thread_memb' filepath='src/urcu-defer-impl.h' line='262' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_barrier_thread_memb'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_unregister_rculfhash_atfork(urcu_atfork*) -->
+    <function-decl name='urcu_memb_unregister_rculfhash_atfork' mangled-name='urcu_memb_unregister_rculfhash_atfork' filepath='src/urcu-call-rcu-impl.h' line='1056' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_unregister_rculfhash_atfork'>
+      <!-- parameter of type 'urcu_atfork*' -->
+      <parameter type-id='type-id-33' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1056' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_register_rculfhash_atfork(urcu_atfork*) -->
+    <function-decl name='urcu_memb_register_rculfhash_atfork' mangled-name='urcu_register_rculfhash_atfork_memb' filepath='src/urcu-call-rcu-impl.h' line='1044' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_register_rculfhash_atfork_memb'>
+      <!-- parameter of type 'urcu_atfork*' -->
+      <parameter type-id='type-id-33' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1056' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_call_rcu_after_fork_child() -->
+    <function-decl name='urcu_memb_call_rcu_after_fork_child' mangled-name='call_rcu_after_fork_child_memb' filepath='src/urcu-call-rcu-impl.h' line='1000' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_after_fork_child_memb'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_call_rcu_after_fork_parent() -->
+    <function-decl name='urcu_memb_call_rcu_after_fork_parent' mangled-name='urcu_memb_call_rcu_after_fork_parent' filepath='src/urcu-call-rcu-impl.h' line='976' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_call_rcu_after_fork_parent'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_call_rcu_before_fork() -->
+    <function-decl name='urcu_memb_call_rcu_before_fork' mangled-name='urcu_memb_call_rcu_before_fork' filepath='src/urcu-call-rcu-impl.h' line='947' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_call_rcu_before_fork'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_barrier() -->
+    <function-decl name='urcu_memb_barrier' mangled-name='rcu_barrier_memb' filepath='src/urcu-call-rcu-impl.h' line='874' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_barrier_memb'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_free_all_cpu_call_rcu_data() -->
+    <function-decl name='urcu_memb_free_all_cpu_call_rcu_data' mangled-name='urcu_memb_free_all_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='801' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_free_all_cpu_call_rcu_data'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
     <!-- struct call_rcu_data -->
-    <class-decl name='call_rcu_data' size-in-bits='1024' is-struct='yes' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='53' column='1' id='type-id-30'>
+    <class-decl name='call_rcu_data' size-in-bits='1024' is-struct='yes' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='53' column='1' id='type-id-36'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_tail call_rcu_data::cbs_tail -->
-        <var-decl name='cbs_tail' type-id='type-id-31' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='61' column='1'/>
+        <var-decl name='cbs_tail' type-id='type-id-37' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='61' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- cds_wfcq_head call_rcu_data::cbs_head -->
-        <var-decl name='cbs_head' type-id='type-id-32' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='62' column='1'/>
+        <var-decl name='cbs_head' type-id='type-id-38' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='62' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='448'>
         <!-- unsigned long int call_rcu_data::flags -->
       </data-member>
       <data-member access='public' layout-offset-in-bits='512'>
         <!-- int32_t call_rcu_data::futex -->
-        <var-decl name='futex' type-id='type-id-11' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='64' column='1'/>
+        <var-decl name='futex' type-id='type-id-4' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='64' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='576'>
         <!-- unsigned long int call_rcu_data::qlen -->
       </data-member>
       <data-member access='public' layout-offset-in-bits='640'>
         <!-- pthread_t call_rcu_data::tid -->
-        <var-decl name='tid' type-id='type-id-15' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='66' column='1'/>
+        <var-decl name='tid' type-id='type-id-9' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='66' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='704'>
         <!-- int call_rcu_data::cpu_affinity -->
-        <var-decl name='cpu_affinity' type-id='type-id-5' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='67' column='1'/>
+        <var-decl name='cpu_affinity' type-id='type-id-1' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='67' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='768'>
         <!-- unsigned long int call_rcu_data::gp_count -->
       </data-member>
       <data-member access='public' layout-offset-in-bits='832'>
         <!-- cds_list_head call_rcu_data::list -->
-        <var-decl name='list' type-id='type-id-14' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='69' column='1'/>
+        <var-decl name='list' type-id='type-id-8' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='69' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_tail -->
-    <class-decl name='cds_wfcq_tail' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='127' column='1' id='type-id-31'>
+    <class-decl name='cds_wfcq_tail' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='127' column='1' id='type-id-37'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node* cds_wfcq_tail::p -->
-        <var-decl name='p' type-id='type-id-26' visibility='default' filepath='../include/urcu/wfcqueue.h' line='128' column='1'/>
+        <var-decl name='p' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='128' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_head -->
-    <class-decl name='cds_wfcq_head' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='72' column='1' id='type-id-32'>
+    <class-decl name='cds_wfcq_head' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='72' column='1' id='type-id-38'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node cds_wfcq_head::node -->
-        <var-decl name='node' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='73' column='1'/>
+        <var-decl name='node' type-id='type-id-22' visibility='default' filepath='../include/urcu/wfcqueue.h' line='73' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- pthread_mutex_t cds_wfcq_head::lock -->
-        <var-decl name='lock' type-id='type-id-33' visibility='default' filepath='../include/urcu/wfcqueue.h' line='74' column='1'/>
+        <var-decl name='lock' type-id='type-id-39' visibility='default' filepath='../include/urcu/wfcqueue.h' line='74' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __anonymous_union__ pthread_mutex_t -->
-    <typedef-decl name='pthread_mutex_t' type-id='type-id-34' filepath='/usr/include/bits/pthreadtypes.h' line='72' column='1' id='type-id-33'/>
-    <!-- union {__pthread_mutex_s __data; char __size[40]; long int __align;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='67' column='1' id='type-id-34'>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='67' column='1' id='type-id-40'>
       <data-member access='private'>
-        <!-- __pthread_mutex_s __data -->
-        <var-decl name='__data' type-id='type-id-35' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='69' column='1'/>
+        <!-- __pthread_mutex_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-41' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='69' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- char __size[40] -->
-        <var-decl name='__size' type-id='type-id-2' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='70' column='1'/>
+        <!-- char __anonymous_union__::__size[40] -->
+        <var-decl name='__size' type-id='type-id-42' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='70' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- long int __align -->
-        <var-decl name='__align' type-id='type-id-6' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='71' column='1'/>
+        <!-- long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-43' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='71' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __pthread_mutex_s -->
-    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='22' column='1' id='type-id-35'>
+    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='118' column='1' id='type-id-41'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- int __pthread_mutex_s::__lock -->
-        <var-decl name='__lock' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='24' column='1'/>
+        <var-decl name='__lock' type-id='type-id-1' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='120' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='32'>
         <!-- unsigned int __pthread_mutex_s::__count -->
-        <var-decl name='__count' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='25' column='1'/>
+        <var-decl name='__count' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='121' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- int __pthread_mutex_s::__owner -->
-        <var-decl name='__owner' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='26' column='1'/>
+        <var-decl name='__owner' type-id='type-id-1' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='122' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='96'>
         <!-- unsigned int __pthread_mutex_s::__nusers -->
-        <var-decl name='__nusers' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='28' column='1'/>
+        <var-decl name='__nusers' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='124' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- int __pthread_mutex_s::__kind -->
-        <var-decl name='__kind' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='32' column='1'/>
+        <var-decl name='__kind' type-id='type-id-1' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='148' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='160'>
         <!-- short int __pthread_mutex_s::__spins -->
-        <var-decl name='__spins' type-id='type-id-7' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='34' column='1'/>
+        <var-decl name='__spins' type-id='type-id-44' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='176'>
         <!-- short int __pthread_mutex_s::__elision -->
-        <var-decl name='__elision' type-id='type-id-7' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='35' column='1'/>
+        <var-decl name='__elision' type-id='type-id-44' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- __pthread_list_t __pthread_mutex_s::__list -->
-        <var-decl name='__list' type-id='type-id-36' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='36' column='1'/>
+        <var-decl name='__list' type-id='type-id-45' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='155' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __pthread_internal_list __pthread_list_t -->
-    <typedef-decl name='__pthread_list_t' type-id='type-id-37' filepath='/usr/include/bits/thread-shared-types.h' line='53' column='1' id='type-id-36'/>
+    <!-- short int -->
+    <type-decl name='short int' size-in-bits='16' id='type-id-44'/>
     <!-- struct __pthread_internal_list -->
-    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='49' column='1' id='type-id-37'>
+    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='82' column='1' id='type-id-46'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- __pthread_internal_list* __pthread_internal_list::__prev -->
-        <var-decl name='__prev' type-id='type-id-38' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='51' column='1'/>
+        <var-decl name='__prev' type-id='type-id-47' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='84' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- __pthread_internal_list* __pthread_internal_list::__next -->
-        <var-decl name='__next' type-id='type-id-38' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='52' column='1'/>
+        <var-decl name='__next' type-id='type-id-47' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='85' column='1'/>
       </data-member>
     </class-decl>
     <!-- __pthread_internal_list* -->
-    <pointer-type-def type-id='type-id-37' size-in-bits='64' id='type-id-38'/>
+    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-47'/>
+    <!-- typedef __pthread_internal_list __pthread_list_t -->
+    <typedef-decl name='__pthread_list_t' type-id='type-id-46' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='86' column='1' id='type-id-45'/>
+
+    <!-- char[40] -->
+    <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='320' id='type-id-42'>
+      <!-- <anonymous range>[40] -->
+      <subrange length='40' type-id='type-id-3' id='type-id-48'/>
+
+    </array-type-def>
+    <!-- long int -->
+    <type-decl name='long int' size-in-bits='64' id='type-id-43'/>
+    <!-- typedef __anonymous_union__ pthread_mutex_t -->
+    <typedef-decl name='pthread_mutex_t' type-id='type-id-40' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='72' column='1' id='type-id-39'/>
     <!-- call_rcu_data* -->
-    <pointer-type-def type-id='type-id-30' size-in-bits='64' id='type-id-39'/>
-    <!-- cds_list_head* -->
-    <pointer-type-def type-id='type-id-14' size-in-bits='64' id='type-id-16'/>
-    <!-- cds_wfcq_node* -->
-    <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-26'/>
-    <!-- const rcu_flavor_struct -->
-    <qualified-type-def type-id='type-id-17' const='yes' id='type-id-40'/>
-    <!-- int ()* -->
-    <pointer-type-def type-id='type-id-41' size-in-bits='64' id='type-id-19'/>
-    <!-- rcu_head* -->
-    <pointer-type-def type-id='type-id-23' size-in-bits='64' id='type-id-42'/>
-    <!-- urcu_atfork* -->
-    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-43'/>
-    <!-- void ()* -->
-    <pointer-type-def type-id='type-id-44' size-in-bits='64' id='type-id-18'/>
-    <!-- void (rcu_head*)* -->
-    <pointer-type-def type-id='type-id-45' size-in-bits='64' id='type-id-25'/>
-    <!-- void (rcu_head*, void (rcu_head*)*)* -->
-    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-20'/>
-    <!-- void (urcu_atfork*)* -->
-    <pointer-type-def type-id='type-id-47' size-in-bits='64' id='type-id-22'/>
-    <!-- void (void (void*)*, void*)* -->
-    <pointer-type-def type-id='type-id-48' size-in-bits='64' id='type-id-21'/>
-    <!-- void (void*)* -->
-    <pointer-type-def type-id='type-id-49' size-in-bits='64' id='type-id-28'/>
-    <!-- void* -->
-    <pointer-type-def type-id='type-id-9' size-in-bits='64' id='type-id-29'/>
-    <!-- int urcu_memb_has_sys_membarrier -->
-    <var-decl name='urcu_memb_has_sys_membarrier' type-id='type-id-5' mangled-name='rcu_has_sys_membarrier_memb' visibility='default' filepath='../include/urcu/static/urcu-memb.h' line='72' column='1' elf-symbol-id='rcu_has_sys_membarrier_memb'/>
-    <!-- urcu_gp urcu_memb_gp -->
-    <var-decl name='urcu_memb_gp' type-id='type-id-10' mangled-name='urcu_memb_gp' visibility='default' filepath='../include/urcu/static/urcu-memb.h' line='83' column='1' elf-symbol-id='urcu_memb_gp'/>
-    <!-- urcu_reader urcu_memb_reader -->
-    <var-decl name='urcu_memb_reader' type-id='type-id-13' mangled-name='urcu_memb_reader' visibility='default' filepath='../include/urcu/static/urcu-memb.h' line='85' column='1' elf-symbol-id='urcu_memb_reader'/>
-    <!-- const rcu_flavor_struct urcu_memb_flavor -->
-    <var-decl name='urcu_memb_flavor' type-id='type-id-40' mangled-name='rcu_flavor_memb' visibility='default' filepath='../include/urcu/flavor.h' line='90' column='1' elf-symbol-id='rcu_flavor_memb'/>
-    <!-- void urcu_memb_defer_exit() -->
-    <function-decl name='urcu_memb_defer_exit' mangled-name='urcu_memb_defer_exit' filepath='src/urcu-defer-impl.h' line='476' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_defer_exit'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_memb_defer_unregister_thread() -->
-    <function-decl name='urcu_memb_defer_unregister_thread' mangled-name='rcu_defer_unregister_thread_memb' filepath='src/urcu-defer-impl.h' line='456' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_unregister_thread_memb'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- int urcu_memb_defer_register_thread() -->
-    <function-decl name='urcu_memb_defer_register_thread' mangled-name='urcu_memb_defer_register_thread' filepath='src/urcu-defer-impl.h' line='432' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_defer_register_thread'>
-      <!-- int -->
-      <return type-id='type-id-5'/>
-    </function-decl>
-    <!-- void urcu_memb_defer_rcu(void (void*)*, void*) -->
-    <function-decl name='urcu_memb_defer_rcu' mangled-name='defer_rcu_memb' filepath='src/urcu-defer-impl.h' line='400' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='defer_rcu_memb'>
-      <!-- parameter of type 'void (void*)*' -->
-      <parameter type-id='type-id-28' name='fct' filepath='src/urcu-defer-impl.h' line='400' column='1'/>
-      <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='p' filepath='src/urcu-defer-impl.h' line='400' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_memb_defer_barrier() -->
-    <function-decl name='urcu_memb_defer_barrier' mangled-name='rcu_defer_barrier_memb' filepath='src/urcu-defer-impl.h' line='284' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_barrier_memb'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_memb_defer_barrier_thread() -->
-    <function-decl name='urcu_memb_defer_barrier_thread' mangled-name='rcu_defer_barrier_thread_memb' filepath='src/urcu-defer-impl.h' line='262' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_defer_barrier_thread_memb'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_memb_unregister_rculfhash_atfork(urcu_atfork*) -->
-    <function-decl name='urcu_memb_unregister_rculfhash_atfork' mangled-name='urcu_memb_unregister_rculfhash_atfork' filepath='src/urcu-call-rcu-impl.h' line='1056' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_unregister_rculfhash_atfork'>
-      <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-43' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1056' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_memb_register_rculfhash_atfork(urcu_atfork*) -->
-    <function-decl name='urcu_memb_register_rculfhash_atfork' mangled-name='urcu_register_rculfhash_atfork_memb' filepath='src/urcu-call-rcu-impl.h' line='1044' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_register_rculfhash_atfork_memb'>
-      <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-43' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1044' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_memb_call_rcu_after_fork_child() -->
-    <function-decl name='urcu_memb_call_rcu_after_fork_child' mangled-name='call_rcu_after_fork_child_memb' filepath='src/urcu-call-rcu-impl.h' line='1000' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu_after_fork_child_memb'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_memb_call_rcu_after_fork_parent() -->
-    <function-decl name='urcu_memb_call_rcu_after_fork_parent' mangled-name='urcu_memb_call_rcu_after_fork_parent' filepath='src/urcu-call-rcu-impl.h' line='976' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_call_rcu_after_fork_parent'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_memb_call_rcu_before_fork() -->
-    <function-decl name='urcu_memb_call_rcu_before_fork' mangled-name='urcu_memb_call_rcu_before_fork' filepath='src/urcu-call-rcu-impl.h' line='947' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_call_rcu_before_fork'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_memb_barrier() -->
-    <function-decl name='urcu_memb_barrier' mangled-name='rcu_barrier_memb' filepath='src/urcu-call-rcu-impl.h' line='874' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_barrier_memb'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_memb_free_all_cpu_call_rcu_data() -->
-    <function-decl name='urcu_memb_free_all_cpu_call_rcu_data' mangled-name='urcu_memb_free_all_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='801' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_free_all_cpu_call_rcu_data'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
+    <pointer-type-def type-id='type-id-36' size-in-bits='64' id='type-id-49'/>
     <!-- void urcu_memb_call_rcu_data_free(call_rcu_data*) -->
     <function-decl name='urcu_memb_call_rcu_data_free' mangled-name='urcu_memb_call_rcu_data_free' filepath='src/urcu-call-rcu-impl.h' line='764' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_call_rcu_data_free'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='764' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='764' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void urcu_memb_call_rcu(rcu_head*, void (rcu_head*)*) -->
     <function-decl name='urcu_memb_call_rcu' mangled-name='urcu_memb_call_rcu' filepath='src/urcu-call-rcu-impl.h' line='725' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_call_rcu'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42' name='head' filepath='src/urcu-call-rcu-impl.h' line='725' column='1'/>
+      <parameter type-id='type-id-25' name='head' filepath='src/urcu-call-rcu-impl.h' line='725' column='1'/>
       <!-- parameter of type 'void (rcu_head*)*' -->
-      <parameter type-id='type-id-25' name='func' filepath='src/urcu-call-rcu-impl.h' line='726' column='1'/>
+      <parameter type-id='type-id-23' name='func' filepath='src/urcu-call-rcu-impl.h' line='726' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- int urcu_memb_create_all_cpu_call_rcu_data(unsigned long int) -->
     <function-decl name='urcu_memb_create_all_cpu_call_rcu_data' mangled-name='create_all_cpu_call_rcu_data_memb' filepath='src/urcu-call-rcu-impl.h' line='645' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='create_all_cpu_call_rcu_data_memb'>
       <!-- parameter of type 'unsigned long int' -->
       <parameter type-id='type-id-3' name='flags' filepath='src/urcu-call-rcu-impl.h' line='645' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
     </function-decl>
     <!-- void urcu_memb_set_thread_call_rcu_data(call_rcu_data*) -->
     <function-decl name='urcu_memb_set_thread_call_rcu_data' mangled-name='set_thread_call_rcu_data_memb' filepath='src/urcu-call-rcu-impl.h' line='630' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='set_thread_call_rcu_data_memb'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='630' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='630' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- call_rcu_data* urcu_memb_get_thread_call_rcu_data() -->
     <function-decl name='urcu_memb_get_thread_call_rcu_data' mangled-name='get_thread_call_rcu_data_memb' filepath='src/urcu-call-rcu-impl.h' line='612' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_thread_call_rcu_data_memb'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- call_rcu_data* urcu_memb_get_call_rcu_data() -->
     <function-decl name='urcu_memb_get_call_rcu_data' mangled-name='get_call_rcu_data_memb' filepath='src/urcu-call-rcu-impl.h' line='590' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_call_rcu_data_memb'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- call_rcu_data* urcu_memb_get_default_call_rcu_data() -->
     <function-decl name='urcu_memb_get_default_call_rcu_data' mangled-name='urcu_memb_get_default_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='563' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_get_default_call_rcu_data'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- int urcu_memb_set_cpu_call_rcu_data(int, call_rcu_data*) -->
     <function-decl name='urcu_memb_set_cpu_call_rcu_data' mangled-name='urcu_memb_set_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='522' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_set_cpu_call_rcu_data'>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='522' column='1'/>
+      <parameter type-id='type-id-1' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='522' column='1'/>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='522' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='522' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
     </function-decl>
     <!-- call_rcu_data* urcu_memb_create_call_rcu_data(unsigned long int, int) -->
     <function-decl name='urcu_memb_create_call_rcu_data' mangled-name='urcu_memb_create_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='498' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_create_call_rcu_data'>
       <!-- parameter of type 'unsigned long int' -->
       <parameter type-id='type-id-3' name='flags' filepath='src/urcu-call-rcu-impl.h' line='498' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu_affinity' filepath='src/urcu-call-rcu-impl.h' line='499' column='1'/>
+      <parameter type-id='type-id-1' name='cpu_affinity' filepath='src/urcu-call-rcu-impl.h' line='499' column='1'/>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- pthread_t urcu_memb_get_call_rcu_thread(call_rcu_data*) -->
     <function-decl name='urcu_memb_get_call_rcu_thread' mangled-name='urcu_memb_get_call_rcu_thread' filepath='src/urcu-call-rcu-impl.h' line='476' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_get_call_rcu_thread'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='476' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='476' column='1'/>
       <!-- typedef pthread_t -->
-      <return type-id='type-id-15'/>
+      <return type-id='type-id-9'/>
     </function-decl>
     <!-- call_rcu_data* urcu_memb_get_cpu_call_rcu_data(int) -->
     <function-decl name='urcu_memb_get_cpu_call_rcu_data' mangled-name='get_cpu_call_rcu_data_memb' filepath='src/urcu-call-rcu-impl.h' line='452' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_cpu_call_rcu_data_memb'>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='452' column='1'/>
+      <parameter type-id='type-id-1' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='452' column='1'/>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- void urcu_memb_init() -->
     <function-decl name='urcu_memb_init' mangled-name='rcu_init_memb' filepath='src/urcu.c' line='613' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_init_memb'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void urcu_memb_unregister_thread() -->
     <function-decl name='urcu_memb_unregister_thread' mangled-name='urcu_memb_unregister_thread' filepath='src/urcu.c' line='563' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_unregister_thread'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void urcu_memb_register_thread() -->
     <function-decl name='urcu_memb_register_thread' mangled-name='urcu_memb_register_thread' filepath='src/urcu.c' line='547' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_register_thread'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- int urcu_memb_read_ongoing() -->
     <function-decl name='urcu_memb_read_ongoing' mangled-name='urcu_memb_read_ongoing' filepath='src/urcu.c' line='540' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_read_ongoing'>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
     </function-decl>
     <!-- void urcu_memb_read_unlock() -->
     <function-decl name='urcu_memb_read_unlock' mangled-name='urcu_memb_read_unlock' filepath='src/urcu.c' line='533' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_read_unlock'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void urcu_memb_read_lock() -->
     <function-decl name='urcu_memb_read_lock' mangled-name='rcu_read_lock_memb' filepath='src/urcu.c' line='526' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_read_lock_memb'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void urcu_memb_synchronize_rcu() -->
     <function-decl name='urcu_memb_synchronize_rcu' mangled-name='urcu_memb_synchronize_rcu' filepath='src/urcu.c' line='403' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_synchronize_rcu'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- int () -->
-    <function-type size-in-bits='64' id='type-id-41'>
+    <function-type size-in-bits='64' id='type-id-20'>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
     </function-type>
     <!-- void () -->
-    <function-type size-in-bits='64' id='type-id-44'>
+    <function-type size-in-bits='64' id='type-id-19'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (rcu_head*) -->
-    <function-type size-in-bits='64' id='type-id-45'>
+    <function-type size-in-bits='64' id='type-id-26'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42'/>
+      <parameter type-id='type-id-25'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (rcu_head*, void (rcu_head*)*) -->
-    <function-type size-in-bits='64' id='type-id-46'>
+    <function-type size-in-bits='64' id='type-id-27'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42'/>
-      <!-- parameter of type 'void (rcu_head*)*' -->
       <parameter type-id='type-id-25'/>
+      <!-- parameter of type 'void (rcu_head*)*' -->
+      <parameter type-id='type-id-23'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (urcu_atfork*) -->
-    <function-type size-in-bits='64' id='type-id-47'>
+    <function-type size-in-bits='64' id='type-id-34'>
       <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-43'/>
+      <parameter type-id='type-id-33'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (void (void*)*, void*) -->
-    <function-type size-in-bits='64' id='type-id-48'>
+    <function-type size-in-bits='64' id='type-id-31'>
       <!-- parameter of type 'void (void*)*' -->
-      <parameter type-id='type-id-28'/>
+      <parameter type-id='type-id-30'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29'/>
+      <parameter type-id='type-id-28'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (void*) -->
-    <function-type size-in-bits='64' id='type-id-49'>
+    <function-type size-in-bits='64' id='type-id-29'>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29'/>
+      <parameter type-id='type-id-28'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='urcu-pointer.c' comp-dir-path='src' language='LANG_C99'>
     <!-- void** -->
-    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-50'/>
+    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-50'/>
     <!-- void* rcu_cmpxchg_pointer_sym(void**, void*, void*) -->
     <function-decl name='rcu_cmpxchg_pointer_sym' mangled-name='rcu_cmpxchg_pointer_sym' filepath='src/urcu-pointer.c' line='53' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_cmpxchg_pointer_sym'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='53' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='old' filepath='src/urcu-pointer.c' line='53' column='1'/>
+      <parameter type-id='type-id-28' name='old' filepath='src/urcu-pointer.c' line='53' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='_new' filepath='src/urcu-pointer.c' line='53' column='1'/>
+      <parameter type-id='type-id-28' name='_new' filepath='src/urcu-pointer.c' line='53' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-28'/>
     </function-decl>
     <!-- void* rcu_xchg_pointer_sym(void**, void*) -->
     <function-decl name='rcu_xchg_pointer_sym' mangled-name='rcu_xchg_pointer_sym' filepath='src/urcu-pointer.c' line='47' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_xchg_pointer_sym'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='47' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='v' filepath='src/urcu-pointer.c' line='47' column='1'/>
+      <parameter type-id='type-id-28' name='v' filepath='src/urcu-pointer.c' line='47' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-28'/>
     </function-decl>
     <!-- void* rcu_set_pointer_sym(void**, void*) -->
     <function-decl name='rcu_set_pointer_sym' mangled-name='rcu_set_pointer_sym' filepath='src/urcu-pointer.c' line='40' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_set_pointer_sym'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='40' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='v' filepath='src/urcu-pointer.c' line='40' column='1'/>
+      <parameter type-id='type-id-28' name='v' filepath='src/urcu-pointer.c' line='40' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-28'/>
     </function-decl>
     <!-- void* rcu_dereference_sym(void*) -->
     <function-decl name='rcu_dereference_sym' mangled-name='rcu_dereference_sym' filepath='src/urcu-pointer.c' line='35' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_dereference_sym'>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='p' filepath='src/urcu-pointer.c' line='35' column='1'/>
+      <parameter type-id='type-id-28' name='p' filepath='src/urcu-pointer.c' line='35' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-28'/>
     </function-decl>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='compat_futex.c' comp-dir-path='src' language='LANG_C99'>
-
-
-    <!-- char[48] -->
-    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='384' id='type-id-51'>
-      <!-- <anonymous range>[48] -->
-      <subrange length='48' type-id='type-id-3' id='type-id-52'/>
-
-    </array-type-def>
-    <!-- long long int -->
-    <type-decl name='long long int' size-in-bits='64' id='type-id-53'/>
-    <!-- long long unsigned int -->
-    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-54'/>
-    <!-- unsigned int[2] -->
-    <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='64' id='type-id-55'>
-      <!-- <anonymous range>[2] -->
-      <subrange length='2' type-id='type-id-3' id='type-id-56'/>
-
-    </array-type-def>
-    <!-- typedef __anonymous_union__ pthread_cond_t -->
-    <typedef-decl name='pthread_cond_t' type-id='type-id-57' filepath='/usr/include/bits/pthreadtypes.h' line='80' column='1' id='type-id-58'/>
-    <!-- union {__pthread_cond_s __data; char __size[48]; long long int __align;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='75' column='1' id='type-id-57'>
+    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
+    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-39' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='75' column='1' id='type-id-51'>
       <data-member access='private'>
-        <!-- __pthread_cond_s __data -->
-        <var-decl name='__data' type-id='type-id-59' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='77' column='1'/>
+        <!-- __pthread_cond_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-52' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='77' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- char __size[48] -->
-        <var-decl name='__size' type-id='type-id-51' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='78' column='1'/>
+        <!-- char __anonymous_union__::__size[48] -->
+        <var-decl name='__size' type-id='type-id-53' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='78' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- long long int __align -->
-        <var-decl name='__align' type-id='type-id-53' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='79' column='1'/>
+        <!-- long long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-54' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='79' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __pthread_cond_s -->
-    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='92' column='1' id='type-id-59'>
+    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='171' column='1' id='type-id-52'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <!-- union {long long unsigned int __wseq; struct {unsigned int __low; unsigned int __high;} __wseq32;} -->
-        <var-decl name='' type-id='type-id-60' visibility='default'/>
+        <!-- __anonymous_union__  -->
+        <var-decl name='' type-id='type-id-55' visibility='default'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- unsigned int __pthread_cond_s::__g_refs[2] -->
-        <var-decl name='__g_refs' type-id='type-id-55' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='112' column='1'/>
+        <var-decl name='__g_refs' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='191' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- unsigned int __pthread_cond_s::__g_size[2] -->
-        <var-decl name='__g_size' type-id='type-id-55' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='113' column='1'/>
+        <var-decl name='__g_size' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='192' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- unsigned int __pthread_cond_s::__g1_orig_size -->
-        <var-decl name='__g1_orig_size' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='114' column='1'/>
+        <var-decl name='__g1_orig_size' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='193' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='288'>
         <!-- unsigned int __pthread_cond_s::__wrefs -->
-        <var-decl name='__wrefs' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='115' column='1'/>
+        <var-decl name='__wrefs' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='194' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
         <!-- unsigned int __pthread_cond_s::__g_signals[2] -->
-        <var-decl name='__g_signals' type-id='type-id-55' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='116' column='1'/>
+        <var-decl name='__g_signals' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='195' column='1'/>
       </data-member>
     </class-decl>
-    <!-- union {long long unsigned int __wseq; struct {unsigned int __low; unsigned int __high;} __wseq32;} -->
-    <union-decl name='__anonymous_union__1' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='94' column='1' id='type-id-60'>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='173' column='1' id='type-id-55'>
       <data-member access='private'>
-        <!-- long long unsigned int __wseq -->
-        <var-decl name='__wseq' type-id='type-id-54' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='96' column='1'/>
+        <!-- long long unsigned int __anonymous_union__::__wseq -->
+        <var-decl name='__wseq' type-id='type-id-57' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='175' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- struct {unsigned int __low; unsigned int __high;} __wseq32 -->
-        <var-decl name='__wseq32' type-id='type-id-61' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='101' column='1'/>
+        <!-- __anonymous_struct__ __anonymous_union__::__wseq32 -->
+        <var-decl name='__wseq32' type-id='type-id-58' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='180' column='1'/>
       </data-member>
     </union-decl>
-    <!-- struct {unsigned int __low; unsigned int __high;} -->
-    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='97' column='1' id='type-id-61'>
+    <!-- long long unsigned int -->
+    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-57'/>
+    <!-- struct __anonymous_struct__ -->
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='176' column='1' id='type-id-58'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <!-- unsigned int __low -->
-        <var-decl name='__low' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='99' column='1'/>
+        <!-- unsigned int __anonymous_struct__::__low -->
+        <var-decl name='__low' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='178' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='32'>
-        <!-- unsigned int __high -->
-        <var-decl name='__high' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='100' column='1'/>
+        <!-- unsigned int __anonymous_struct__::__high -->
+        <var-decl name='__high' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='179' column='1'/>
       </data-member>
     </class-decl>
+
+    <!-- unsigned int[2] -->
+    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='64' id='type-id-56'>
+      <!-- <anonymous range>[2] -->
+      <subrange length='2' type-id='type-id-3' id='type-id-59'/>
+
+    </array-type-def>
+
+    <!-- char[48] -->
+    <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='384' id='type-id-53'>
+      <!-- <anonymous range>[48] -->
+      <subrange length='48' type-id='type-id-3' id='type-id-60'/>
+
+    </array-type-def>
+    <!-- long long int -->
+    <type-decl name='long long int' size-in-bits='64' id='type-id-54'/>
+    <!-- typedef __anonymous_union__ pthread_cond_t -->
+    <typedef-decl name='pthread_cond_t' type-id='type-id-51' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='80' column='1' id='type-id-61'/>
+    <!-- pthread_cond_t __urcu_compat_futex_cond -->
+    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-61' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
+    <!-- int32_t* -->
+    <pointer-type-def type-id='type-id-4' size-in-bits='64' id='type-id-62'/>
     <!-- struct timespec -->
-    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='10' column='1' id='type-id-62'>
+    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='9' column='1' id='type-id-63'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- __time_t timespec::tv_sec -->
-        <var-decl name='tv_sec' type-id='type-id-63' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='12' column='1'/>
+        <var-decl name='tv_sec' type-id='type-id-64' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='11' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- __syscall_slong_t timespec::tv_nsec -->
-        <var-decl name='tv_nsec' type-id='type-id-64' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='16' column='1'/>
+        <var-decl name='tv_nsec' type-id='type-id-65' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='12' column='1'/>
       </data-member>
     </class-decl>
     <!-- typedef long int __time_t -->
-    <typedef-decl name='__time_t' type-id='type-id-6' filepath='/usr/include/bits/types.h' line='160' column='1' id='type-id-63'/>
+    <typedef-decl name='__time_t' type-id='type-id-43' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='148' column='1' id='type-id-64'/>
     <!-- typedef long int __syscall_slong_t -->
-    <typedef-decl name='__syscall_slong_t' type-id='type-id-6' filepath='/usr/include/bits/types.h' line='197' column='1' id='type-id-64'/>
+    <typedef-decl name='__syscall_slong_t' type-id='type-id-43' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='184' column='1' id='type-id-65'/>
     <!-- const timespec -->
-    <qualified-type-def type-id='type-id-62' const='yes' id='type-id-65'/>
+    <qualified-type-def type-id='type-id-63' const='yes' id='type-id-66'/>
     <!-- const timespec* -->
-    <pointer-type-def type-id='type-id-65' size-in-bits='64' id='type-id-66'/>
-    <!-- int32_t* -->
-    <pointer-type-def type-id='type-id-11' size-in-bits='64' id='type-id-67'/>
-    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
-    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-33' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
-    <!-- pthread_cond_t __urcu_compat_futex_cond -->
-    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-58' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
+    <pointer-type-def type-id='type-id-66' size-in-bits='64' id='type-id-67'/>
     <!-- int compat_futex_async(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
     <function-decl name='compat_futex_async' mangled-name='compat_futex_async' filepath='src/compat_futex.c' line='118' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_async'>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-1' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-4' name='val' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'const timespec*' -->
-      <parameter type-id='type-id-66' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-67' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val3' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-4' name='val3' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
     </function-decl>
     <!-- int compat_futex_noasync(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
     <function-decl name='compat_futex_noasync' mangled-name='compat_futex_noasync' filepath='src/compat_futex.c' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_noasync'>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-1' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-4' name='val' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'const timespec*' -->
-      <parameter type-id='type-id-66' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-67' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val3' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-4' name='val3' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
     </function-decl>
   </abi-instr>
 </abi-corpus>
index 39be18b2e9989d55392a69333980bf29ebb71f29..6351359e3f405590a00b513cdedaefc1d299ffbc 100644 (file)
@@ -1,11 +1,14 @@
 <abi-corpus architecture='elf-amd-x86_64' soname='liburcu-bp.so.8'>
   <elf-needed>
-    <dependency name='liburcu-common.so.8'/>
     <dependency name='libpthread.so.0'/>
     <dependency name='libc.so.6'/>
     <dependency name='ld-linux-x86-64.so.2'/>
   </elf-needed>
   <elf-function-symbols>
+    <!-- _fini -->
+    <elf-symbol name='_fini' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- _init -->
+    <elf-symbol name='_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- compat_futex_async -->
     <elf-symbol name='compat_futex_async' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- compat_futex_noasync -->
     <elf-symbol name='urcu_bp_reader' size='8' type='tls-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
   </elf-variable-symbols>
   <abi-instr version='1.0' address-size='64' path='urcu-bp.c' comp-dir-path='src' language='LANG_C99'>
-
-    <!-- char -->
-    <type-decl name='char' size-in-bits='8' id='type-id-1'/>
-    <!-- char[40] -->
-    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='320' id='type-id-2'>
-      <!-- <anonymous range>[40] -->
-      <subrange length='40' type-id='type-id-3' id='type-id-4'/>
-
-    </array-type-def>
     <!-- int -->
-    <type-decl name='int' size-in-bits='32' id='type-id-5'/>
-    <!-- long int -->
-    <type-decl name='long int' size-in-bits='64' id='type-id-6'/>
-    <!-- short int -->
-    <type-decl name='short int' size-in-bits='16' id='type-id-7'/>
-    <!-- unsigned int -->
-    <type-decl name='unsigned int' size-in-bits='32' id='type-id-8'/>
-    <!-- unsigned long int -->
-    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-3'/>
-    <!-- void -->
-    <type-decl name='void' id='type-id-9'/>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <!-- int urcu_bp_has_sys_membarrier -->
+    <var-decl name='urcu_bp_has_sys_membarrier' type-id='type-id-1' mangled-name='urcu_bp_has_sys_membarrier' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='109' column='1' elf-symbol-id='urcu_bp_has_sys_membarrier'/>
     <!-- struct urcu_bp_gp -->
-    <class-decl name='urcu_bp_gp' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='77' column='1' id='type-id-10'>
+    <class-decl name='urcu_bp_gp' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='77' column='1' id='type-id-2'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned long int urcu_bp_gp::ctr -->
         <var-decl name='ctr' type-id='type-id-3' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='85' column='1'/>
       </data-member>
     </class-decl>
+    <!-- unsigned long int -->
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-3'/>
+    <!-- urcu_bp_gp urcu_bp_gp -->
+    <var-decl name='urcu_bp_gp' type-id='type-id-2' mangled-name='urcu_bp_gp' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='88' column='1' elf-symbol-id='urcu_bp_gp'/>
     <!-- struct urcu_bp_reader -->
-    <class-decl name='urcu_bp_reader' size-in-bits='2048' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='90' column='1' id='type-id-11'>
+    <class-decl name='urcu_bp_reader' size-in-bits='2048' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='90' column='1' id='type-id-4'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned long int urcu_bp_reader::ctr -->
         <var-decl name='ctr' type-id='type-id-3' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='92' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1024'>
         <!-- cds_list_head urcu_bp_reader::node -->
-        <var-decl name='node' type-id='type-id-12' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='94' column='1'/>
+        <var-decl name='node' type-id='type-id-5' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='94' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1152'>
         <!-- pthread_t urcu_bp_reader::tid -->
-        <var-decl name='tid' type-id='type-id-13' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='95' column='1'/>
+        <var-decl name='tid' type-id='type-id-6' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='95' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1216'>
         <!-- int urcu_bp_reader::alloc -->
-        <var-decl name='alloc' type-id='type-id-5' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='96' column='1'/>
+        <var-decl name='alloc' type-id='type-id-1' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='96' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_list_head -->
-    <class-decl name='cds_list_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/list.h' line='37' column='1' id='type-id-12'>
+    <class-decl name='cds_list_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/list.h' line='37' column='1' id='type-id-5'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_list_head* cds_list_head::next -->
-        <var-decl name='next' type-id='type-id-14' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
+        <var-decl name='next' type-id='type-id-7' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- cds_list_head* cds_list_head::prev -->
-        <var-decl name='prev' type-id='type-id-14' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
+        <var-decl name='prev' type-id='type-id-7' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_list_head* -->
+    <pointer-type-def type-id='type-id-5' size-in-bits='64' id='type-id-7'/>
     <!-- typedef unsigned long int pthread_t -->
-    <typedef-decl name='pthread_t' type-id='type-id-3' filepath='/usr/include/bits/pthreadtypes.h' line='27' column='1' id='type-id-13'/>
+    <typedef-decl name='pthread_t' type-id='type-id-3' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='27' column='1' id='type-id-6'/>
+    <!-- urcu_bp_reader* -->
+    <pointer-type-def type-id='type-id-4' size-in-bits='64' id='type-id-8'/>
+    <!-- urcu_bp_reader* urcu_bp_reader -->
+    <var-decl name='urcu_bp_reader' type-id='type-id-8' mangled-name='urcu_bp_reader' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='104' column='1' elf-symbol-id='urcu_bp_reader'/>
     <!-- struct rcu_flavor_struct -->
-    <class-decl name='rcu_flavor_struct' size-in-bits='896' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='42' column='1' id='type-id-15'>
+    <class-decl name='rcu_flavor_struct' size-in-bits='896' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='42' column='1' id='type-id-9'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- void ()* rcu_flavor_struct::read_lock -->
-        <var-decl name='read_lock' type-id='type-id-16' visibility='default' filepath='../include/urcu/flavor.h' line='43' column='1'/>
+        <var-decl name='read_lock' type-id='type-id-10' visibility='default' filepath='../include/urcu/flavor.h' line='43' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void ()* rcu_flavor_struct::read_unlock -->
-        <var-decl name='read_unlock' type-id='type-id-16' visibility='default' filepath='../include/urcu/flavor.h' line='44' column='1'/>
+        <var-decl name='read_unlock' type-id='type-id-10' visibility='default' filepath='../include/urcu/flavor.h' line='44' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- int ()* rcu_flavor_struct::read_ongoing -->
-        <var-decl name='read_ongoing' type-id='type-id-17' visibility='default' filepath='../include/urcu/flavor.h' line='45' column='1'/>
+        <var-decl name='read_ongoing' type-id='type-id-11' visibility='default' filepath='../include/urcu/flavor.h' line='45' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- void ()* rcu_flavor_struct::read_quiescent_state -->
-        <var-decl name='read_quiescent_state' type-id='type-id-16' visibility='default' filepath='../include/urcu/flavor.h' line='46' column='1'/>
+        <var-decl name='read_quiescent_state' type-id='type-id-10' visibility='default' filepath='../include/urcu/flavor.h' line='46' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- void (rcu_head*, void (rcu_head*)*)* rcu_flavor_struct::update_call_rcu -->
-        <var-decl name='update_call_rcu' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='47' column='1'/>
+        <var-decl name='update_call_rcu' type-id='type-id-12' visibility='default' filepath='../include/urcu/flavor.h' line='47' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
         <!-- void ()* rcu_flavor_struct::update_synchronize_rcu -->
-        <var-decl name='update_synchronize_rcu' type-id='type-id-16' visibility='default' filepath='../include/urcu/flavor.h' line='49' column='1'/>
+        <var-decl name='update_synchronize_rcu' type-id='type-id-10' visibility='default' filepath='../include/urcu/flavor.h' line='49' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='384'>
         <!-- void (void (void*)*, void*)* rcu_flavor_struct::update_defer_rcu -->
-        <var-decl name='update_defer_rcu' type-id='type-id-19' visibility='default' filepath='../include/urcu/flavor.h' line='50' column='1'/>
+        <var-decl name='update_defer_rcu' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='50' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='448'>
         <!-- void ()* rcu_flavor_struct::thread_offline -->
-        <var-decl name='thread_offline' type-id='type-id-16' visibility='default' filepath='../include/urcu/flavor.h' line='52' column='1'/>
+        <var-decl name='thread_offline' type-id='type-id-10' visibility='default' filepath='../include/urcu/flavor.h' line='52' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='512'>
         <!-- void ()* rcu_flavor_struct::thread_online -->
-        <var-decl name='thread_online' type-id='type-id-16' visibility='default' filepath='../include/urcu/flavor.h' line='53' column='1'/>
+        <var-decl name='thread_online' type-id='type-id-10' visibility='default' filepath='../include/urcu/flavor.h' line='53' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='576'>
         <!-- void ()* rcu_flavor_struct::register_thread -->
-        <var-decl name='register_thread' type-id='type-id-16' visibility='default' filepath='../include/urcu/flavor.h' line='54' column='1'/>
+        <var-decl name='register_thread' type-id='type-id-10' visibility='default' filepath='../include/urcu/flavor.h' line='54' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='640'>
         <!-- void ()* rcu_flavor_struct::unregister_thread -->
-        <var-decl name='unregister_thread' type-id='type-id-16' visibility='default' filepath='../include/urcu/flavor.h' line='55' column='1'/>
+        <var-decl name='unregister_thread' type-id='type-id-10' visibility='default' filepath='../include/urcu/flavor.h' line='55' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='704'>
         <!-- void ()* rcu_flavor_struct::barrier -->
-        <var-decl name='barrier' type-id='type-id-16' visibility='default' filepath='../include/urcu/flavor.h' line='57' column='1'/>
+        <var-decl name='barrier' type-id='type-id-10' visibility='default' filepath='../include/urcu/flavor.h' line='57' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='768'>
         <!-- void (urcu_atfork*)* rcu_flavor_struct::register_rculfhash_atfork -->
-        <var-decl name='register_rculfhash_atfork' type-id='type-id-20' visibility='default' filepath='../include/urcu/flavor.h' line='59' column='1'/>
+        <var-decl name='register_rculfhash_atfork' type-id='type-id-14' visibility='default' filepath='../include/urcu/flavor.h' line='59' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='832'>
         <!-- void (urcu_atfork*)* rcu_flavor_struct::unregister_rculfhash_atfork -->
-        <var-decl name='unregister_rculfhash_atfork' type-id='type-id-20' visibility='default' filepath='../include/urcu/flavor.h' line='60' column='1'/>
+        <var-decl name='unregister_rculfhash_atfork' type-id='type-id-14' visibility='default' filepath='../include/urcu/flavor.h' line='60' column='1'/>
       </data-member>
     </class-decl>
+    <!-- void -->
+    <type-decl name='void' id='type-id-15'/>
+    <!-- void ()* -->
+    <pointer-type-def type-id='type-id-16' size-in-bits='64' id='type-id-10'/>
+    <!-- int ()* -->
+    <pointer-type-def type-id='type-id-17' size-in-bits='64' id='type-id-11'/>
     <!-- struct rcu_head -->
-    <class-decl name='rcu_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/call-rcu.h' line='57' column='1' id='type-id-21'>
+    <class-decl name='rcu_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/call-rcu.h' line='57' column='1' id='type-id-18'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node rcu_head::next -->
-        <var-decl name='next' type-id='type-id-22' visibility='default' filepath='../include/urcu/call-rcu.h' line='58' column='1'/>
+        <var-decl name='next' type-id='type-id-19' visibility='default' filepath='../include/urcu/call-rcu.h' line='58' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void (rcu_head*)* rcu_head::func -->
-        <var-decl name='func' type-id='type-id-23' visibility='default' filepath='../include/urcu/call-rcu.h' line='59' column='1'/>
+        <var-decl name='func' type-id='type-id-20' visibility='default' filepath='../include/urcu/call-rcu.h' line='59' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_node -->
-    <class-decl name='cds_wfcq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='59' column='1' id='type-id-22'>
+    <class-decl name='cds_wfcq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='59' column='1' id='type-id-19'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node* cds_wfcq_node::next -->
-        <var-decl name='next' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='60' column='1'/>
+        <var-decl name='next' type-id='type-id-21' visibility='default' filepath='../include/urcu/wfcqueue.h' line='60' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_wfcq_node* -->
+    <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-21'/>
+    <!-- rcu_head* -->
+    <pointer-type-def type-id='type-id-18' size-in-bits='64' id='type-id-22'/>
+    <!-- void (rcu_head*)* -->
+    <pointer-type-def type-id='type-id-23' size-in-bits='64' id='type-id-20'/>
+    <!-- void (rcu_head*, void (rcu_head*)*)* -->
+    <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-12'/>
+    <!-- void* -->
+    <pointer-type-def type-id='type-id-15' size-in-bits='64' id='type-id-25'/>
+    <!-- void (void*)* -->
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-27'/>
+    <!-- void (void (void*)*, void*)* -->
+    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-13'/>
     <!-- struct urcu_atfork -->
-    <class-decl name='urcu_atfork' size-in-bits='256' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='32' column='1' id='type-id-25'>
+    <class-decl name='urcu_atfork' size-in-bits='256' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='32' column='1' id='type-id-29'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- void (void*)* urcu_atfork::before_fork -->
-        <var-decl name='before_fork' type-id='type-id-26' visibility='default' filepath='../include/urcu/flavor.h' line='33' column='1'/>
+        <var-decl name='before_fork' type-id='type-id-27' visibility='default' filepath='../include/urcu/flavor.h' line='33' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void (void*)* urcu_atfork::after_fork_parent -->
-        <var-decl name='after_fork_parent' type-id='type-id-26' visibility='default' filepath='../include/urcu/flavor.h' line='34' column='1'/>
+        <var-decl name='after_fork_parent' type-id='type-id-27' visibility='default' filepath='../include/urcu/flavor.h' line='34' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- void (void*)* urcu_atfork::after_fork_child -->
-        <var-decl name='after_fork_child' type-id='type-id-26' visibility='default' filepath='../include/urcu/flavor.h' line='35' column='1'/>
+        <var-decl name='after_fork_child' type-id='type-id-27' visibility='default' filepath='../include/urcu/flavor.h' line='35' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- void* urcu_atfork::priv -->
-        <var-decl name='priv' type-id='type-id-27' visibility='default' filepath='../include/urcu/flavor.h' line='36' column='1'/>
+        <var-decl name='priv' type-id='type-id-25' visibility='default' filepath='../include/urcu/flavor.h' line='36' column='1'/>
       </data-member>
     </class-decl>
+    <!-- urcu_atfork* -->
+    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-30'/>
+    <!-- void (urcu_atfork*)* -->
+    <pointer-type-def type-id='type-id-31' size-in-bits='64' id='type-id-14'/>
+    <!-- const rcu_flavor_struct -->
+    <qualified-type-def type-id='type-id-9' const='yes' id='type-id-32'/>
+    <!-- const rcu_flavor_struct urcu_bp_flavor -->
+    <var-decl name='urcu_bp_flavor' type-id='type-id-32' mangled-name='urcu_bp_flavor' visibility='default' filepath='../include/urcu/flavor.h' line='81' column='1' elf-symbol-id='urcu_bp_flavor'/>
+    <!-- void urcu_bp_defer_exit() -->
+    <function-decl name='urcu_bp_defer_exit' mangled-name='urcu_bp_defer_exit' filepath='src/urcu-defer-impl.h' line='467' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_defer_exit'>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <!-- void urcu_bp_defer_unregister_thread() -->
+    <function-decl name='urcu_bp_defer_unregister_thread' mangled-name='urcu_bp_defer_unregister_thread' filepath='src/urcu-defer-impl.h' line='449' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_defer_unregister_thread'>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <!-- int urcu_bp_defer_register_thread() -->
+    <function-decl name='urcu_bp_defer_register_thread' mangled-name='urcu_bp_defer_register_thread' filepath='src/urcu-defer-impl.h' line='427' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_defer_register_thread'>
+      <!-- int -->
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <!-- void urcu_bp_defer_rcu(void (void*)*, void*) -->
+    <function-decl name='urcu_bp_defer_rcu' mangled-name='urcu_bp_defer_rcu' filepath='src/urcu-defer-impl.h' line='396' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_defer_rcu'>
+      <!-- parameter of type 'void (void*)*' -->
+      <parameter type-id='type-id-27' name='fct' filepath='src/urcu-defer-impl.h' line='396' column='1'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-25' name='p' filepath='src/urcu-defer-impl.h' line='396' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <!-- void urcu_bp_defer_barrier() -->
+    <function-decl name='urcu_bp_defer_barrier' mangled-name='urcu_bp_defer_barrier' filepath='src/urcu-defer-impl.h' line='282' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_defer_barrier'>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <!-- void urcu_bp_defer_barrier_thread() -->
+    <function-decl name='urcu_bp_defer_barrier_thread' mangled-name='urcu_bp_defer_barrier_thread' filepath='src/urcu-defer-impl.h' line='262' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_defer_barrier_thread'>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <!-- void urcu_bp_unregister_rculfhash_atfork(urcu_atfork*) -->
+    <function-decl name='urcu_bp_unregister_rculfhash_atfork' mangled-name='urcu_bp_unregister_rculfhash_atfork' filepath='src/urcu-call-rcu-impl.h' line='1012' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_unregister_rculfhash_atfork'>
+      <!-- parameter of type 'urcu_atfork*' -->
+      <parameter type-id='type-id-30' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1012' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <!-- void urcu_bp_register_rculfhash_atfork(urcu_atfork*) -->
+    <function-decl name='urcu_bp_register_rculfhash_atfork' mangled-name='urcu_bp_register_rculfhash_atfork' filepath='src/urcu-call-rcu-impl.h' line='1002' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_register_rculfhash_atfork'>
+      <!-- parameter of type 'urcu_atfork*' -->
+      <parameter type-id='type-id-30' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1012' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <!-- void urcu_bp_call_rcu_after_fork_child() -->
+    <function-decl name='urcu_bp_call_rcu_after_fork_child' mangled-name='urcu_bp_call_rcu_after_fork_child' filepath='src/urcu-call-rcu-impl.h' line='960' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_call_rcu_after_fork_child'>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <!-- void urcu_bp_call_rcu_after_fork_parent() -->
+    <function-decl name='urcu_bp_call_rcu_after_fork_parent' mangled-name='urcu_bp_call_rcu_after_fork_parent' filepath='src/urcu-call-rcu-impl.h' line='938' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_call_rcu_after_fork_parent'>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <!-- void urcu_bp_call_rcu_before_fork() -->
+    <function-decl name='urcu_bp_call_rcu_before_fork' mangled-name='urcu_bp_call_rcu_before_fork' filepath='src/urcu-call-rcu-impl.h' line='911' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_call_rcu_before_fork'>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <!-- void urcu_bp_barrier() -->
+    <function-decl name='urcu_bp_barrier' mangled-name='urcu_bp_barrier' filepath='src/urcu-call-rcu-impl.h' line='840' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_barrier'>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <!-- void urcu_bp_free_all_cpu_call_rcu_data() -->
+    <function-decl name='urcu_bp_free_all_cpu_call_rcu_data' mangled-name='urcu_bp_free_all_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='777' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_free_all_cpu_call_rcu_data'>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
     <!-- struct call_rcu_data -->
-    <class-decl name='call_rcu_data' size-in-bits='1024' is-struct='yes' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='53' column='1' id='type-id-28'>
+    <class-decl name='call_rcu_data' size-in-bits='1024' is-struct='yes' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='53' column='1' id='type-id-33'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_tail call_rcu_data::cbs_tail -->
-        <var-decl name='cbs_tail' type-id='type-id-29' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='61' column='1'/>
+        <var-decl name='cbs_tail' type-id='type-id-34' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='61' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- cds_wfcq_head call_rcu_data::cbs_head -->
-        <var-decl name='cbs_head' type-id='type-id-30' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='62' column='1'/>
+        <var-decl name='cbs_head' type-id='type-id-35' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='62' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='448'>
         <!-- unsigned long int call_rcu_data::flags -->
       </data-member>
       <data-member access='public' layout-offset-in-bits='512'>
         <!-- int32_t call_rcu_data::futex -->
-        <var-decl name='futex' type-id='type-id-31' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='64' column='1'/>
+        <var-decl name='futex' type-id='type-id-36' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='64' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='576'>
         <!-- unsigned long int call_rcu_data::qlen -->
       </data-member>
       <data-member access='public' layout-offset-in-bits='640'>
         <!-- pthread_t call_rcu_data::tid -->
-        <var-decl name='tid' type-id='type-id-13' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='66' column='1'/>
+        <var-decl name='tid' type-id='type-id-6' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='66' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='704'>
         <!-- int call_rcu_data::cpu_affinity -->
-        <var-decl name='cpu_affinity' type-id='type-id-5' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='67' column='1'/>
+        <var-decl name='cpu_affinity' type-id='type-id-1' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='67' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='768'>
         <!-- unsigned long int call_rcu_data::gp_count -->
       </data-member>
       <data-member access='public' layout-offset-in-bits='832'>
         <!-- cds_list_head call_rcu_data::list -->
-        <var-decl name='list' type-id='type-id-12' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='69' column='1'/>
+        <var-decl name='list' type-id='type-id-5' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='69' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_tail -->
-    <class-decl name='cds_wfcq_tail' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='127' column='1' id='type-id-29'>
+    <class-decl name='cds_wfcq_tail' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='127' column='1' id='type-id-34'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node* cds_wfcq_tail::p -->
-        <var-decl name='p' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='128' column='1'/>
+        <var-decl name='p' type-id='type-id-21' visibility='default' filepath='../include/urcu/wfcqueue.h' line='128' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_head -->
-    <class-decl name='cds_wfcq_head' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='72' column='1' id='type-id-30'>
+    <class-decl name='cds_wfcq_head' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='72' column='1' id='type-id-35'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node cds_wfcq_head::node -->
-        <var-decl name='node' type-id='type-id-22' visibility='default' filepath='../include/urcu/wfcqueue.h' line='73' column='1'/>
+        <var-decl name='node' type-id='type-id-19' visibility='default' filepath='../include/urcu/wfcqueue.h' line='73' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- pthread_mutex_t cds_wfcq_head::lock -->
-        <var-decl name='lock' type-id='type-id-32' visibility='default' filepath='../include/urcu/wfcqueue.h' line='74' column='1'/>
+        <var-decl name='lock' type-id='type-id-37' visibility='default' filepath='../include/urcu/wfcqueue.h' line='74' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __anonymous_union__ pthread_mutex_t -->
-    <typedef-decl name='pthread_mutex_t' type-id='type-id-33' filepath='/usr/include/bits/pthreadtypes.h' line='72' column='1' id='type-id-32'/>
-    <!-- union {__pthread_mutex_s __data; char __size[40]; long int __align;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='67' column='1' id='type-id-33'>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='67' column='1' id='type-id-38'>
       <data-member access='private'>
-        <!-- __pthread_mutex_s __data -->
-        <var-decl name='__data' type-id='type-id-34' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='69' column='1'/>
+        <!-- __pthread_mutex_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-39' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='69' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- char __size[40] -->
-        <var-decl name='__size' type-id='type-id-2' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='70' column='1'/>
+        <!-- char __anonymous_union__::__size[40] -->
+        <var-decl name='__size' type-id='type-id-40' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='70' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- long int __align -->
-        <var-decl name='__align' type-id='type-id-6' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='71' column='1'/>
+        <!-- long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-41' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='71' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __pthread_mutex_s -->
-    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='22' column='1' id='type-id-34'>
+    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='118' column='1' id='type-id-39'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- int __pthread_mutex_s::__lock -->
-        <var-decl name='__lock' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='24' column='1'/>
+        <var-decl name='__lock' type-id='type-id-1' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='120' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='32'>
         <!-- unsigned int __pthread_mutex_s::__count -->
-        <var-decl name='__count' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='25' column='1'/>
+        <var-decl name='__count' type-id='type-id-42' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='121' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- int __pthread_mutex_s::__owner -->
-        <var-decl name='__owner' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='26' column='1'/>
+        <var-decl name='__owner' type-id='type-id-1' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='122' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='96'>
         <!-- unsigned int __pthread_mutex_s::__nusers -->
-        <var-decl name='__nusers' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='28' column='1'/>
+        <var-decl name='__nusers' type-id='type-id-42' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='124' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- int __pthread_mutex_s::__kind -->
-        <var-decl name='__kind' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='32' column='1'/>
+        <var-decl name='__kind' type-id='type-id-1' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='148' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='160'>
         <!-- short int __pthread_mutex_s::__spins -->
-        <var-decl name='__spins' type-id='type-id-7' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='34' column='1'/>
+        <var-decl name='__spins' type-id='type-id-43' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='176'>
         <!-- short int __pthread_mutex_s::__elision -->
-        <var-decl name='__elision' type-id='type-id-7' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='35' column='1'/>
+        <var-decl name='__elision' type-id='type-id-43' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- __pthread_list_t __pthread_mutex_s::__list -->
-        <var-decl name='__list' type-id='type-id-35' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='36' column='1'/>
+        <var-decl name='__list' type-id='type-id-44' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='155' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __pthread_internal_list __pthread_list_t -->
-    <typedef-decl name='__pthread_list_t' type-id='type-id-36' filepath='/usr/include/bits/thread-shared-types.h' line='53' column='1' id='type-id-35'/>
+    <!-- unsigned int -->
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-42'/>
+    <!-- short int -->
+    <type-decl name='short int' size-in-bits='16' id='type-id-43'/>
     <!-- struct __pthread_internal_list -->
-    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='49' column='1' id='type-id-36'>
+    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='82' column='1' id='type-id-45'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- __pthread_internal_list* __pthread_internal_list::__prev -->
-        <var-decl name='__prev' type-id='type-id-37' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='51' column='1'/>
+        <var-decl name='__prev' type-id='type-id-46' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='84' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- __pthread_internal_list* __pthread_internal_list::__next -->
-        <var-decl name='__next' type-id='type-id-37' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='52' column='1'/>
+        <var-decl name='__next' type-id='type-id-46' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='85' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __int32_t int32_t -->
-    <typedef-decl name='int32_t' type-id='type-id-38' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-31'/>
-    <!-- typedef int __int32_t -->
-    <typedef-decl name='__int32_t' type-id='type-id-5' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-38'/>
     <!-- __pthread_internal_list* -->
-    <pointer-type-def type-id='type-id-36' size-in-bits='64' id='type-id-37'/>
+    <pointer-type-def type-id='type-id-45' size-in-bits='64' id='type-id-46'/>
+    <!-- typedef __pthread_internal_list __pthread_list_t -->
+    <typedef-decl name='__pthread_list_t' type-id='type-id-45' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='86' column='1' id='type-id-44'/>
+    <!-- char -->
+    <type-decl name='char' size-in-bits='8' id='type-id-47'/>
+
+    <!-- char[40] -->
+    <array-type-def dimensions='1' type-id='type-id-47' size-in-bits='320' id='type-id-40'>
+      <!-- <anonymous range>[40] -->
+      <subrange length='40' type-id='type-id-3' id='type-id-48'/>
+
+    </array-type-def>
+    <!-- long int -->
+    <type-decl name='long int' size-in-bits='64' id='type-id-41'/>
+    <!-- typedef __anonymous_union__ pthread_mutex_t -->
+    <typedef-decl name='pthread_mutex_t' type-id='type-id-38' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='72' column='1' id='type-id-37'/>
+    <!-- typedef int __int32_t -->
+    <typedef-decl name='__int32_t' type-id='type-id-1' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='40' column='1' id='type-id-49'/>
+    <!-- typedef __int32_t int32_t -->
+    <typedef-decl name='int32_t' type-id='type-id-49' filepath='/usr/include/x86_64-linux-gnu/bits/stdint-intn.h' line='26' column='1' id='type-id-36'/>
     <!-- call_rcu_data* -->
-    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-39'/>
-    <!-- cds_list_head* -->
-    <pointer-type-def type-id='type-id-12' size-in-bits='64' id='type-id-14'/>
-    <!-- cds_wfcq_node* -->
-    <pointer-type-def type-id='type-id-22' size-in-bits='64' id='type-id-24'/>
-    <!-- const rcu_flavor_struct -->
-    <qualified-type-def type-id='type-id-15' const='yes' id='type-id-40'/>
-    <!-- int ()* -->
-    <pointer-type-def type-id='type-id-41' size-in-bits='64' id='type-id-17'/>
-    <!-- rcu_head* -->
-    <pointer-type-def type-id='type-id-21' size-in-bits='64' id='type-id-42'/>
-    <!-- urcu_atfork* -->
-    <pointer-type-def type-id='type-id-25' size-in-bits='64' id='type-id-43'/>
-    <!-- urcu_bp_reader* -->
-    <pointer-type-def type-id='type-id-11' size-in-bits='64' id='type-id-44'/>
-    <!-- void ()* -->
-    <pointer-type-def type-id='type-id-45' size-in-bits='64' id='type-id-16'/>
-    <!-- void (rcu_head*)* -->
-    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-23'/>
-    <!-- void (rcu_head*, void (rcu_head*)*)* -->
-    <pointer-type-def type-id='type-id-47' size-in-bits='64' id='type-id-18'/>
-    <!-- void (urcu_atfork*)* -->
-    <pointer-type-def type-id='type-id-48' size-in-bits='64' id='type-id-20'/>
-    <!-- void (void (void*)*, void*)* -->
-    <pointer-type-def type-id='type-id-49' size-in-bits='64' id='type-id-19'/>
-    <!-- void (void*)* -->
-    <pointer-type-def type-id='type-id-50' size-in-bits='64' id='type-id-26'/>
-    <!-- void* -->
-    <pointer-type-def type-id='type-id-9' size-in-bits='64' id='type-id-27'/>
-    <!-- void** -->
-    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-51'/>
-    <!-- int urcu_bp_has_sys_membarrier -->
-    <var-decl name='urcu_bp_has_sys_membarrier' type-id='type-id-5' mangled-name='urcu_bp_has_sys_membarrier' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='109' column='1' elf-symbol-id='urcu_bp_has_sys_membarrier'/>
-    <!-- urcu_bp_gp urcu_bp_gp -->
-    <var-decl name='urcu_bp_gp' type-id='type-id-10' mangled-name='urcu_bp_gp' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='88' column='1' elf-symbol-id='urcu_bp_gp'/>
-    <!-- urcu_bp_reader* urcu_bp_reader -->
-    <var-decl name='urcu_bp_reader' type-id='type-id-44' mangled-name='urcu_bp_reader' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='104' column='1' elf-symbol-id='urcu_bp_reader'/>
-    <!-- const rcu_flavor_struct urcu_bp_flavor -->
-    <var-decl name='urcu_bp_flavor' type-id='type-id-40' mangled-name='urcu_bp_flavor' visibility='default' filepath='../include/urcu/flavor.h' line='81' column='1' elf-symbol-id='urcu_bp_flavor'/>
-    <!-- void urcu_bp_defer_exit() -->
-    <function-decl name='urcu_bp_defer_exit' mangled-name='urcu_bp_defer_exit' filepath='src/urcu-defer-impl.h' line='467' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_defer_exit'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_bp_defer_unregister_thread() -->
-    <function-decl name='urcu_bp_defer_unregister_thread' mangled-name='urcu_bp_defer_unregister_thread' filepath='src/urcu-defer-impl.h' line='449' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_defer_unregister_thread'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- int urcu_bp_defer_register_thread() -->
-    <function-decl name='urcu_bp_defer_register_thread' mangled-name='urcu_bp_defer_register_thread' filepath='src/urcu-defer-impl.h' line='427' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_defer_register_thread'>
-      <!-- int -->
-      <return type-id='type-id-5'/>
-    </function-decl>
-    <!-- void urcu_bp_defer_rcu(void (void*)*, void*) -->
-    <function-decl name='urcu_bp_defer_rcu' mangled-name='urcu_bp_defer_rcu' filepath='src/urcu-defer-impl.h' line='396' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_defer_rcu'>
-      <!-- parameter of type 'void (void*)*' -->
-      <parameter type-id='type-id-26' name='fct' filepath='src/urcu-defer-impl.h' line='396' column='1'/>
-      <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-27' name='p' filepath='src/urcu-defer-impl.h' line='396' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_bp_defer_barrier() -->
-    <function-decl name='urcu_bp_defer_barrier' mangled-name='urcu_bp_defer_barrier' filepath='src/urcu-defer-impl.h' line='282' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_defer_barrier'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_bp_defer_barrier_thread() -->
-    <function-decl name='urcu_bp_defer_barrier_thread' mangled-name='urcu_bp_defer_barrier_thread' filepath='src/urcu-defer-impl.h' line='262' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_defer_barrier_thread'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_bp_unregister_rculfhash_atfork(urcu_atfork*) -->
-    <function-decl name='urcu_bp_unregister_rculfhash_atfork' mangled-name='urcu_bp_unregister_rculfhash_atfork' filepath='src/urcu-call-rcu-impl.h' line='1012' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_unregister_rculfhash_atfork'>
-      <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-43' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1012' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_bp_register_rculfhash_atfork(urcu_atfork*) -->
-    <function-decl name='urcu_bp_register_rculfhash_atfork' mangled-name='urcu_bp_register_rculfhash_atfork' filepath='src/urcu-call-rcu-impl.h' line='1002' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_register_rculfhash_atfork'>
-      <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-43' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1002' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_bp_call_rcu_after_fork_child() -->
-    <function-decl name='urcu_bp_call_rcu_after_fork_child' mangled-name='urcu_bp_call_rcu_after_fork_child' filepath='src/urcu-call-rcu-impl.h' line='960' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_call_rcu_after_fork_child'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_bp_call_rcu_after_fork_parent() -->
-    <function-decl name='urcu_bp_call_rcu_after_fork_parent' mangled-name='urcu_bp_call_rcu_after_fork_parent' filepath='src/urcu-call-rcu-impl.h' line='938' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_call_rcu_after_fork_parent'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_bp_call_rcu_before_fork() -->
-    <function-decl name='urcu_bp_call_rcu_before_fork' mangled-name='urcu_bp_call_rcu_before_fork' filepath='src/urcu-call-rcu-impl.h' line='911' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_call_rcu_before_fork'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_bp_barrier() -->
-    <function-decl name='urcu_bp_barrier' mangled-name='urcu_bp_barrier' filepath='src/urcu-call-rcu-impl.h' line='840' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_barrier'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_bp_free_all_cpu_call_rcu_data() -->
-    <function-decl name='urcu_bp_free_all_cpu_call_rcu_data' mangled-name='urcu_bp_free_all_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='777' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_free_all_cpu_call_rcu_data'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
+    <pointer-type-def type-id='type-id-33' size-in-bits='64' id='type-id-50'/>
     <!-- void urcu_bp_call_rcu_data_free(call_rcu_data*) -->
     <function-decl name='urcu_bp_call_rcu_data_free' mangled-name='urcu_bp_call_rcu_data_free' filepath='src/urcu-call-rcu-impl.h' line='742' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_call_rcu_data_free'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='742' column='1'/>
+      <parameter type-id='type-id-50' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='742' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-15'/>
     </function-decl>
     <!-- void urcu_bp_call_rcu(rcu_head*, void (rcu_head*)*) -->
     <function-decl name='urcu_bp_call_rcu' mangled-name='urcu_bp_call_rcu' filepath='src/urcu-call-rcu-impl.h' line='704' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_call_rcu'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42' name='head' filepath='src/urcu-call-rcu-impl.h' line='704' column='1'/>
+      <parameter type-id='type-id-22' name='head' filepath='src/urcu-call-rcu-impl.h' line='704' column='1'/>
       <!-- parameter of type 'void (rcu_head*)*' -->
-      <parameter type-id='type-id-23' name='func' filepath='src/urcu-call-rcu-impl.h' line='705' column='1'/>
+      <parameter type-id='type-id-20' name='func' filepath='src/urcu-call-rcu-impl.h' line='705' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-15'/>
     </function-decl>
     <!-- int urcu_bp_create_all_cpu_call_rcu_data(unsigned long int) -->
     <function-decl name='urcu_bp_create_all_cpu_call_rcu_data' mangled-name='urcu_bp_create_all_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='626' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_create_all_cpu_call_rcu_data'>
       <!-- parameter of type 'unsigned long int' -->
       <parameter type-id='type-id-3' name='flags' filepath='src/urcu-call-rcu-impl.h' line='626' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
     </function-decl>
     <!-- void urcu_bp_set_thread_call_rcu_data(call_rcu_data*) -->
     <function-decl name='urcu_bp_set_thread_call_rcu_data' mangled-name='urcu_bp_set_thread_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='613' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_set_thread_call_rcu_data'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='613' column='1'/>
+      <parameter type-id='type-id-50' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='613' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-15'/>
     </function-decl>
     <!-- call_rcu_data* urcu_bp_get_thread_call_rcu_data() -->
     <function-decl name='urcu_bp_get_thread_call_rcu_data' mangled-name='urcu_bp_get_thread_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='597' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_get_thread_call_rcu_data'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-50'/>
     </function-decl>
     <!-- call_rcu_data* urcu_bp_get_call_rcu_data() -->
     <function-decl name='urcu_bp_get_call_rcu_data' mangled-name='urcu_bp_get_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='577' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_get_call_rcu_data'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-50'/>
     </function-decl>
     <!-- call_rcu_data* urcu_bp_get_default_call_rcu_data() -->
     <function-decl name='urcu_bp_get_default_call_rcu_data' mangled-name='urcu_bp_get_default_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='552' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_get_default_call_rcu_data'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-50'/>
     </function-decl>
     <!-- int urcu_bp_set_cpu_call_rcu_data(int, call_rcu_data*) -->
     <function-decl name='urcu_bp_set_cpu_call_rcu_data' mangled-name='urcu_bp_set_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='513' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_set_cpu_call_rcu_data'>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='513' column='1'/>
+      <parameter type-id='type-id-1' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='513' column='1'/>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='513' column='1'/>
+      <parameter type-id='type-id-50' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='513' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
     </function-decl>
     <!-- call_rcu_data* urcu_bp_create_call_rcu_data(unsigned long int, int) -->
     <function-decl name='urcu_bp_create_call_rcu_data' mangled-name='urcu_bp_create_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='489' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_create_call_rcu_data'>
       <!-- parameter of type 'unsigned long int' -->
       <parameter type-id='type-id-3' name='flags' filepath='src/urcu-call-rcu-impl.h' line='489' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu_affinity' filepath='src/urcu-call-rcu-impl.h' line='490' column='1'/>
+      <parameter type-id='type-id-1' name='cpu_affinity' filepath='src/urcu-call-rcu-impl.h' line='490' column='1'/>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-50'/>
     </function-decl>
     <!-- pthread_t urcu_bp_get_call_rcu_thread(call_rcu_data*) -->
     <function-decl name='urcu_bp_get_call_rcu_thread' mangled-name='urcu_bp_get_call_rcu_thread' filepath='src/urcu-call-rcu-impl.h' line='471' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_get_call_rcu_thread'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='471' column='1'/>
+      <parameter type-id='type-id-50' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='471' column='1'/>
       <!-- typedef pthread_t -->
-      <return type-id='type-id-13'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- call_rcu_data* urcu_bp_get_cpu_call_rcu_data(int) -->
     <function-decl name='urcu_bp_get_cpu_call_rcu_data' mangled-name='urcu_bp_get_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='449' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_get_cpu_call_rcu_data'>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='449' column='1'/>
+      <parameter type-id='type-id-1' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='449' column='1'/>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-50'/>
     </function-decl>
+    <!-- void** -->
+    <pointer-type-def type-id='type-id-25' size-in-bits='64' id='type-id-51'/>
     <!-- void* urcu_bp_cmpxchg_pointer_sym(void**, void*, void*) -->
     <function-decl name='urcu_bp_cmpxchg_pointer_sym' mangled-name='urcu_bp_cmpxchg_pointer_sym' filepath='src/urcu-bp.c' line='762' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_cmpxchg_pointer_sym'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-51' name='p' filepath='src/urcu-bp.c' line='762' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-27' name='old' filepath='src/urcu-bp.c' line='762' column='1'/>
+      <parameter type-id='type-id-25' name='old' filepath='src/urcu-bp.c' line='762' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-27' name='_new' filepath='src/urcu-bp.c' line='762' column='1'/>
+      <parameter type-id='type-id-25' name='_new' filepath='src/urcu-bp.c' line='762' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-27'/>
+      <return type-id='type-id-25'/>
     </function-decl>
     <!-- void* urcu_bp_xchg_pointer_sym(void**, void*) -->
     <function-decl name='urcu_bp_xchg_pointer_sym' mangled-name='urcu_bp_xchg_pointer_sym' filepath='src/urcu-bp.c' line='756' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_xchg_pointer_sym'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-51' name='p' filepath='src/urcu-bp.c' line='756' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-27' name='v' filepath='src/urcu-bp.c' line='756' column='1'/>
+      <parameter type-id='type-id-25' name='v' filepath='src/urcu-bp.c' line='756' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-27'/>
+      <return type-id='type-id-25'/>
     </function-decl>
     <!-- void* urcu_bp_set_pointer_sym(void**, void*) -->
     <function-decl name='urcu_bp_set_pointer_sym' mangled-name='urcu_bp_set_pointer_sym' filepath='src/urcu-bp.c' line='749' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_set_pointer_sym'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-51' name='p' filepath='src/urcu-bp.c' line='749' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-27' name='v' filepath='src/urcu-bp.c' line='749' column='1'/>
+      <parameter type-id='type-id-25' name='v' filepath='src/urcu-bp.c' line='749' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-27'/>
+      <return type-id='type-id-25'/>
     </function-decl>
     <!-- void* urcu_bp_dereference_sym(void*) -->
     <function-decl name='urcu_bp_dereference_sym' mangled-name='urcu_bp_dereference_sym' filepath='src/urcu-bp.c' line='744' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_dereference_sym'>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-27' name='p' filepath='src/urcu-bp.c' line='744' column='1'/>
+      <parameter type-id='type-id-25' name='p' filepath='src/urcu-bp.c' line='744' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-27'/>
+      <return type-id='type-id-25'/>
     </function-decl>
     <!-- void urcu_bp_after_fork_child() -->
     <function-decl name='urcu_bp_after_fork_child' mangled-name='urcu_bp_after_fork_child' filepath='src/urcu-bp.c' line='731' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_after_fork_child'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-15'/>
     </function-decl>
     <!-- void urcu_bp_after_fork_parent() -->
     <function-decl name='urcu_bp_after_fork_parent' mangled-name='urcu_bp_after_fork_parent' filepath='src/urcu-bp.c' line='696' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_after_fork_parent'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-15'/>
     </function-decl>
     <!-- void urcu_bp_before_fork() -->
     <function-decl name='urcu_bp_before_fork' mangled-name='urcu_bp_before_fork' filepath='src/urcu-bp.c' line='682' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_before_fork'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-15'/>
     </function-decl>
     <!-- void urcu_bp_register_thread() -->
     <function-decl name='urcu_bp_register_thread' mangled-name='urcu_bp_register_thread' filepath='src/urcu-bp.c' line='565' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_register_thread'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-15'/>
     </function-decl>
     <!-- void urcu_bp_register() -->
     <function-decl name='urcu_bp_register' mangled-name='urcu_bp_register' filepath='src/urcu-bp.c' line='532' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_register'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-15'/>
     </function-decl>
     <!-- int urcu_bp_read_ongoing() -->
     <function-decl name='urcu_bp_read_ongoing' mangled-name='urcu_bp_read_ongoing' filepath='src/urcu-bp.c' line='365' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_read_ongoing'>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
     </function-decl>
     <!-- void urcu_bp_read_unlock() -->
     <function-decl name='urcu_bp_read_unlock' mangled-name='urcu_bp_read_unlock' filepath='src/urcu-bp.c' line='360' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_read_unlock'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-15'/>
     </function-decl>
     <!-- void urcu_bp_read_lock() -->
     <function-decl name='urcu_bp_read_lock' mangled-name='urcu_bp_read_lock' filepath='src/urcu-bp.c' line='355' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_read_lock'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-15'/>
     </function-decl>
     <!-- void urcu_bp_synchronize_rcu() -->
     <function-decl name='urcu_bp_synchronize_rcu' mangled-name='urcu_bp_synchronize_rcu' filepath='src/urcu-bp.c' line='272' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_synchronize_rcu'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-15'/>
     </function-decl>
     <!-- int () -->
-    <function-type size-in-bits='64' id='type-id-41'>
+    <function-type size-in-bits='64' id='type-id-17'>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
     </function-type>
     <!-- void () -->
-    <function-type size-in-bits='64' id='type-id-45'>
+    <function-type size-in-bits='64' id='type-id-16'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-15'/>
     </function-type>
     <!-- void (rcu_head*) -->
-    <function-type size-in-bits='64' id='type-id-46'>
+    <function-type size-in-bits='64' id='type-id-23'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42'/>
+      <parameter type-id='type-id-22'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-15'/>
     </function-type>
     <!-- void (rcu_head*, void (rcu_head*)*) -->
-    <function-type size-in-bits='64' id='type-id-47'>
+    <function-type size-in-bits='64' id='type-id-24'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42'/>
+      <parameter type-id='type-id-22'/>
       <!-- parameter of type 'void (rcu_head*)*' -->
-      <parameter type-id='type-id-23'/>
+      <parameter type-id='type-id-20'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-15'/>
     </function-type>
     <!-- void (urcu_atfork*) -->
-    <function-type size-in-bits='64' id='type-id-48'>
+    <function-type size-in-bits='64' id='type-id-31'>
       <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-43'/>
+      <parameter type-id='type-id-30'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-15'/>
     </function-type>
     <!-- void (void (void*)*, void*) -->
-    <function-type size-in-bits='64' id='type-id-49'>
+    <function-type size-in-bits='64' id='type-id-28'>
       <!-- parameter of type 'void (void*)*' -->
-      <parameter type-id='type-id-26'/>
-      <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-27'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-25'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-15'/>
     </function-type>
     <!-- void (void*) -->
-    <function-type size-in-bits='64' id='type-id-50'>
+    <function-type size-in-bits='64' id='type-id-26'>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-27'/>
+      <parameter type-id='type-id-25'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-15'/>
     </function-type>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='urcu-pointer.c' comp-dir-path='src' language='LANG_C99'>
     <!-- void* rcu_cmpxchg_pointer_sym(void**, void*, void*) -->
     <function-decl name='rcu_cmpxchg_pointer_sym' mangled-name='rcu_cmpxchg_pointer_sym' filepath='src/urcu-pointer.c' line='53' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_cmpxchg_pointer_sym'>
       <!-- parameter of type 'void**' -->
-      <parameter type-id='type-id-51' name='p' filepath='src/urcu-pointer.c' line='53' column='1'/>
+      <parameter type-id='type-id-51' name='p' filepath='src/urcu-bp.c' line='762' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-27' name='old' filepath='src/urcu-pointer.c' line='53' column='1'/>
+      <parameter type-id='type-id-25' name='old' filepath='src/urcu-bp.c' line='762' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-27' name='_new' filepath='src/urcu-pointer.c' line='53' column='1'/>
+      <parameter type-id='type-id-25' name='_new' filepath='src/urcu-bp.c' line='762' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-27'/>
+      <return type-id='type-id-25'/>
     </function-decl>
     <!-- void* rcu_xchg_pointer_sym(void**, void*) -->
     <function-decl name='rcu_xchg_pointer_sym' mangled-name='rcu_xchg_pointer_sym' filepath='src/urcu-pointer.c' line='47' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_xchg_pointer_sym'>
       <!-- parameter of type 'void**' -->
-      <parameter type-id='type-id-51' name='p' filepath='src/urcu-pointer.c' line='47' column='1'/>
+      <parameter type-id='type-id-51' name='p' filepath='src/urcu-bp.c' line='756' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-27' name='v' filepath='src/urcu-pointer.c' line='47' column='1'/>
+      <parameter type-id='type-id-25' name='v' filepath='src/urcu-bp.c' line='756' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-27'/>
+      <return type-id='type-id-25'/>
     </function-decl>
     <!-- void* rcu_set_pointer_sym(void**, void*) -->
     <function-decl name='rcu_set_pointer_sym' mangled-name='rcu_set_pointer_sym' filepath='src/urcu-pointer.c' line='40' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_set_pointer_sym'>
       <!-- parameter of type 'void**' -->
-      <parameter type-id='type-id-51' name='p' filepath='src/urcu-pointer.c' line='40' column='1'/>
+      <parameter type-id='type-id-51' name='p' filepath='src/urcu-bp.c' line='749' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-27' name='v' filepath='src/urcu-pointer.c' line='40' column='1'/>
+      <parameter type-id='type-id-25' name='v' filepath='src/urcu-bp.c' line='749' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-27'/>
+      <return type-id='type-id-25'/>
     </function-decl>
     <!-- void* rcu_dereference_sym(void*) -->
     <function-decl name='rcu_dereference_sym' mangled-name='rcu_dereference_sym' filepath='src/urcu-pointer.c' line='35' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_dereference_sym'>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-27' name='p' filepath='src/urcu-pointer.c' line='35' column='1'/>
+      <parameter type-id='type-id-25' name='p' filepath='src/urcu-bp.c' line='744' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-27'/>
+      <return type-id='type-id-25'/>
     </function-decl>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='compat_futex.c' comp-dir-path='src' language='LANG_C99'>
-
-
-    <!-- char[48] -->
-    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='384' id='type-id-52'>
-      <!-- <anonymous range>[48] -->
-      <subrange length='48' type-id='type-id-3' id='type-id-53'/>
-
-    </array-type-def>
-    <!-- long long int -->
-    <type-decl name='long long int' size-in-bits='64' id='type-id-54'/>
-    <!-- long long unsigned int -->
-    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-55'/>
-    <!-- unsigned int[2] -->
-    <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='64' id='type-id-56'>
-      <!-- <anonymous range>[2] -->
-      <subrange length='2' type-id='type-id-3' id='type-id-57'/>
-
-    </array-type-def>
-    <!-- typedef __anonymous_union__ pthread_cond_t -->
-    <typedef-decl name='pthread_cond_t' type-id='type-id-58' filepath='/usr/include/bits/pthreadtypes.h' line='80' column='1' id='type-id-59'/>
-    <!-- union {__pthread_cond_s __data; char __size[48]; long long int __align;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='75' column='1' id='type-id-58'>
+    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
+    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-37' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='75' column='1' id='type-id-52'>
       <data-member access='private'>
-        <!-- __pthread_cond_s __data -->
-        <var-decl name='__data' type-id='type-id-60' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='77' column='1'/>
+        <!-- __pthread_cond_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-53' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='77' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- char __size[48] -->
-        <var-decl name='__size' type-id='type-id-52' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='78' column='1'/>
+        <!-- char __anonymous_union__::__size[48] -->
+        <var-decl name='__size' type-id='type-id-54' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='78' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- long long int __align -->
-        <var-decl name='__align' type-id='type-id-54' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='79' column='1'/>
+        <!-- long long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-55' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='79' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __pthread_cond_s -->
-    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='92' column='1' id='type-id-60'>
+    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='171' column='1' id='type-id-53'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <!-- union {long long unsigned int __wseq; struct {unsigned int __low; unsigned int __high;} __wseq32;} -->
-        <var-decl name='' type-id='type-id-61' visibility='default'/>
+        <!-- __anonymous_union__  -->
+        <var-decl name='' type-id='type-id-56' visibility='default'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- unsigned int __pthread_cond_s::__g_refs[2] -->
-        <var-decl name='__g_refs' type-id='type-id-56' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='112' column='1'/>
+        <var-decl name='__g_refs' type-id='type-id-57' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='191' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- unsigned int __pthread_cond_s::__g_size[2] -->
-        <var-decl name='__g_size' type-id='type-id-56' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='113' column='1'/>
+        <var-decl name='__g_size' type-id='type-id-57' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='192' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- unsigned int __pthread_cond_s::__g1_orig_size -->
-        <var-decl name='__g1_orig_size' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='114' column='1'/>
+        <var-decl name='__g1_orig_size' type-id='type-id-42' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='193' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='288'>
         <!-- unsigned int __pthread_cond_s::__wrefs -->
-        <var-decl name='__wrefs' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='115' column='1'/>
+        <var-decl name='__wrefs' type-id='type-id-42' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='194' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
         <!-- unsigned int __pthread_cond_s::__g_signals[2] -->
-        <var-decl name='__g_signals' type-id='type-id-56' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='116' column='1'/>
+        <var-decl name='__g_signals' type-id='type-id-57' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='195' column='1'/>
       </data-member>
     </class-decl>
-    <!-- union {long long unsigned int __wseq; struct {unsigned int __low; unsigned int __high;} __wseq32;} -->
-    <union-decl name='__anonymous_union__1' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='94' column='1' id='type-id-61'>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='173' column='1' id='type-id-56'>
       <data-member access='private'>
-        <!-- long long unsigned int __wseq -->
-        <var-decl name='__wseq' type-id='type-id-55' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='96' column='1'/>
+        <!-- long long unsigned int __anonymous_union__::__wseq -->
+        <var-decl name='__wseq' type-id='type-id-58' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='175' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- struct {unsigned int __low; unsigned int __high;} __wseq32 -->
-        <var-decl name='__wseq32' type-id='type-id-62' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='101' column='1'/>
+        <!-- __anonymous_struct__ __anonymous_union__::__wseq32 -->
+        <var-decl name='__wseq32' type-id='type-id-59' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='180' column='1'/>
       </data-member>
     </union-decl>
-    <!-- struct {unsigned int __low; unsigned int __high;} -->
-    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='97' column='1' id='type-id-62'>
+    <!-- long long unsigned int -->
+    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-58'/>
+    <!-- struct __anonymous_struct__ -->
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='176' column='1' id='type-id-59'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <!-- unsigned int __low -->
-        <var-decl name='__low' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='99' column='1'/>
+        <!-- unsigned int __anonymous_struct__::__low -->
+        <var-decl name='__low' type-id='type-id-42' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='178' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='32'>
-        <!-- unsigned int __high -->
-        <var-decl name='__high' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='100' column='1'/>
+        <!-- unsigned int __anonymous_struct__::__high -->
+        <var-decl name='__high' type-id='type-id-42' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='179' column='1'/>
       </data-member>
     </class-decl>
+
+    <!-- unsigned int[2] -->
+    <array-type-def dimensions='1' type-id='type-id-42' size-in-bits='64' id='type-id-57'>
+      <!-- <anonymous range>[2] -->
+      <subrange length='2' type-id='type-id-3' id='type-id-60'/>
+
+    </array-type-def>
+
+    <!-- char[48] -->
+    <array-type-def dimensions='1' type-id='type-id-47' size-in-bits='384' id='type-id-54'>
+      <!-- <anonymous range>[48] -->
+      <subrange length='48' type-id='type-id-3' id='type-id-61'/>
+
+    </array-type-def>
+    <!-- long long int -->
+    <type-decl name='long long int' size-in-bits='64' id='type-id-55'/>
+    <!-- typedef __anonymous_union__ pthread_cond_t -->
+    <typedef-decl name='pthread_cond_t' type-id='type-id-52' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='80' column='1' id='type-id-62'/>
+    <!-- pthread_cond_t __urcu_compat_futex_cond -->
+    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-62' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
+    <!-- int32_t* -->
+    <pointer-type-def type-id='type-id-36' size-in-bits='64' id='type-id-63'/>
     <!-- struct timespec -->
-    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='10' column='1' id='type-id-63'>
+    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='9' column='1' id='type-id-64'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- __time_t timespec::tv_sec -->
-        <var-decl name='tv_sec' type-id='type-id-64' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='12' column='1'/>
+        <var-decl name='tv_sec' type-id='type-id-65' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='11' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- __syscall_slong_t timespec::tv_nsec -->
-        <var-decl name='tv_nsec' type-id='type-id-65' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='16' column='1'/>
+        <var-decl name='tv_nsec' type-id='type-id-66' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='12' column='1'/>
       </data-member>
     </class-decl>
     <!-- typedef long int __time_t -->
-    <typedef-decl name='__time_t' type-id='type-id-6' filepath='/usr/include/bits/types.h' line='160' column='1' id='type-id-64'/>
+    <typedef-decl name='__time_t' type-id='type-id-41' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='148' column='1' id='type-id-65'/>
     <!-- typedef long int __syscall_slong_t -->
-    <typedef-decl name='__syscall_slong_t' type-id='type-id-6' filepath='/usr/include/bits/types.h' line='197' column='1' id='type-id-65'/>
+    <typedef-decl name='__syscall_slong_t' type-id='type-id-41' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='184' column='1' id='type-id-66'/>
     <!-- const timespec -->
-    <qualified-type-def type-id='type-id-63' const='yes' id='type-id-66'/>
+    <qualified-type-def type-id='type-id-64' const='yes' id='type-id-67'/>
     <!-- const timespec* -->
-    <pointer-type-def type-id='type-id-66' size-in-bits='64' id='type-id-67'/>
-    <!-- int32_t* -->
-    <pointer-type-def type-id='type-id-31' size-in-bits='64' id='type-id-68'/>
-    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
-    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-32' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
-    <!-- pthread_cond_t __urcu_compat_futex_cond -->
-    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-59' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
+    <pointer-type-def type-id='type-id-67' size-in-bits='64' id='type-id-68'/>
     <!-- int compat_futex_async(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
     <function-decl name='compat_futex_async' mangled-name='compat_futex_async' filepath='src/compat_futex.c' line='118' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_async'>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-68' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-63' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-1' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-31' name='val' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-36' name='val' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'const timespec*' -->
-      <parameter type-id='type-id-67' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-68' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-68' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-63' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-31' name='val3' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-36' name='val3' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
     </function-decl>
     <!-- int compat_futex_noasync(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
     <function-decl name='compat_futex_noasync' mangled-name='compat_futex_noasync' filepath='src/compat_futex.c' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_noasync'>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-68' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-63' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-1' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-31' name='val' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-36' name='val' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'const timespec*' -->
-      <parameter type-id='type-id-67' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-68' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-68' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-63' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-31' name='val3' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-36' name='val3' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
     </function-decl>
   </abi-instr>
 </abi-corpus>
index fa7349c195c89ff2ba34c5a74e901fe2ab12efc8..a63b64141d84f79c2dc2c324df424497401c7b06 100644 (file)
@@ -1,6 +1,5 @@
 <abi-corpus architecture='elf-amd-x86_64' soname='liburcu-cds.so.8'>
   <elf-needed>
-    <dependency name='liburcu-common.so.8'/>
     <dependency name='libpthread.so.0'/>
     <dependency name='libc.so.6'/>
   </elf-needed>
     <elf-symbol name='__cds_lfs_pop_all' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- _cds_lfht_new -->
     <elf-symbol name='_cds_lfht_new' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- _fini -->
+    <elf-symbol name='_fini' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- _init -->
+    <elf-symbol name='_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- cds_lfht_add -->
     <elf-symbol name='cds_lfht_add' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- cds_lfht_add_replace -->
     <elf-symbol name='cds_lfht_mm_order' size='32' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
   </elf-variable-symbols>
   <abi-instr version='1.0' address-size='64' path='rculfqueue.c' comp-dir-path='src' language='LANG_C99'>
-    <!-- int -->
-    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
-    <!-- void -->
-    <type-decl name='void' id='type-id-2'/>
     <!-- struct cds_lfq_node_rcu -->
-    <class-decl name='cds_lfq_node_rcu' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/rculfqueue.h' line='35' column='1' id='type-id-3'>
+    <class-decl name='cds_lfq_node_rcu' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/rculfqueue.h' line='35' column='1' id='type-id-1'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_lfq_node_rcu* cds_lfq_node_rcu::next -->
-        <var-decl name='next' type-id='type-id-4' visibility='default' filepath='../include/urcu/rculfqueue.h' line='36' column='1'/>
+        <var-decl name='next' type-id='type-id-2' visibility='default' filepath='../include/urcu/rculfqueue.h' line='36' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- int cds_lfq_node_rcu::dummy -->
-        <var-decl name='dummy' type-id='type-id-1' visibility='default' filepath='../include/urcu/rculfqueue.h' line='37' column='1'/>
+        <var-decl name='dummy' type-id='type-id-3' visibility='default' filepath='../include/urcu/rculfqueue.h' line='37' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_lfq_node_rcu* -->
+    <pointer-type-def type-id='type-id-1' size-in-bits='64' id='type-id-2'/>
+    <!-- int -->
+    <type-decl name='int' size-in-bits='32' id='type-id-3'/>
     <!-- struct cds_lfq_queue_rcu -->
-    <class-decl name='cds_lfq_queue_rcu' size-in-bits='192' is-struct='yes' visibility='default' filepath='../include/urcu/rculfqueue.h' line='40' column='1' id='type-id-5'>
+    <class-decl name='cds_lfq_queue_rcu' size-in-bits='192' is-struct='yes' visibility='default' filepath='../include/urcu/rculfqueue.h' line='40' column='1' id='type-id-4'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_lfq_node_rcu* cds_lfq_queue_rcu::head -->
-        <var-decl name='head' type-id='type-id-4' visibility='default' filepath='../include/urcu/rculfqueue.h' line='41' column='1'/>
+        <var-decl name='head' type-id='type-id-2' visibility='default' filepath='../include/urcu/rculfqueue.h' line='41' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- cds_lfq_node_rcu* cds_lfq_queue_rcu::tail -->
-        <var-decl name='tail' type-id='type-id-4' visibility='default' filepath='../include/urcu/rculfqueue.h' line='41' column='1'/>
+        <var-decl name='tail' type-id='type-id-2' visibility='default' filepath='../include/urcu/rculfqueue.h' line='41' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- void (rcu_head*, void (rcu_head*)*)* cds_lfq_queue_rcu::queue_call_rcu -->
-        <var-decl name='queue_call_rcu' type-id='type-id-6' visibility='default' filepath='../include/urcu/rculfqueue.h' line='42' column='1'/>
+        <var-decl name='queue_call_rcu' type-id='type-id-5' visibility='default' filepath='../include/urcu/rculfqueue.h' line='42' column='1'/>
       </data-member>
     </class-decl>
+    <!-- void -->
+    <type-decl name='void' id='type-id-6'/>
     <!-- struct rcu_head -->
     <class-decl name='rcu_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/call-rcu.h' line='57' column='1' id='type-id-7'>
       <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='next' type-id='type-id-10' visibility='default' filepath='../include/urcu/wfcqueue.h' line='60' column='1'/>
       </data-member>
     </class-decl>
-    <!-- cds_lfq_node_rcu* -->
-    <pointer-type-def type-id='type-id-3' size-in-bits='64' id='type-id-4'/>
-    <!-- cds_lfq_queue_rcu* -->
-    <pointer-type-def type-id='type-id-5' size-in-bits='64' id='type-id-11'/>
     <!-- cds_wfcq_node* -->
     <pointer-type-def type-id='type-id-8' size-in-bits='64' id='type-id-10'/>
     <!-- rcu_head* -->
-    <pointer-type-def type-id='type-id-7' size-in-bits='64' id='type-id-12'/>
+    <pointer-type-def type-id='type-id-7' size-in-bits='64' id='type-id-11'/>
     <!-- void (rcu_head*)* -->
-    <pointer-type-def type-id='type-id-13' size-in-bits='64' id='type-id-9'/>
+    <pointer-type-def type-id='type-id-12' size-in-bits='64' id='type-id-9'/>
     <!-- void (rcu_head*, void (rcu_head*)*)* -->
-    <pointer-type-def type-id='type-id-14' size-in-bits='64' id='type-id-6'/>
+    <pointer-type-def type-id='type-id-13' size-in-bits='64' id='type-id-5'/>
+    <!-- cds_lfq_queue_rcu* -->
+    <pointer-type-def type-id='type-id-4' size-in-bits='64' id='type-id-14'/>
     <!-- cds_lfq_node_rcu* cds_lfq_dequeue_rcu(cds_lfq_queue_rcu*) -->
     <function-decl name='cds_lfq_dequeue_rcu' mangled-name='cds_lfq_dequeue_rcu' filepath='src/rculfqueue.c' line='56' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfq_dequeue_rcu'>
       <!-- parameter of type 'cds_lfq_queue_rcu*' -->
-      <parameter type-id='type-id-11' name='q' filepath='src/rculfqueue.c' line='56' column='1'/>
+      <parameter type-id='type-id-14' name='q' filepath='src/rculfqueue.c' line='56' column='1'/>
       <!-- cds_lfq_node_rcu* -->
-      <return type-id='type-id-4'/>
+      <return type-id='type-id-2'/>
     </function-decl>
     <!-- void cds_lfq_enqueue_rcu(cds_lfq_queue_rcu*, cds_lfq_node_rcu*) -->
     <function-decl name='cds_lfq_enqueue_rcu' mangled-name='cds_lfq_enqueue_rcu' filepath='src/rculfqueue.c' line='50' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfq_enqueue_rcu'>
       <!-- parameter of type 'cds_lfq_queue_rcu*' -->
-      <parameter type-id='type-id-11' name='q' filepath='src/rculfqueue.c' line='50' column='1'/>
+      <parameter type-id='type-id-14' name='q' filepath='src/rculfqueue.c' line='50' column='1'/>
       <!-- parameter of type 'cds_lfq_node_rcu*' -->
-      <parameter type-id='type-id-4' name='node' filepath='src/rculfqueue.c' line='50' column='1'/>
+      <parameter type-id='type-id-2' name='node' filepath='src/rculfqueue.c' line='50' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- int cds_lfq_destroy_rcu(cds_lfq_queue_rcu*) -->
     <function-decl name='cds_lfq_destroy_rcu' mangled-name='cds_lfq_destroy_rcu' filepath='src/rculfqueue.c' line='45' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfq_destroy_rcu'>
       <!-- parameter of type 'cds_lfq_queue_rcu*' -->
-      <parameter type-id='type-id-11' name='q' filepath='src/rculfqueue.c' line='45' column='1'/>
+      <parameter type-id='type-id-14' name='q' filepath='src/rculfqueue.c' line='45' column='1'/>
       <!-- int -->
-      <return type-id='type-id-1'/>
+      <return type-id='type-id-3'/>
     </function-decl>
     <!-- void cds_lfq_init_rcu(cds_lfq_queue_rcu*, void (rcu_head*, void (rcu_head*)*)*) -->
     <function-decl name='cds_lfq_init_rcu' mangled-name='cds_lfq_init_rcu' filepath='src/rculfqueue.c' line='38' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfq_init_rcu'>
       <!-- parameter of type 'cds_lfq_queue_rcu*' -->
-      <parameter type-id='type-id-11' name='q' filepath='src/rculfqueue.c' line='38' column='1'/>
+      <parameter type-id='type-id-14' name='q' filepath='src/rculfqueue.c' line='38' column='1'/>
       <!-- parameter of type 'void (rcu_head*, void (rcu_head*)*)*' -->
-      <parameter type-id='type-id-6' name='queue_call_rcu' filepath='src/rculfqueue.c' line='39' column='1'/>
+      <parameter type-id='type-id-5' name='queue_call_rcu' filepath='src/rculfqueue.c' line='39' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- void cds_lfq_node_init_rcu(cds_lfq_node_rcu*) -->
     <function-decl name='cds_lfq_node_init_rcu' mangled-name='cds_lfq_node_init_rcu' filepath='src/rculfqueue.c' line='33' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfq_node_init_rcu'>
       <!-- parameter of type 'cds_lfq_node_rcu*' -->
-      <parameter type-id='type-id-4' name='node' filepath='src/rculfqueue.c' line='33' column='1'/>
+      <parameter type-id='type-id-2' name='node' filepath='src/rculfqueue.c' line='33' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- void (rcu_head*) -->
-    <function-type size-in-bits='64' id='type-id-13'>
+    <function-type size-in-bits='64' id='type-id-12'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-12'/>
+      <parameter type-id='type-id-11'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-type>
     <!-- void (rcu_head*, void (rcu_head*)*) -->
-    <function-type size-in-bits='64' id='type-id-14'>
+    <function-type size-in-bits='64' id='type-id-13'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-12'/>
+      <parameter type-id='type-id-11'/>
       <!-- parameter of type 'void (rcu_head*)*' -->
       <parameter type-id='type-id-9'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-type>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='rculfstack.c' comp-dir-path='src' language='LANG_C99'>
         <var-decl name='next' type-id='type-id-16' visibility='default' filepath='../include/urcu/rculfstack.h' line='38' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_lfs_node_rcu* -->
+    <pointer-type-def type-id='type-id-15' size-in-bits='64' id='type-id-16'/>
     <!-- struct cds_lfs_stack_rcu -->
     <class-decl name='cds_lfs_stack_rcu' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/rculfstack.h' line='41' column='1' id='type-id-17'>
       <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='head' type-id='type-id-16' visibility='default' filepath='../include/urcu/rculfstack.h' line='42' column='1'/>
       </data-member>
     </class-decl>
-    <!-- cds_lfs_node_rcu* -->
-    <pointer-type-def type-id='type-id-15' size-in-bits='64' id='type-id-16'/>
     <!-- cds_lfs_stack_rcu* -->
     <pointer-type-def type-id='type-id-17' size-in-bits='64' id='type-id-18'/>
     <!-- cds_lfs_node_rcu* cds_lfs_pop_rcu(cds_lfs_stack_rcu*) -->
       <!-- parameter of type 'cds_lfs_node_rcu*' -->
       <parameter type-id='type-id-16' name='node' filepath='src/rculfstack.c' line='48' column='1'/>
       <!-- int -->
-      <return type-id='type-id-1'/>
+      <return type-id='type-id-3'/>
     </function-decl>
     <!-- void cds_lfs_init_rcu(cds_lfs_stack_rcu*) -->
     <function-decl name='cds_lfs_init_rcu' mangled-name='cds_lfs_init_rcu' filepath='src/rculfstack.c' line='42' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_init_rcu'>
       <!-- parameter of type 'cds_lfs_stack_rcu*' -->
       <parameter type-id='type-id-18' name='s' filepath='src/rculfstack.c' line='42' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- void cds_lfs_node_init_rcu(cds_lfs_node_rcu*) -->
     <function-decl name='cds_lfs_node_init_rcu' mangled-name='cds_lfs_node_init_rcu' filepath='src/rculfstack.c' line='37' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_node_init_rcu'>
       <!-- parameter of type 'cds_lfs_node_rcu*' -->
       <parameter type-id='type-id-16' name='node' filepath='src/rculfstack.c' line='37' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='lfstack.c' comp-dir-path='src' language='LANG_C99'>
-
-    <!-- bool -->
-    <type-decl name='bool' size-in-bits='8' id='type-id-19'/>
-    <!-- char -->
-    <type-decl name='char' size-in-bits='8' id='type-id-20'/>
-    <!-- char[40] -->
-    <array-type-def dimensions='1' type-id='type-id-20' size-in-bits='320' id='type-id-21'>
-      <!-- <anonymous range>[40] -->
-      <subrange length='40' type-id='type-id-22' id='type-id-23'/>
-
-    </array-type-def>
-    <!-- long int -->
-    <type-decl name='long int' size-in-bits='64' id='type-id-24'/>
-    <!-- short int -->
-    <type-decl name='short int' size-in-bits='16' id='type-id-25'/>
-    <!-- unsigned int -->
-    <type-decl name='unsigned int' size-in-bits='32' id='type-id-26'/>
-    <!-- unsigned long int -->
-    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-22'/>
     <!-- struct cds_lfs_head -->
-    <class-decl name='cds_lfs_head' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/lfstack.h' line='69' column='1' id='type-id-27'>
+    <class-decl name='cds_lfs_head' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/lfstack.h' line='69' column='1' id='type-id-19'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_lfs_node cds_lfs_head::node -->
-        <var-decl name='node' type-id='type-id-28' visibility='default' filepath='../include/urcu/lfstack.h' line='70' column='1'/>
+        <var-decl name='node' type-id='type-id-20' visibility='default' filepath='../include/urcu/lfstack.h' line='70' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_lfs_node -->
-    <class-decl name='cds_lfs_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/lfstack.h' line='59' column='1' id='type-id-28'>
+    <class-decl name='cds_lfs_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/lfstack.h' line='59' column='1' id='type-id-20'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_lfs_node* cds_lfs_node::next -->
-        <var-decl name='next' type-id='type-id-29' visibility='default' filepath='../include/urcu/lfstack.h' line='60' column='1'/>
+        <var-decl name='next' type-id='type-id-21' visibility='default' filepath='../include/urcu/lfstack.h' line='60' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __anonymous_union__ cds_lfs_stack_ptr_t -->
-    <typedef-decl name='cds_lfs_stack_ptr_t' type-id='type-id-30' filepath='../include/urcu/lfstack.h' line='90' column='1' id='type-id-31'/>
-    <!-- union {__cds_lfs_stack* _s; cds_lfs_stack* s;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../include/urcu/lfstack.h' line='87' column='1' id='type-id-30'>
+    <!-- cds_lfs_node* -->
+    <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-21'/>
+    <!-- cds_lfs_head* -->
+    <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-22'/>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../include/urcu/lfstack.h' line='87' column='1' id='type-id-23'>
       <data-member access='private'>
-        <!-- __cds_lfs_stack* _s -->
-        <var-decl name='_s' type-id='type-id-32' visibility='default' filepath='../include/urcu/lfstack.h' line='88' column='1'/>
+        <!-- __cds_lfs_stack* __anonymous_union__::_s -->
+        <var-decl name='_s' type-id='type-id-24' visibility='default' filepath='../include/urcu/lfstack.h' line='88' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- cds_lfs_stack* s -->
-        <var-decl name='s' type-id='type-id-33' visibility='default' filepath='../include/urcu/lfstack.h' line='89' column='1'/>
+        <!-- cds_lfs_stack* __anonymous_union__::s -->
+        <var-decl name='s' type-id='type-id-25' visibility='default' filepath='../include/urcu/lfstack.h' line='89' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __cds_lfs_stack -->
-    <class-decl name='__cds_lfs_stack' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/lfstack.h' line='73' column='1' id='type-id-34'>
+    <class-decl name='__cds_lfs_stack' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/lfstack.h' line='73' column='1' id='type-id-26'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_lfs_head* __cds_lfs_stack::head -->
-        <var-decl name='head' type-id='type-id-35' visibility='default' filepath='../include/urcu/lfstack.h' line='74' column='1'/>
+        <var-decl name='head' type-id='type-id-22' visibility='default' filepath='../include/urcu/lfstack.h' line='74' column='1'/>
       </data-member>
     </class-decl>
+    <!-- __cds_lfs_stack* -->
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-24'/>
     <!-- struct cds_lfs_stack -->
-    <class-decl name='cds_lfs_stack' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/lfstack.h' line='77' column='1' id='type-id-36'>
+    <class-decl name='cds_lfs_stack' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/lfstack.h' line='77' column='1' id='type-id-27'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_lfs_head* cds_lfs_stack::head -->
-        <var-decl name='head' type-id='type-id-35' visibility='default' filepath='../include/urcu/lfstack.h' line='78' column='1'/>
+        <var-decl name='head' type-id='type-id-22' visibility='default' filepath='../include/urcu/lfstack.h' line='78' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- pthread_mutex_t cds_lfs_stack::lock -->
-        <var-decl name='lock' type-id='type-id-37' visibility='default' filepath='../include/urcu/lfstack.h' line='79' column='1'/>
+        <var-decl name='lock' type-id='type-id-28' visibility='default' filepath='../include/urcu/lfstack.h' line='79' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __anonymous_union__1 pthread_mutex_t -->
-    <typedef-decl name='pthread_mutex_t' type-id='type-id-38' filepath='/usr/include/bits/pthreadtypes.h' line='72' column='1' id='type-id-37'/>
-    <!-- union {__pthread_mutex_s __data; char __size[40]; long int __align;} -->
-    <union-decl name='__anonymous_union__1' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='67' column='1' id='type-id-38'>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='67' column='1' id='type-id-29'>
       <data-member access='private'>
-        <!-- __pthread_mutex_s __data -->
-        <var-decl name='__data' type-id='type-id-39' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='69' column='1'/>
+        <!-- __pthread_mutex_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-30' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='69' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- char __size[40] -->
-        <var-decl name='__size' type-id='type-id-21' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='70' column='1'/>
+        <!-- char __anonymous_union__::__size[40] -->
+        <var-decl name='__size' type-id='type-id-31' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='70' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- long int __align -->
-        <var-decl name='__align' type-id='type-id-24' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='71' column='1'/>
+        <!-- long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-32' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='71' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __pthread_mutex_s -->
-    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='22' column='1' id='type-id-39'>
+    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='118' column='1' id='type-id-30'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- int __pthread_mutex_s::__lock -->
-        <var-decl name='__lock' type-id='type-id-1' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='24' column='1'/>
+        <var-decl name='__lock' type-id='type-id-3' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='120' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='32'>
         <!-- unsigned int __pthread_mutex_s::__count -->
-        <var-decl name='__count' type-id='type-id-26' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='25' column='1'/>
+        <var-decl name='__count' type-id='type-id-33' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='121' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- int __pthread_mutex_s::__owner -->
-        <var-decl name='__owner' type-id='type-id-1' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='26' column='1'/>
+        <var-decl name='__owner' type-id='type-id-3' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='122' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='96'>
         <!-- unsigned int __pthread_mutex_s::__nusers -->
-        <var-decl name='__nusers' type-id='type-id-26' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='28' column='1'/>
+        <var-decl name='__nusers' type-id='type-id-33' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='124' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- int __pthread_mutex_s::__kind -->
-        <var-decl name='__kind' type-id='type-id-1' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='32' column='1'/>
+        <var-decl name='__kind' type-id='type-id-3' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='148' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='160'>
         <!-- short int __pthread_mutex_s::__spins -->
-        <var-decl name='__spins' type-id='type-id-25' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='34' column='1'/>
+        <var-decl name='__spins' type-id='type-id-34' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='176'>
         <!-- short int __pthread_mutex_s::__elision -->
-        <var-decl name='__elision' type-id='type-id-25' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='35' column='1'/>
+        <var-decl name='__elision' type-id='type-id-34' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- __pthread_list_t __pthread_mutex_s::__list -->
-        <var-decl name='__list' type-id='type-id-40' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='36' column='1'/>
+        <var-decl name='__list' type-id='type-id-35' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='155' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __pthread_internal_list __pthread_list_t -->
-    <typedef-decl name='__pthread_list_t' type-id='type-id-41' filepath='/usr/include/bits/thread-shared-types.h' line='53' column='1' id='type-id-40'/>
+    <!-- unsigned int -->
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-33'/>
+    <!-- short int -->
+    <type-decl name='short int' size-in-bits='16' id='type-id-34'/>
     <!-- struct __pthread_internal_list -->
-    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='49' column='1' id='type-id-41'>
+    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='82' column='1' id='type-id-36'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- __pthread_internal_list* __pthread_internal_list::__prev -->
-        <var-decl name='__prev' type-id='type-id-42' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='51' column='1'/>
+        <var-decl name='__prev' type-id='type-id-37' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='84' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- __pthread_internal_list* __pthread_internal_list::__next -->
-        <var-decl name='__next' type-id='type-id-42' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='52' column='1'/>
+        <var-decl name='__next' type-id='type-id-37' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='85' column='1'/>
       </data-member>
     </class-decl>
-    <!-- __cds_lfs_stack* -->
-    <pointer-type-def type-id='type-id-34' size-in-bits='64' id='type-id-32'/>
     <!-- __pthread_internal_list* -->
-    <pointer-type-def type-id='type-id-41' size-in-bits='64' id='type-id-42'/>
-    <!-- cds_lfs_head* -->
-    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-35'/>
-    <!-- cds_lfs_node* -->
-    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-29'/>
+    <pointer-type-def type-id='type-id-36' size-in-bits='64' id='type-id-37'/>
+    <!-- typedef __pthread_internal_list __pthread_list_t -->
+    <typedef-decl name='__pthread_list_t' type-id='type-id-36' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='86' column='1' id='type-id-35'/>
+    <!-- char -->
+    <type-decl name='char' size-in-bits='8' id='type-id-38'/>
+    <!-- unsigned long int -->
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-39'/>
+
+    <!-- char[40] -->
+    <array-type-def dimensions='1' type-id='type-id-38' size-in-bits='320' id='type-id-31'>
+      <!-- <anonymous range>[40] -->
+      <subrange length='40' type-id='type-id-39' id='type-id-40'/>
+
+    </array-type-def>
+    <!-- long int -->
+    <type-decl name='long int' size-in-bits='64' id='type-id-32'/>
+    <!-- typedef __anonymous_union__ pthread_mutex_t -->
+    <typedef-decl name='pthread_mutex_t' type-id='type-id-29' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='72' column='1' id='type-id-28'/>
     <!-- cds_lfs_stack* -->
-    <pointer-type-def type-id='type-id-36' size-in-bits='64' id='type-id-33'/>
+    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-25'/>
+    <!-- typedef __anonymous_union__ cds_lfs_stack_ptr_t -->
+    <typedef-decl name='cds_lfs_stack_ptr_t' type-id='type-id-23' filepath='../include/urcu/lfstack.h' line='90' column='1' id='type-id-41'/>
     <!-- cds_lfs_head* __cds_lfs_pop_all(cds_lfs_stack_ptr_t) -->
     <function-decl name='__cds_lfs_pop_all' mangled-name='__cds_lfs_pop_all' filepath='src/lfstack.c' line='88' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_lfs_pop_all'>
       <!-- parameter of type 'typedef cds_lfs_stack_ptr_t' -->
-      <parameter type-id='type-id-31' name='s' filepath='src/lfstack.c' line='88' column='1'/>
+      <parameter type-id='type-id-41' name='s' filepath='src/lfstack.c' line='88' column='1'/>
       <!-- cds_lfs_head* -->
-      <return type-id='type-id-35'/>
+      <return type-id='type-id-22'/>
     </function-decl>
     <!-- cds_lfs_node* __cds_lfs_pop(cds_lfs_stack_ptr_t) -->
     <function-decl name='__cds_lfs_pop' mangled-name='__cds_lfs_pop' filepath='src/lfstack.c' line='83' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_lfs_pop'>
       <!-- parameter of type 'typedef cds_lfs_stack_ptr_t' -->
-      <parameter type-id='type-id-31' name='s' filepath='src/lfstack.c' line='83' column='1'/>
+      <parameter type-id='type-id-41' name='s' filepath='src/lfstack.c' line='83' column='1'/>
       <!-- cds_lfs_node* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-21'/>
     </function-decl>
     <!-- void cds_lfs_pop_unlock(cds_lfs_stack*) -->
     <function-decl name='cds_lfs_pop_unlock' mangled-name='cds_lfs_pop_unlock' filepath='src/lfstack.c' line='78' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_pop_unlock'>
       <!-- parameter of type 'cds_lfs_stack*' -->
-      <parameter type-id='type-id-33' name='s' filepath='src/lfstack.c' line='78' column='1'/>
+      <parameter type-id='type-id-25' name='s' filepath='src/lfstack.c' line='78' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- void cds_lfs_pop_lock(cds_lfs_stack*) -->
     <function-decl name='cds_lfs_pop_lock' mangled-name='cds_lfs_pop_lock' filepath='src/lfstack.c' line='73' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_pop_lock'>
       <!-- parameter of type 'cds_lfs_stack*' -->
-      <parameter type-id='type-id-33' name='s' filepath='src/lfstack.c' line='73' column='1'/>
+      <parameter type-id='type-id-25' name='s' filepath='src/lfstack.c' line='78' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- cds_lfs_head* cds_lfs_pop_all_blocking(cds_lfs_stack*) -->
     <function-decl name='cds_lfs_pop_all_blocking' mangled-name='cds_lfs_pop_all_blocking' filepath='src/lfstack.c' line='68' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_pop_all_blocking'>
       <!-- parameter of type 'cds_lfs_stack*' -->
-      <parameter type-id='type-id-33' name='s' filepath='src/lfstack.c' line='68' column='1'/>
+      <parameter type-id='type-id-25' name='s' filepath='src/lfstack.c' line='68' column='1'/>
       <!-- cds_lfs_head* -->
-      <return type-id='type-id-35'/>
+      <return type-id='type-id-22'/>
     </function-decl>
     <!-- cds_lfs_node* cds_lfs_pop_blocking(cds_lfs_stack*) -->
     <function-decl name='cds_lfs_pop_blocking' mangled-name='cds_lfs_pop_blocking' filepath='src/lfstack.c' line='63' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_pop_blocking'>
       <!-- parameter of type 'cds_lfs_stack*' -->
-      <parameter type-id='type-id-33' name='s' filepath='src/lfstack.c' line='63' column='1'/>
+      <parameter type-id='type-id-25' name='s' filepath='src/lfstack.c' line='63' column='1'/>
       <!-- cds_lfs_node* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-21'/>
     </function-decl>
+    <!-- bool -->
+    <type-decl name='bool' size-in-bits='8' id='type-id-42'/>
     <!-- bool cds_lfs_push(cds_lfs_stack_ptr_t, cds_lfs_node*) -->
     <function-decl name='cds_lfs_push' mangled-name='cds_lfs_push' filepath='src/lfstack.c' line='58' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_push'>
       <!-- parameter of type 'typedef cds_lfs_stack_ptr_t' -->
-      <parameter type-id='type-id-31' name='s' filepath='src/lfstack.c' line='58' column='1'/>
+      <parameter type-id='type-id-41' name='s' filepath='src/lfstack.c' line='58' column='1'/>
       <!-- parameter of type 'cds_lfs_node*' -->
-      <parameter type-id='type-id-29' name='node' filepath='src/lfstack.c' line='58' column='1'/>
+      <parameter type-id='type-id-21' name='node' filepath='src/lfstack.c' line='58' column='1'/>
       <!-- bool -->
-      <return type-id='type-id-19'/>
+      <return type-id='type-id-42'/>
     </function-decl>
     <!-- bool cds_lfs_empty(cds_lfs_stack_ptr_t) -->
     <function-decl name='cds_lfs_empty' mangled-name='cds_lfs_empty' filepath='src/lfstack.c' line='53' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_empty'>
       <!-- parameter of type 'typedef cds_lfs_stack_ptr_t' -->
-      <parameter type-id='type-id-31' name='s' filepath='src/lfstack.c' line='53' column='1'/>
+      <parameter type-id='type-id-41' name='s' filepath='src/lfstack.c' line='53' column='1'/>
       <!-- bool -->
-      <return type-id='type-id-19'/>
+      <return type-id='type-id-42'/>
     </function-decl>
     <!-- void __cds_lfs_init(__cds_lfs_stack*) -->
     <function-decl name='__cds_lfs_init' mangled-name='__cds_lfs_init' filepath='src/lfstack.c' line='48' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_lfs_init'>
       <!-- parameter of type '__cds_lfs_stack*' -->
-      <parameter type-id='type-id-32' name='s' filepath='src/lfstack.c' line='48' column='1'/>
+      <parameter type-id='type-id-24' name='s' filepath='src/lfstack.c' line='48' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- void cds_lfs_destroy(cds_lfs_stack*) -->
     <function-decl name='cds_lfs_destroy' mangled-name='cds_lfs_destroy' filepath='src/lfstack.c' line='43' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_destroy'>
       <!-- parameter of type 'cds_lfs_stack*' -->
-      <parameter type-id='type-id-33' name='s' filepath='src/lfstack.c' line='43' column='1'/>
+      <parameter type-id='type-id-25' name='s' filepath='src/lfstack.c' line='78' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- void cds_lfs_init(cds_lfs_stack*) -->
     <function-decl name='cds_lfs_init' mangled-name='cds_lfs_init' filepath='src/lfstack.c' line='38' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_init'>
       <!-- parameter of type 'cds_lfs_stack*' -->
-      <parameter type-id='type-id-33' name='s' filepath='src/lfstack.c' line='38' column='1'/>
+      <parameter type-id='type-id-25' name='s' filepath='src/lfstack.c' line='78' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- void cds_lfs_node_init(cds_lfs_node*) -->
     <function-decl name='cds_lfs_node_init' mangled-name='cds_lfs_node_init' filepath='src/lfstack.c' line='33' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_node_init'>
       <!-- parameter of type 'cds_lfs_node*' -->
-      <parameter type-id='type-id-29' name='node' filepath='src/lfstack.c' line='33' column='1'/>
+      <parameter type-id='type-id-21' name='node' filepath='src/lfstack.c' line='33' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='workqueue.c' comp-dir-path='src' language='LANG_C99'>
       </data-member>
       <data-member access='public' layout-offset-in-bits='448'>
         <!-- unsigned long int urcu_workqueue::flags -->
-        <var-decl name='flags' type-id='type-id-22' visibility='default' filepath='src/workqueue.c' line='63' column='1'/>
+        <var-decl name='flags' type-id='type-id-39' visibility='default' filepath='src/workqueue.c' line='63' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='512'>
         <!-- int32_t urcu_workqueue::futex -->
       </data-member>
       <data-member access='public' layout-offset-in-bits='576'>
         <!-- unsigned long int urcu_workqueue::qlen -->
-        <var-decl name='qlen' type-id='type-id-22' visibility='default' filepath='src/workqueue.c' line='65' column='1'/>
+        <var-decl name='qlen' type-id='type-id-39' visibility='default' filepath='src/workqueue.c' line='65' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='640'>
         <!-- pthread_t urcu_workqueue::tid -->
       </data-member>
       <data-member access='public' layout-offset-in-bits='704'>
         <!-- int urcu_workqueue::cpu_affinity -->
-        <var-decl name='cpu_affinity' type-id='type-id-1' visibility='default' filepath='src/workqueue.c' line='67' column='1'/>
+        <var-decl name='cpu_affinity' type-id='type-id-3' visibility='default' filepath='src/workqueue.c' line='67' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='768'>
         <!-- unsigned long int urcu_workqueue::loop_count -->
-        <var-decl name='loop_count' type-id='type-id-22' visibility='default' filepath='src/workqueue.c' line='68' column='1'/>
+        <var-decl name='loop_count' type-id='type-id-39' visibility='default' filepath='src/workqueue.c' line='68' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='832'>
         <!-- void* urcu_workqueue::priv -->
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- pthread_mutex_t cds_wfcq_head::lock -->
-        <var-decl name='lock' type-id='type-id-37' visibility='default' filepath='../include/urcu/wfcqueue.h' line='74' column='1'/>
+        <var-decl name='lock' type-id='type-id-28' visibility='default' filepath='../include/urcu/wfcqueue.h' line='74' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __int32_t int32_t -->
-    <typedef-decl name='int32_t' type-id='type-id-50' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-46'/>
     <!-- typedef int __int32_t -->
-    <typedef-decl name='__int32_t' type-id='type-id-1' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-50'/>
+    <typedef-decl name='__int32_t' type-id='type-id-3' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='40' column='1' id='type-id-50'/>
+    <!-- typedef __int32_t int32_t -->
+    <typedef-decl name='int32_t' type-id='type-id-50' filepath='/usr/include/x86_64-linux-gnu/bits/stdint-intn.h' line='26' column='1' id='type-id-46'/>
     <!-- typedef unsigned long int pthread_t -->
-    <typedef-decl name='pthread_t' type-id='type-id-22' filepath='/usr/include/bits/pthreadtypes.h' line='27' column='1' id='type-id-47'/>
-    <!-- struct urcu_workqueue_completion -->
-    <class-decl name='urcu_workqueue_completion' size-in-bits='128' is-struct='yes' visibility='default' filepath='src/workqueue.c' line='79' column='1' id='type-id-51'>
-      <data-member access='public' layout-offset-in-bits='0'>
-        <!-- int urcu_workqueue_completion::barrier_count -->
-        <var-decl name='barrier_count' type-id='type-id-1' visibility='default' filepath='src/workqueue.c' line='80' column='1'/>
-      </data-member>
-      <data-member access='public' layout-offset-in-bits='32'>
-        <!-- int32_t urcu_workqueue_completion::futex -->
-        <var-decl name='futex' type-id='type-id-46' visibility='default' filepath='src/workqueue.c' line='81' column='1'/>
-      </data-member>
-      <data-member access='public' layout-offset-in-bits='64'>
-        <!-- urcu_ref urcu_workqueue_completion::ref -->
-        <var-decl name='ref' type-id='type-id-52' visibility='default' filepath='src/workqueue.c' line='82' column='1'/>
-      </data-member>
-    </class-decl>
-    <!-- struct urcu_ref -->
-    <class-decl name='urcu_ref' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/ref.h' line='23' column='1' id='type-id-52'>
-      <data-member access='public' layout-offset-in-bits='0'>
-        <!-- long int urcu_ref::refcount -->
-        <var-decl name='refcount' type-id='type-id-24' visibility='default' filepath='../include/urcu/ref.h' line='24' column='1'/>
-      </data-member>
-    </class-decl>
-    <!-- struct urcu_work -->
-    <class-decl name='urcu_work' size-in-bits='128' is-struct='yes' visibility='default' filepath='src/workqueue.h' line='53' column='1' id='type-id-53'>
-      <data-member access='public' layout-offset-in-bits='0'>
-        <!-- cds_wfcq_node urcu_work::next -->
-        <var-decl name='next' type-id='type-id-8' visibility='default' filepath='src/workqueue.h' line='54' column='1'/>
-      </data-member>
-      <data-member access='public' layout-offset-in-bits='64'>
-        <!-- void (urcu_work*)* urcu_work::func -->
-        <var-decl name='func' type-id='type-id-54' visibility='default' filepath='src/workqueue.h' line='55' column='1'/>
-      </data-member>
-    </class-decl>
-    <!-- urcu_work* -->
-    <pointer-type-def type-id='type-id-53' size-in-bits='64' id='type-id-55'/>
+    <typedef-decl name='pthread_t' type-id='type-id-39' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='27' column='1' id='type-id-47'/>
+    <!-- void* -->
+    <pointer-type-def type-id='type-id-6' size-in-bits='64' id='type-id-48'/>
     <!-- urcu_workqueue* -->
-    <pointer-type-def type-id='type-id-43' size-in-bits='64' id='type-id-56'/>
-    <!-- urcu_workqueue_completion* -->
-    <pointer-type-def type-id='type-id-51' size-in-bits='64' id='type-id-57'/>
-    <!-- void (urcu_work*)* -->
-    <pointer-type-def type-id='type-id-58' size-in-bits='64' id='type-id-54'/>
+    <pointer-type-def type-id='type-id-43' size-in-bits='64' id='type-id-51'/>
     <!-- void (urcu_workqueue*, void*)* -->
-    <pointer-type-def type-id='type-id-59' size-in-bits='64' id='type-id-49'/>
-    <!-- void* -->
-    <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-48'/>
+    <pointer-type-def type-id='type-id-52' size-in-bits='64' id='type-id-49'/>
     <!-- void urcu_workqueue_create_worker(urcu_workqueue*) -->
     <function-decl name='urcu_workqueue_create_worker' mangled-name='urcu_workqueue_create_worker' filepath='src/workqueue.c' line='455' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_workqueue_create_worker'>
       <!-- parameter of type 'urcu_workqueue*' -->
-      <parameter type-id='type-id-56' name='workqueue' filepath='src/workqueue.c' line='455' column='1'/>
+      <parameter type-id='type-id-51' name='workqueue' filepath='src/workqueue.c' line='455' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- void urcu_workqueue_resume_worker(urcu_workqueue*) -->
     <function-decl name='urcu_workqueue_resume_worker' mangled-name='urcu_workqueue_resume_worker' filepath='src/workqueue.c' line='448' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_workqueue_resume_worker'>
       <!-- parameter of type 'urcu_workqueue*' -->
-      <parameter type-id='type-id-56' name='workqueue' filepath='src/workqueue.c' line='448' column='1'/>
+      <parameter type-id='type-id-51' name='workqueue' filepath='src/workqueue.c' line='448' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- void urcu_workqueue_pause_worker(urcu_workqueue*) -->
     <function-decl name='urcu_workqueue_pause_worker' mangled-name='urcu_workqueue_pause_worker' filepath='src/workqueue.c' line='437' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_workqueue_pause_worker'>
       <!-- parameter of type 'urcu_workqueue*' -->
-      <parameter type-id='type-id-56' name='workqueue' filepath='src/workqueue.c' line='437' column='1'/>
+      <parameter type-id='type-id-51' name='workqueue' filepath='src/workqueue.c' line='448' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- void urcu_workqueue_flush_queued_work(urcu_workqueue*) -->
     <function-decl name='urcu_workqueue_flush_queued_work' mangled-name='urcu_workqueue_flush_queued_work' filepath='src/workqueue.c' line='424' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_workqueue_flush_queued_work'>
       <!-- parameter of type 'urcu_workqueue*' -->
-      <parameter type-id='type-id-56' name='workqueue' filepath='src/workqueue.c' line='424' column='1'/>
+      <parameter type-id='type-id-51' name='workqueue' filepath='src/workqueue.c' line='455' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
+    <!-- struct urcu_workqueue_completion -->
+    <class-decl name='urcu_workqueue_completion' size-in-bits='128' is-struct='yes' visibility='default' filepath='src/workqueue.c' line='79' column='1' id='type-id-53'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- int urcu_workqueue_completion::barrier_count -->
+        <var-decl name='barrier_count' type-id='type-id-3' visibility='default' filepath='src/workqueue.c' line='80' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <!-- int32_t urcu_workqueue_completion::futex -->
+        <var-decl name='futex' type-id='type-id-46' visibility='default' filepath='src/workqueue.c' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- urcu_ref urcu_workqueue_completion::ref -->
+        <var-decl name='ref' type-id='type-id-54' visibility='default' filepath='src/workqueue.c' line='82' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- struct urcu_ref -->
+    <class-decl name='urcu_ref' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/ref.h' line='23' column='1' id='type-id-54'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- long int urcu_ref::refcount -->
+        <var-decl name='refcount' type-id='type-id-32' visibility='default' filepath='../include/urcu/ref.h' line='24' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- urcu_workqueue_completion* -->
+    <pointer-type-def type-id='type-id-53' size-in-bits='64' id='type-id-55'/>
     <!-- void urcu_workqueue_queue_completion(urcu_workqueue*, urcu_workqueue_completion*) -->
     <function-decl name='urcu_workqueue_queue_completion' mangled-name='urcu_workqueue_queue_completion' filepath='src/workqueue.c' line='407' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_workqueue_queue_completion'>
       <!-- parameter of type 'urcu_workqueue*' -->
-      <parameter type-id='type-id-56' name='workqueue' filepath='src/workqueue.c' line='407' column='1'/>
+      <parameter type-id='type-id-51' name='workqueue' filepath='src/workqueue.c' line='407' column='1'/>
       <!-- parameter of type 'urcu_workqueue_completion*' -->
-      <parameter type-id='type-id-57' name='completion' filepath='src/workqueue.c' line='408' column='1'/>
+      <parameter type-id='type-id-55' name='completion' filepath='src/workqueue.c' line='408' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- void urcu_workqueue_wait_completion(urcu_workqueue_completion*) -->
     <function-decl name='urcu_workqueue_wait_completion' mangled-name='urcu_workqueue_wait_completion' filepath='src/workqueue.c' line='394' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_workqueue_wait_completion'>
       <!-- parameter of type 'urcu_workqueue_completion*' -->
-      <parameter type-id='type-id-57' name='completion' filepath='src/workqueue.c' line='394' column='1'/>
+      <parameter type-id='type-id-55' name='completion' filepath='src/workqueue.c' line='394' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- void urcu_workqueue_destroy_completion(urcu_workqueue_completion*) -->
     <function-decl name='urcu_workqueue_destroy_completion' mangled-name='urcu_workqueue_destroy_completion' filepath='src/workqueue.c' line='389' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_workqueue_destroy_completion'>
       <!-- parameter of type 'urcu_workqueue_completion*' -->
-      <parameter type-id='type-id-57' name='completion' filepath='src/workqueue.c' line='389' column='1'/>
+      <parameter type-id='type-id-55' name='completion' filepath='src/workqueue.c' line='389' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- urcu_workqueue_completion* urcu_workqueue_create_completion() -->
     <function-decl name='urcu_workqueue_create_completion' mangled-name='urcu_workqueue_create_completion' filepath='src/workqueue.c' line='377' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_workqueue_create_completion'>
       <!-- urcu_workqueue_completion* -->
-      <return type-id='type-id-57'/>
+      <return type-id='type-id-55'/>
     </function-decl>
+    <!-- struct urcu_work -->
+    <class-decl name='urcu_work' size-in-bits='128' is-struct='yes' visibility='default' filepath='src/workqueue.h' line='53' column='1' id='type-id-56'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_wfcq_node urcu_work::next -->
+        <var-decl name='next' type-id='type-id-8' visibility='default' filepath='src/workqueue.h' line='54' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- void (urcu_work*)* urcu_work::func -->
+        <var-decl name='func' type-id='type-id-57' visibility='default' filepath='src/workqueue.h' line='55' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- urcu_work* -->
+    <pointer-type-def type-id='type-id-56' size-in-bits='64' id='type-id-58'/>
+    <!-- void (urcu_work*)* -->
+    <pointer-type-def type-id='type-id-59' size-in-bits='64' id='type-id-57'/>
     <!-- void urcu_workqueue_queue_work(urcu_workqueue*, urcu_work*, void (urcu_work*)*) -->
     <function-decl name='urcu_workqueue_queue_work' mangled-name='urcu_workqueue_queue_work' filepath='src/workqueue.c' line='343' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_workqueue_queue_work'>
       <!-- parameter of type 'urcu_workqueue*' -->
-      <parameter type-id='type-id-56' name='workqueue' filepath='src/workqueue.c' line='343' column='1'/>
+      <parameter type-id='type-id-51' name='workqueue' filepath='src/workqueue.c' line='343' column='1'/>
       <!-- parameter of type 'urcu_work*' -->
-      <parameter type-id='type-id-55' name='work' filepath='src/workqueue.c' line='344' column='1'/>
+      <parameter type-id='type-id-58' name='work' filepath='src/workqueue.c' line='344' column='1'/>
       <!-- parameter of type 'void (urcu_work*)*' -->
-      <parameter type-id='type-id-54' name='func' filepath='src/workqueue.c' line='345' column='1'/>
+      <parameter type-id='type-id-57' name='func' filepath='src/workqueue.c' line='345' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- void urcu_workqueue_destroy(urcu_workqueue*) -->
     <function-decl name='urcu_workqueue_destroy' mangled-name='urcu_workqueue_destroy' filepath='src/workqueue.c' line='331' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_workqueue_destroy'>
       <!-- parameter of type 'urcu_workqueue*' -->
-      <parameter type-id='type-id-56' name='workqueue' filepath='src/workqueue.c' line='331' column='1'/>
+      <parameter type-id='type-id-51' name='workqueue' filepath='src/workqueue.c' line='455' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- urcu_workqueue* urcu_workqueue_create(unsigned long int, int, void*, void (urcu_workqueue*, void*)*, void (urcu_workqueue*, void*)*, void (urcu_workqueue*, void*)*, void (urcu_workqueue*, void*)*, void (urcu_workqueue*, void*)*, void (urcu_workqueue*, void*)*, void (urcu_workqueue*, void*)*) -->
     <function-decl name='urcu_workqueue_create' mangled-name='urcu_workqueue_create' filepath='src/workqueue.c' line='266' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_workqueue_create'>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-22' name='flags' filepath='src/workqueue.c' line='266' column='1'/>
+      <parameter type-id='type-id-39' name='flags' filepath='src/workqueue.c' line='266' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-1' name='cpu_affinity' filepath='src/workqueue.c' line='267' column='1'/>
+      <parameter type-id='type-id-3' name='cpu_affinity' filepath='src/workqueue.c' line='267' column='1'/>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-48' name='priv' filepath='src/workqueue.c' line='267' column='1'/>
       <!-- parameter of type 'void (urcu_workqueue*, void*)*' -->
       <!-- parameter of type 'void (urcu_workqueue*, void*)*' -->
       <parameter type-id='type-id-49' name='worker_after_resume_fct' filepath='src/workqueue.c' line='274' column='1'/>
       <!-- urcu_workqueue* -->
-      <return type-id='type-id-56'/>
+      <return type-id='type-id-51'/>
     </function-decl>
     <!-- void (urcu_work*) -->
-    <function-type size-in-bits='64' id='type-id-58'>
+    <function-type size-in-bits='64' id='type-id-59'>
       <!-- parameter of type 'urcu_work*' -->
-      <parameter type-id='type-id-55'/>
+      <parameter type-id='type-id-58'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-type>
     <!-- void (urcu_workqueue*, void*) -->
-    <function-type size-in-bits='64' id='type-id-59'>
+    <function-type size-in-bits='64' id='type-id-52'>
       <!-- parameter of type 'urcu_workqueue*' -->
-      <parameter type-id='type-id-56'/>
+      <parameter type-id='type-id-51'/>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-48'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-type>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='rculfhash.c' comp-dir-path='src' language='LANG_C99'>
-
-
-
-    <!-- cds_lfht_node*[64] -->
-    <array-type-def dimensions='1' type-id='type-id-60' size-in-bits='4096' id='type-id-61'>
-      <!-- <anonymous range>[64] -->
-      <subrange length='64' type-id='type-id-22' id='type-id-62'/>
-
-    </array-type-def>
-    <!-- cds_lfht_node*[] -->
-    <array-type-def dimensions='1' type-id='type-id-60' size-in-bits='infinite' id='type-id-63'>
-      <!-- <anonymous range>[] -->
-      <subrange length='infinite' type-id='type-id-22' id='type-id-64'/>
-
-    </array-type-def>
-    <!-- char[56] -->
-    <array-type-def dimensions='1' type-id='type-id-20' size-in-bits='448' id='type-id-65'>
-      <!-- <anonymous range>[56] -->
-      <subrange length='56' type-id='type-id-22' id='type-id-66'/>
-
-    </array-type-def>
     <!-- struct cds_lfht -->
-    <class-decl name='cds_lfht' size-in-bits='5248' is-struct='yes' visibility='default' filepath='../src/rculfhash-internal.h' line='70' column='1' id='type-id-67'>
+    <class-decl name='cds_lfht' size-in-bits='5248' is-struct='yes' visibility='default' filepath='../src/rculfhash-internal.h' line='70' column='1' id='type-id-60'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned long int cds_lfht::max_nr_buckets -->
-        <var-decl name='max_nr_buckets' type-id='type-id-22' visibility='default' filepath='../src/rculfhash-internal.h' line='72' column='1'/>
+        <var-decl name='max_nr_buckets' type-id='type-id-39' visibility='default' filepath='../src/rculfhash-internal.h' line='72' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- const cds_lfht_mm_type* cds_lfht::mm -->
-        <var-decl name='mm' type-id='type-id-68' visibility='default' filepath='../src/rculfhash-internal.h' line='73' column='1'/>
+        <var-decl name='mm' type-id='type-id-61' visibility='default' filepath='../src/rculfhash-internal.h' line='73' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- const rcu_flavor_struct* cds_lfht::flavor -->
-        <var-decl name='flavor' type-id='type-id-69' visibility='default' filepath='../src/rculfhash-internal.h' line='74' column='1'/>
+        <var-decl name='flavor' type-id='type-id-62' visibility='default' filepath='../src/rculfhash-internal.h' line='74' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- long int cds_lfht::count -->
-        <var-decl name='count' type-id='type-id-24' visibility='default' filepath='../src/rculfhash-internal.h' line='76' column='1'/>
+        <var-decl name='count' type-id='type-id-32' visibility='default' filepath='../src/rculfhash-internal.h' line='76' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- pthread_mutex_t cds_lfht::resize_mutex -->
-        <var-decl name='resize_mutex' type-id='type-id-37' visibility='default' filepath='../src/rculfhash-internal.h' line='85' column='1'/>
+        <var-decl name='resize_mutex' type-id='type-id-28' visibility='default' filepath='../src/rculfhash-internal.h' line='85' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='576'>
         <!-- pthread_attr_t* cds_lfht::resize_attr -->
-        <var-decl name='resize_attr' type-id='type-id-70' visibility='default' filepath='../src/rculfhash-internal.h' line='86' column='1'/>
+        <var-decl name='resize_attr' type-id='type-id-63' visibility='default' filepath='../src/rculfhash-internal.h' line='86' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='640'>
         <!-- unsigned int cds_lfht::in_progress_destroy -->
-        <var-decl name='in_progress_destroy' type-id='type-id-26' visibility='default' filepath='../src/rculfhash-internal.h' line='87' column='1'/>
+        <var-decl name='in_progress_destroy' type-id='type-id-33' visibility='default' filepath='../src/rculfhash-internal.h' line='87' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='704'>
         <!-- unsigned long int cds_lfht::resize_target -->
-        <var-decl name='resize_target' type-id='type-id-22' visibility='default' filepath='../src/rculfhash-internal.h' line='88' column='1'/>
+        <var-decl name='resize_target' type-id='type-id-39' visibility='default' filepath='../src/rculfhash-internal.h' line='88' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='768'>
         <!-- int cds_lfht::resize_initiated -->
-        <var-decl name='resize_initiated' type-id='type-id-1' visibility='default' filepath='../src/rculfhash-internal.h' line='89' column='1'/>
+        <var-decl name='resize_initiated' type-id='type-id-3' visibility='default' filepath='../src/rculfhash-internal.h' line='89' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='800'>
         <!-- int cds_lfht::flags -->
-        <var-decl name='flags' type-id='type-id-1' visibility='default' filepath='../src/rculfhash-internal.h' line='94' column='1'/>
+        <var-decl name='flags' type-id='type-id-3' visibility='default' filepath='../src/rculfhash-internal.h' line='94' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='832'>
         <!-- unsigned long int cds_lfht::min_alloc_buckets_order -->
-        <var-decl name='min_alloc_buckets_order' type-id='type-id-22' visibility='default' filepath='../src/rculfhash-internal.h' line='95' column='1'/>
+        <var-decl name='min_alloc_buckets_order' type-id='type-id-39' visibility='default' filepath='../src/rculfhash-internal.h' line='95' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='896'>
         <!-- unsigned long int cds_lfht::min_nr_alloc_buckets -->
-        <var-decl name='min_nr_alloc_buckets' type-id='type-id-22' visibility='default' filepath='../src/rculfhash-internal.h' line='96' column='1'/>
+        <var-decl name='min_nr_alloc_buckets' type-id='type-id-39' visibility='default' filepath='../src/rculfhash-internal.h' line='96' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='960'>
         <!-- ht_items_count* cds_lfht::split_count -->
-        <var-decl name='split_count' type-id='type-id-71' visibility='default' filepath='../src/rculfhash-internal.h' line='97' column='1'/>
+        <var-decl name='split_count' type-id='type-id-64' visibility='default' filepath='../src/rculfhash-internal.h' line='97' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1024'>
         <!-- unsigned long int cds_lfht::size -->
-        <var-decl name='size' type-id='type-id-22' visibility='default' filepath='../src/rculfhash-internal.h' line='102' column='1'/>
+        <var-decl name='size' type-id='type-id-39' visibility='default' filepath='../src/rculfhash-internal.h' line='102' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1088'>
         <!-- cds_lfht_node* (cds_lfht*, unsigned long int)* cds_lfht::bucket_at -->
-        <var-decl name='bucket_at' type-id='type-id-72' visibility='default' filepath='../src/rculfhash-internal.h' line='107' column='1'/>
+        <var-decl name='bucket_at' type-id='type-id-65' visibility='default' filepath='../src/rculfhash-internal.h' line='107' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1152'>
-        <!-- union {cds_lfht_node* tbl_order[64]; cds_lfht_node* tbl_chunk[]; cds_lfht_node* tbl_mmap;} -->
-        <var-decl name='' type-id='type-id-73' visibility='default'/>
+        <!-- __anonymous_union__  -->
+        <var-decl name='' type-id='type-id-66' visibility='default'/>
       </data-member>
     </class-decl>
     <!-- struct cds_lfht_mm_type -->
-    <class-decl name='cds_lfht_mm_type' size-in-bits='256' is-struct='yes' visibility='default' filepath='../include/urcu/rculfhash.h' line='120' column='1' id='type-id-74'>
+    <class-decl name='cds_lfht_mm_type' size-in-bits='256' is-struct='yes' visibility='default' filepath='../include/urcu/rculfhash.h' line='120' column='1' id='type-id-67'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_lfht* (unsigned long int, unsigned long int)* cds_lfht_mm_type::alloc_cds_lfht -->
-        <var-decl name='alloc_cds_lfht' type-id='type-id-75' visibility='default' filepath='../include/urcu/rculfhash.h' line='121' column='1'/>
+        <var-decl name='alloc_cds_lfht' type-id='type-id-68' visibility='default' filepath='../include/urcu/rculfhash.h' line='121' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
-        <!-- void ()* cds_lfht_mm_type::alloc_bucket_table -->
-        <var-decl name='alloc_bucket_table' type-id='type-id-76' visibility='default' filepath='../include/urcu/rculfhash.h' line='123' column='1'/>
+        <!-- void (cds_lfht*, unsigned long int)* cds_lfht_mm_type::alloc_bucket_table -->
+        <var-decl name='alloc_bucket_table' type-id='type-id-69' visibility='default' filepath='../include/urcu/rculfhash.h' line='123' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
-        <!-- void ()* cds_lfht_mm_type::free_bucket_table -->
-        <var-decl name='free_bucket_table' type-id='type-id-76' visibility='default' filepath='../include/urcu/rculfhash.h' line='124' column='1'/>
+        <!-- void (cds_lfht*, unsigned long int)* cds_lfht_mm_type::free_bucket_table -->
+        <var-decl name='free_bucket_table' type-id='type-id-69' visibility='default' filepath='../include/urcu/rculfhash.h' line='124' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- cds_lfht_node* (cds_lfht*, unsigned long int)* cds_lfht_mm_type::bucket_at -->
-        <var-decl name='bucket_at' type-id='type-id-72' visibility='default' filepath='../include/urcu/rculfhash.h' line='125' column='1'/>
+        <var-decl name='bucket_at' type-id='type-id-65' visibility='default' filepath='../include/urcu/rculfhash.h' line='125' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_lfht* -->
+    <pointer-type-def type-id='type-id-60' size-in-bits='64' id='type-id-70'/>
+    <!-- cds_lfht* (unsigned long int, unsigned long int)* -->
+    <pointer-type-def type-id='type-id-71' size-in-bits='64' id='type-id-68'/>
+    <!-- void (cds_lfht*, unsigned long int)* -->
+    <pointer-type-def type-id='type-id-72' size-in-bits='64' id='type-id-69'/>
     <!-- struct cds_lfht_node -->
-    <class-decl name='cds_lfht_node' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/rculfhash.h' line='63' column='1' id='type-id-77'>
+    <class-decl name='cds_lfht_node' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/rculfhash.h' line='63' column='1' id='type-id-73'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_lfht_node* cds_lfht_node::next -->
-        <var-decl name='next' type-id='type-id-60' visibility='default' filepath='../include/urcu/rculfhash.h' line='64' column='1'/>
+        <var-decl name='next' type-id='type-id-74' visibility='default' filepath='../include/urcu/rculfhash.h' line='64' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- unsigned long int cds_lfht_node::reverse_hash -->
-        <var-decl name='reverse_hash' type-id='type-id-22' visibility='default' filepath='../include/urcu/rculfhash.h' line='65' column='1'/>
+        <var-decl name='reverse_hash' type-id='type-id-39' visibility='default' filepath='../include/urcu/rculfhash.h' line='65' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_lfht_node* -->
+    <pointer-type-def type-id='type-id-73' size-in-bits='64' id='type-id-74'/>
+    <!-- cds_lfht_node* (cds_lfht*, unsigned long int)* -->
+    <pointer-type-def type-id='type-id-75' size-in-bits='64' id='type-id-65'/>
+    <!-- const cds_lfht_mm_type -->
+    <qualified-type-def type-id='type-id-67' const='yes' id='type-id-76'/>
+    <!-- const cds_lfht_mm_type* -->
+    <pointer-type-def type-id='type-id-76' size-in-bits='64' id='type-id-61'/>
     <!-- struct rcu_flavor_struct -->
-    <class-decl name='rcu_flavor_struct' size-in-bits='896' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='42' column='1' id='type-id-78'>
+    <class-decl name='rcu_flavor_struct' size-in-bits='896' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='42' column='1' id='type-id-77'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- void ()* rcu_flavor_struct::read_lock -->
-        <var-decl name='read_lock' type-id='type-id-79' visibility='default' filepath='../include/urcu/flavor.h' line='43' column='1'/>
+        <var-decl name='read_lock' type-id='type-id-78' visibility='default' filepath='../include/urcu/flavor.h' line='43' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void ()* rcu_flavor_struct::read_unlock -->
-        <var-decl name='read_unlock' type-id='type-id-79' visibility='default' filepath='../include/urcu/flavor.h' line='44' column='1'/>
+        <var-decl name='read_unlock' type-id='type-id-78' visibility='default' filepath='../include/urcu/flavor.h' line='44' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- int ()* rcu_flavor_struct::read_ongoing -->
-        <var-decl name='read_ongoing' type-id='type-id-80' visibility='default' filepath='../include/urcu/flavor.h' line='45' column='1'/>
+        <var-decl name='read_ongoing' type-id='type-id-79' visibility='default' filepath='../include/urcu/flavor.h' line='45' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- void ()* rcu_flavor_struct::read_quiescent_state -->
-        <var-decl name='read_quiescent_state' type-id='type-id-79' visibility='default' filepath='../include/urcu/flavor.h' line='46' column='1'/>
+        <var-decl name='read_quiescent_state' type-id='type-id-78' visibility='default' filepath='../include/urcu/flavor.h' line='46' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- void (rcu_head*, void (rcu_head*)*)* rcu_flavor_struct::update_call_rcu -->
-        <var-decl name='update_call_rcu' type-id='type-id-6' visibility='default' filepath='../include/urcu/flavor.h' line='47' column='1'/>
+        <var-decl name='update_call_rcu' type-id='type-id-5' visibility='default' filepath='../include/urcu/flavor.h' line='47' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
         <!-- void ()* rcu_flavor_struct::update_synchronize_rcu -->
-        <var-decl name='update_synchronize_rcu' type-id='type-id-79' visibility='default' filepath='../include/urcu/flavor.h' line='49' column='1'/>
+        <var-decl name='update_synchronize_rcu' type-id='type-id-78' visibility='default' filepath='../include/urcu/flavor.h' line='49' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='384'>
         <!-- void (void (void*)*, void*)* rcu_flavor_struct::update_defer_rcu -->
-        <var-decl name='update_defer_rcu' type-id='type-id-81' visibility='default' filepath='../include/urcu/flavor.h' line='50' column='1'/>
+        <var-decl name='update_defer_rcu' type-id='type-id-80' visibility='default' filepath='../include/urcu/flavor.h' line='50' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='448'>
         <!-- void ()* rcu_flavor_struct::thread_offline -->
-        <var-decl name='thread_offline' type-id='type-id-79' visibility='default' filepath='../include/urcu/flavor.h' line='52' column='1'/>
+        <var-decl name='thread_offline' type-id='type-id-78' visibility='default' filepath='../include/urcu/flavor.h' line='52' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='512'>
         <!-- void ()* rcu_flavor_struct::thread_online -->
-        <var-decl name='thread_online' type-id='type-id-79' visibility='default' filepath='../include/urcu/flavor.h' line='53' column='1'/>
+        <var-decl name='thread_online' type-id='type-id-78' visibility='default' filepath='../include/urcu/flavor.h' line='53' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='576'>
         <!-- void ()* rcu_flavor_struct::register_thread -->
-        <var-decl name='register_thread' type-id='type-id-79' visibility='default' filepath='../include/urcu/flavor.h' line='54' column='1'/>
+        <var-decl name='register_thread' type-id='type-id-78' visibility='default' filepath='../include/urcu/flavor.h' line='54' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='640'>
         <!-- void ()* rcu_flavor_struct::unregister_thread -->
-        <var-decl name='unregister_thread' type-id='type-id-79' visibility='default' filepath='../include/urcu/flavor.h' line='55' column='1'/>
+        <var-decl name='unregister_thread' type-id='type-id-78' visibility='default' filepath='../include/urcu/flavor.h' line='55' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='704'>
         <!-- void ()* rcu_flavor_struct::barrier -->
-        <var-decl name='barrier' type-id='type-id-79' visibility='default' filepath='../include/urcu/flavor.h' line='57' column='1'/>
+        <var-decl name='barrier' type-id='type-id-78' visibility='default' filepath='../include/urcu/flavor.h' line='57' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='768'>
         <!-- void (urcu_atfork*)* rcu_flavor_struct::register_rculfhash_atfork -->
-        <var-decl name='register_rculfhash_atfork' type-id='type-id-82' visibility='default' filepath='../include/urcu/flavor.h' line='59' column='1'/>
+        <var-decl name='register_rculfhash_atfork' type-id='type-id-81' visibility='default' filepath='../include/urcu/flavor.h' line='59' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='832'>
         <!-- void (urcu_atfork*)* rcu_flavor_struct::unregister_rculfhash_atfork -->
-        <var-decl name='unregister_rculfhash_atfork' type-id='type-id-82' visibility='default' filepath='../include/urcu/flavor.h' line='60' column='1'/>
+        <var-decl name='unregister_rculfhash_atfork' type-id='type-id-81' visibility='default' filepath='../include/urcu/flavor.h' line='60' column='1'/>
       </data-member>
     </class-decl>
+    <!-- void ()* -->
+    <pointer-type-def type-id='type-id-82' size-in-bits='64' id='type-id-78'/>
+    <!-- int ()* -->
+    <pointer-type-def type-id='type-id-83' size-in-bits='64' id='type-id-79'/>
+    <!-- void (void*)* -->
+    <pointer-type-def type-id='type-id-84' size-in-bits='64' id='type-id-85'/>
+    <!-- void (void (void*)*, void*)* -->
+    <pointer-type-def type-id='type-id-86' size-in-bits='64' id='type-id-80'/>
     <!-- struct urcu_atfork -->
-    <class-decl name='urcu_atfork' size-in-bits='256' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='32' column='1' id='type-id-83'>
+    <class-decl name='urcu_atfork' size-in-bits='256' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='32' column='1' id='type-id-87'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- void (void*)* urcu_atfork::before_fork -->
-        <var-decl name='before_fork' type-id='type-id-84' visibility='default' filepath='../include/urcu/flavor.h' line='33' column='1'/>
+        <var-decl name='before_fork' type-id='type-id-85' visibility='default' filepath='../include/urcu/flavor.h' line='33' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void (void*)* urcu_atfork::after_fork_parent -->
-        <var-decl name='after_fork_parent' type-id='type-id-84' visibility='default' filepath='../include/urcu/flavor.h' line='34' column='1'/>
+        <var-decl name='after_fork_parent' type-id='type-id-85' visibility='default' filepath='../include/urcu/flavor.h' line='34' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- void (void*)* urcu_atfork::after_fork_child -->
-        <var-decl name='after_fork_child' type-id='type-id-84' visibility='default' filepath='../include/urcu/flavor.h' line='35' column='1'/>
+        <var-decl name='after_fork_child' type-id='type-id-85' visibility='default' filepath='../include/urcu/flavor.h' line='35' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- void* urcu_atfork::priv -->
         <var-decl name='priv' type-id='type-id-48' visibility='default' filepath='../include/urcu/flavor.h' line='36' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef pthread_attr_t pthread_attr_t -->
-    <typedef-decl name='pthread_attr_t' type-id='type-id-85' filepath='/usr/include/bits/pthreadtypes.h' line='62' column='1' id='type-id-86'/>
+    <!-- urcu_atfork* -->
+    <pointer-type-def type-id='type-id-87' size-in-bits='64' id='type-id-88'/>
+    <!-- void (urcu_atfork*)* -->
+    <pointer-type-def type-id='type-id-89' size-in-bits='64' id='type-id-81'/>
+    <!-- const rcu_flavor_struct -->
+    <qualified-type-def type-id='type-id-77' const='yes' id='type-id-90'/>
+    <!-- const rcu_flavor_struct* -->
+    <pointer-type-def type-id='type-id-90' size-in-bits='64' id='type-id-62'/>
     <!-- union pthread_attr_t -->
-    <union-decl name='pthread_attr_t' size-in-bits='448' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='56' column='1' id='type-id-85'>
+    <union-decl name='pthread_attr_t' size-in-bits='448' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='56' column='1' id='type-id-91'>
       <data-member access='private'>
         <!-- char pthread_attr_t::__size[56] -->
-        <var-decl name='__size' type-id='type-id-65' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='58' column='1'/>
+        <var-decl name='__size' type-id='type-id-92' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='58' column='1'/>
       </data-member>
       <data-member access='private'>
         <!-- long int pthread_attr_t::__align -->
-        <var-decl name='__align' type-id='type-id-24' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='59' column='1'/>
+        <var-decl name='__align' type-id='type-id-32' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='59' column='1'/>
       </data-member>
     </union-decl>
+
+    <!-- char[56] -->
+    <array-type-def dimensions='1' type-id='type-id-38' size-in-bits='448' id='type-id-92'>
+      <!-- <anonymous range>[56] -->
+      <subrange length='56' type-id='type-id-39' id='type-id-93'/>
+
+    </array-type-def>
+    <!-- typedef pthread_attr_t pthread_attr_t -->
+    <typedef-decl name='pthread_attr_t' type-id='type-id-91' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='62' column='1' id='type-id-94'/>
+    <!-- pthread_attr_t* -->
+    <pointer-type-def type-id='type-id-94' size-in-bits='64' id='type-id-63'/>
     <!-- struct ht_items_count -->
-    <class-decl name='ht_items_count' size-in-bits='1024' is-struct='yes' visibility='default' filepath='src/rculfhash.c' line='338' column='1' id='type-id-87'>
+    <class-decl name='ht_items_count' size-in-bits='1024' is-struct='yes' visibility='default' filepath='src/rculfhash.c' line='338' column='1' id='type-id-95'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned long int ht_items_count::add -->
-        <var-decl name='add' type-id='type-id-22' visibility='default' filepath='src/rculfhash.c' line='339' column='1'/>
+        <var-decl name='add' type-id='type-id-39' visibility='default' filepath='src/rculfhash.c' line='339' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- unsigned long int ht_items_count::del -->
-        <var-decl name='del' type-id='type-id-22' visibility='default' filepath='src/rculfhash.c' line='339' column='1'/>
+        <var-decl name='del' type-id='type-id-39' visibility='default' filepath='src/rculfhash.c' line='339' column='1'/>
       </data-member>
     </class-decl>
-    <!-- union {cds_lfht_node* tbl_order[64]; cds_lfht_node* tbl_chunk[]; cds_lfht_node* tbl_mmap;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='4096' is-anonymous='yes' visibility='default' filepath='../src/rculfhash-internal.h' line='113' column='1' id='type-id-73'>
+    <!-- ht_items_count* -->
+    <pointer-type-def type-id='type-id-95' size-in-bits='64' id='type-id-64'/>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='4096' is-anonymous='yes' visibility='default' filepath='../src/rculfhash-internal.h' line='113' column='1' id='type-id-66'>
       <data-member access='private'>
-        <!-- cds_lfht_node* tbl_order[64] -->
-        <var-decl name='tbl_order' type-id='type-id-61' visibility='default' filepath='../src/rculfhash-internal.h' line='122' column='1'/>
+        <!-- cds_lfht_node* __anonymous_union__::tbl_order[64] -->
+        <var-decl name='tbl_order' type-id='type-id-96' visibility='default' filepath='../src/rculfhash-internal.h' line='122' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- cds_lfht_node* tbl_chunk[] -->
-        <var-decl name='tbl_chunk' type-id='type-id-63' visibility='default' filepath='../src/rculfhash-internal.h' line='134' column='1'/>
+        <!-- cds_lfht_node* __anonymous_union__::tbl_chunk[1] -->
+        <var-decl name='tbl_chunk' type-id='type-id-97' visibility='default' filepath='../src/rculfhash-internal.h' line='134' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- cds_lfht_node* tbl_mmap -->
-        <var-decl name='tbl_mmap' type-id='type-id-60' visibility='default' filepath='../src/rculfhash-internal.h' line='140' column='1'/>
+        <!-- cds_lfht_node* __anonymous_union__::tbl_mmap -->
+        <var-decl name='tbl_mmap' type-id='type-id-74' visibility='default' filepath='../src/rculfhash-internal.h' line='140' column='1'/>
       </data-member>
     </union-decl>
-    <!-- struct cds_lfht_iter -->
-    <class-decl name='cds_lfht_iter' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/rculfhash.h' line='69' column='1' id='type-id-88'>
-      <data-member access='public' layout-offset-in-bits='0'>
-        <!-- cds_lfht_node* cds_lfht_iter::node -->
-        <var-decl name='node' type-id='type-id-60' visibility='default' filepath='../include/urcu/rculfhash.h' line='70' column='1'/>
-      </data-member>
-      <data-member access='public' layout-offset-in-bits='64'>
-        <!-- cds_lfht_node* cds_lfht_iter::next -->
-        <var-decl name='next' type-id='type-id-60' visibility='default' filepath='../include/urcu/rculfhash.h' line='70' column='1'/>
-      </data-member>
-    </class-decl>
-    <!-- typedef int (cds_lfht_node*, void*)* cds_lfht_match_fct -->
-    <typedef-decl name='cds_lfht_match_fct' type-id='type-id-89' filepath='../include/urcu/rculfhash.h' line='98' column='1' id='type-id-90'/>
-    <!-- cds_lfht* -->
-    <pointer-type-def type-id='type-id-67' size-in-bits='64' id='type-id-91'/>
-    <!-- cds_lfht* (unsigned long int, unsigned long int)* -->
-    <pointer-type-def type-id='type-id-92' size-in-bits='64' id='type-id-75'/>
-    <!-- cds_lfht_iter* -->
-    <pointer-type-def type-id='type-id-88' size-in-bits='64' id='type-id-93'/>
-    <!-- cds_lfht_node* -->
-    <pointer-type-def type-id='type-id-77' size-in-bits='64' id='type-id-60'/>
-    <!-- cds_lfht_node* (cds_lfht*, unsigned long int)* -->
-    <pointer-type-def type-id='type-id-94' size-in-bits='64' id='type-id-72'/>
-    <!-- const cds_lfht_mm_type -->
-    <qualified-type-def type-id='type-id-74' const='yes' id='type-id-95'/>
-    <!-- const cds_lfht_mm_type* -->
-    <pointer-type-def type-id='type-id-95' size-in-bits='64' id='type-id-68'/>
-    <!-- const cds_lfht_node -->
-    <qualified-type-def type-id='type-id-77' const='yes' id='type-id-96'/>
-    <!-- const cds_lfht_node* -->
-    <pointer-type-def type-id='type-id-96' size-in-bits='64' id='type-id-97'/>
-    <!-- const rcu_flavor_struct -->
-    <qualified-type-def type-id='type-id-78' const='yes' id='type-id-98'/>
-    <!-- const rcu_flavor_struct* -->
-    <pointer-type-def type-id='type-id-98' size-in-bits='64' id='type-id-69'/>
-    <!-- ht_items_count* -->
-    <pointer-type-def type-id='type-id-87' size-in-bits='64' id='type-id-71'/>
-    <!-- int ()* -->
-    <pointer-type-def type-id='type-id-99' size-in-bits='64' id='type-id-80'/>
-    <!-- int (cds_lfht_node*, void*)* -->
-    <pointer-type-def type-id='type-id-100' size-in-bits='64' id='type-id-89'/>
-    <!-- long int* -->
-    <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-101'/>
-    <!-- pthread_attr_t* -->
-    <pointer-type-def type-id='type-id-86' size-in-bits='64' id='type-id-70'/>
-    <!-- pthread_attr_t** -->
-    <pointer-type-def type-id='type-id-70' size-in-bits='64' id='type-id-102'/>
-    <!-- unsigned long int* -->
-    <pointer-type-def type-id='type-id-22' size-in-bits='64' id='type-id-103'/>
-    <!-- urcu_atfork* -->
-    <pointer-type-def type-id='type-id-83' size-in-bits='64' id='type-id-104'/>
-    <!-- void ()* -->
-    <pointer-type-def type-id='type-id-105' size-in-bits='64' id='type-id-79'/>
-    <!-- void ()* -->
-    <pointer-type-def type-id='type-id-106' size-in-bits='64' id='type-id-76'/>
-    <!-- void (urcu_atfork*)* -->
-    <pointer-type-def type-id='type-id-107' size-in-bits='64' id='type-id-82'/>
-    <!-- void (void (void*)*, void*)* -->
-    <pointer-type-def type-id='type-id-108' size-in-bits='64' id='type-id-81'/>
-    <!-- void (void*)* -->
-    <pointer-type-def type-id='type-id-109' size-in-bits='64' id='type-id-84'/>
+
+    <!-- cds_lfht_node*[64] -->
+    <array-type-def dimensions='1' type-id='type-id-74' size-in-bits='4096' id='type-id-96'>
+      <!-- <anonymous range>[64] -->
+      <subrange length='64' type-id='type-id-39' id='type-id-98'/>
+
+    </array-type-def>
+
+    <!-- cds_lfht_node*[1] -->
+    <array-type-def dimensions='1' type-id='type-id-74' size-in-bits='64' id='type-id-97'>
+      <!-- <anonymous range>[1] -->
+      <subrange length='1' type-id='type-id-39' id='type-id-99'/>
+
+    </array-type-def>
     <!-- void cds_lfht_resize(cds_lfht*, unsigned long int) -->
     <function-decl name='cds_lfht_resize' mangled-name='cds_lfht_resize' filepath='src/rculfhash.c' line='2028' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_resize'>
       <!-- parameter of type 'cds_lfht*' -->
-      <parameter type-id='type-id-91' name='ht' filepath='src/rculfhash.c' line='2028' column='1'/>
+      <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='2028' column='1'/>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-22' name='new_size' filepath='src/rculfhash.c' line='2028' column='1'/>
+      <parameter type-id='type-id-39' name='new_size' filepath='src/rculfhash.c' line='2028' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
+    <!-- long int* -->
+    <pointer-type-def type-id='type-id-32' size-in-bits='64' id='type-id-100'/>
+    <!-- unsigned long int* -->
+    <pointer-type-def type-id='type-id-39' size-in-bits='64' id='type-id-101'/>
     <!-- void cds_lfht_count_nodes(cds_lfht*, long int*, unsigned long int*, long int*) -->
     <function-decl name='cds_lfht_count_nodes' mangled-name='cds_lfht_count_nodes' filepath='src/rculfhash.c' line='1906' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_count_nodes'>
       <!-- parameter of type 'cds_lfht*' -->
-      <parameter type-id='type-id-91' name='ht' filepath='src/rculfhash.c' line='1906' column='1'/>
+      <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='1906' column='1'/>
       <!-- parameter of type 'long int*' -->
-      <parameter type-id='type-id-101' name='approx_before' filepath='src/rculfhash.c' line='1907' column='1'/>
+      <parameter type-id='type-id-100' name='approx_before' filepath='src/rculfhash.c' line='1907' column='1'/>
       <!-- parameter of type 'unsigned long int*' -->
-      <parameter type-id='type-id-103' name='count' filepath='src/rculfhash.c' line='1908' column='1'/>
+      <parameter type-id='type-id-101' name='count' filepath='src/rculfhash.c' line='1908' column='1'/>
       <!-- parameter of type 'long int*' -->
-      <parameter type-id='type-id-101' name='approx_after' filepath='src/rculfhash.c' line='1909' column='1'/>
+      <parameter type-id='type-id-100' name='approx_after' filepath='src/rculfhash.c' line='1909' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
+    <!-- pthread_attr_t** -->
+    <pointer-type-def type-id='type-id-63' size-in-bits='64' id='type-id-102'/>
     <!-- int cds_lfht_destroy(cds_lfht*, pthread_attr_t**) -->
     <function-decl name='cds_lfht_destroy' mangled-name='cds_lfht_destroy' filepath='src/rculfhash.c' line='1881' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_destroy'>
       <!-- parameter of type 'cds_lfht*' -->
-      <parameter type-id='type-id-91' name='ht' filepath='src/rculfhash.c' line='1881' column='1'/>
+      <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='1881' column='1'/>
       <!-- parameter of type 'pthread_attr_t**' -->
       <parameter type-id='type-id-102' name='attr' filepath='src/rculfhash.c' line='1881' column='1'/>
       <!-- int -->
-      <return type-id='type-id-1'/>
+      <return type-id='type-id-3'/>
     </function-decl>
+    <!-- const cds_lfht_node -->
+    <qualified-type-def type-id='type-id-73' const='yes' id='type-id-103'/>
+    <!-- const cds_lfht_node* -->
+    <pointer-type-def type-id='type-id-103' size-in-bits='64' id='type-id-104'/>
     <!-- int cds_lfht_is_node_deleted(const cds_lfht_node*) -->
     <function-decl name='cds_lfht_is_node_deleted' mangled-name='cds_lfht_is_node_deleted' filepath='src/rculfhash.c' line='1838' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_is_node_deleted'>
       <!-- parameter of type 'const cds_lfht_node*' -->
-      <parameter type-id='type-id-97' name='node' filepath='src/rculfhash.c' line='1838' column='1'/>
+      <parameter type-id='type-id-104' name='node' filepath='src/rculfhash.c' line='1838' column='1'/>
       <!-- int -->
-      <return type-id='type-id-1'/>
+      <return type-id='type-id-3'/>
     </function-decl>
     <!-- int cds_lfht_del(cds_lfht*, cds_lfht_node*) -->
     <function-decl name='cds_lfht_del' mangled-name='cds_lfht_del' filepath='src/rculfhash.c' line='1822' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_del'>
       <!-- parameter of type 'cds_lfht*' -->
-      <parameter type-id='type-id-91' name='ht' filepath='src/rculfhash.c' line='1822' column='1'/>
+      <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='1822' column='1'/>
       <!-- parameter of type 'cds_lfht_node*' -->
-      <parameter type-id='type-id-60' name='node' filepath='src/rculfhash.c' line='1822' column='1'/>
+      <parameter type-id='type-id-74' name='node' filepath='src/rculfhash.c' line='1822' column='1'/>
       <!-- int -->
-      <return type-id='type-id-1'/>
+      <return type-id='type-id-3'/>
     </function-decl>
+    <!-- struct cds_lfht_iter -->
+    <class-decl name='cds_lfht_iter' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/rculfhash.h' line='69' column='1' id='type-id-105'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_lfht_node* cds_lfht_iter::node -->
+        <var-decl name='node' type-id='type-id-74' visibility='default' filepath='../include/urcu/rculfhash.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- cds_lfht_node* cds_lfht_iter::next -->
+        <var-decl name='next' type-id='type-id-74' visibility='default' filepath='../include/urcu/rculfhash.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- cds_lfht_iter* -->
+    <pointer-type-def type-id='type-id-105' size-in-bits='64' id='type-id-106'/>
+    <!-- int (cds_lfht_node*, void*)* -->
+    <pointer-type-def type-id='type-id-107' size-in-bits='64' id='type-id-108'/>
+    <!-- typedef int (cds_lfht_node*, void*)* cds_lfht_match_fct -->
+    <typedef-decl name='cds_lfht_match_fct' type-id='type-id-108' filepath='../include/urcu/rculfhash.h' line='98' column='1' id='type-id-109'/>
     <!-- int cds_lfht_replace(cds_lfht*, cds_lfht_iter*, unsigned long int, cds_lfht_match_fct, void*, cds_lfht_node*) -->
     <function-decl name='cds_lfht_replace' mangled-name='cds_lfht_replace' filepath='src/rculfhash.c' line='1801' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_replace'>
       <!-- parameter of type 'cds_lfht*' -->
-      <parameter type-id='type-id-91' name='ht' filepath='src/rculfhash.c' line='1801' column='1'/>
+      <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='1801' column='1'/>
       <!-- parameter of type 'cds_lfht_iter*' -->
-      <parameter type-id='type-id-93' name='old_iter' filepath='src/rculfhash.c' line='1802' column='1'/>
+      <parameter type-id='type-id-106' name='old_iter' filepath='src/rculfhash.c' line='1802' column='1'/>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-22' name='hash' filepath='src/rculfhash.c' line='1803' column='1'/>
+      <parameter type-id='type-id-39' name='hash' filepath='src/rculfhash.c' line='1803' column='1'/>
       <!-- parameter of type 'typedef cds_lfht_match_fct' -->
-      <parameter type-id='type-id-90' name='match' filepath='src/rculfhash.c' line='1804' column='1'/>
+      <parameter type-id='type-id-109' name='match' filepath='src/rculfhash.c' line='1804' column='1'/>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-48' name='key' filepath='src/rculfhash.c' line='1805' column='1'/>
       <!-- parameter of type 'cds_lfht_node*' -->
-      <parameter type-id='type-id-60' name='new_node' filepath='src/rculfhash.c' line='1806' column='1'/>
+      <parameter type-id='type-id-74' name='new_node' filepath='src/rculfhash.c' line='1806' column='1'/>
       <!-- int -->
-      <return type-id='type-id-1'/>
+      <return type-id='type-id-3'/>
     </function-decl>
     <!-- cds_lfht_node* cds_lfht_add_replace(cds_lfht*, unsigned long int, cds_lfht_match_fct, void*, cds_lfht_node*) -->
     <function-decl name='cds_lfht_add_replace' mangled-name='cds_lfht_add_replace' filepath='src/rculfhash.c' line='1778' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_add_replace'>
       <!-- parameter of type 'cds_lfht*' -->
-      <parameter type-id='type-id-91' name='ht' filepath='src/rculfhash.c' line='1778' column='1'/>
+      <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='1778' column='1'/>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-22' name='hash' filepath='src/rculfhash.c' line='1779' column='1'/>
+      <parameter type-id='type-id-39' name='hash' filepath='src/rculfhash.c' line='1779' column='1'/>
       <!-- parameter of type 'typedef cds_lfht_match_fct' -->
-      <parameter type-id='type-id-90' name='match' filepath='src/rculfhash.c' line='1780' column='1'/>
+      <parameter type-id='type-id-109' name='match' filepath='src/rculfhash.c' line='1780' column='1'/>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-48' name='key' filepath='src/rculfhash.c' line='1781' column='1'/>
       <!-- parameter of type 'cds_lfht_node*' -->
-      <parameter type-id='type-id-60' name='node' filepath='src/rculfhash.c' line='1782' column='1'/>
+      <parameter type-id='type-id-74' name='node' filepath='src/rculfhash.c' line='1782' column='1'/>
       <!-- cds_lfht_node* -->
-      <return type-id='type-id-60'/>
+      <return type-id='type-id-74'/>
     </function-decl>
     <!-- cds_lfht_node* cds_lfht_add_unique(cds_lfht*, unsigned long int, cds_lfht_match_fct, void*, cds_lfht_node*) -->
     <function-decl name='cds_lfht_add_unique' mangled-name='cds_lfht_add_unique' filepath='src/rculfhash.c' line='1761' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_add_unique'>
       <!-- parameter of type 'cds_lfht*' -->
-      <parameter type-id='type-id-91' name='ht' filepath='src/rculfhash.c' line='1761' column='1'/>
+      <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='1778' column='1'/>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-22' name='hash' filepath='src/rculfhash.c' line='1762' column='1'/>
+      <parameter type-id='type-id-39' name='hash' filepath='src/rculfhash.c' line='1779' column='1'/>
       <!-- parameter of type 'typedef cds_lfht_match_fct' -->
-      <parameter type-id='type-id-90' name='match' filepath='src/rculfhash.c' line='1763' column='1'/>
+      <parameter type-id='type-id-109' name='match' filepath='src/rculfhash.c' line='1780' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-48' name='key' filepath='src/rculfhash.c' line='1764' column='1'/>
+      <parameter type-id='type-id-48' name='key' filepath='src/rculfhash.c' line='1781' column='1'/>
       <!-- parameter of type 'cds_lfht_node*' -->
-      <parameter type-id='type-id-60' name='node' filepath='src/rculfhash.c' line='1765' column='1'/>
+      <parameter type-id='type-id-74' name='node' filepath='src/rculfhash.c' line='1782' column='1'/>
       <!-- cds_lfht_node* -->
-      <return type-id='type-id-60'/>
+      <return type-id='type-id-74'/>
     </function-decl>
     <!-- void cds_lfht_add(cds_lfht*, unsigned long int, cds_lfht_node*) -->
     <function-decl name='cds_lfht_add' mangled-name='cds_lfht_add' filepath='src/rculfhash.c' line='1750' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_add'>
       <!-- parameter of type 'cds_lfht*' -->
-      <parameter type-id='type-id-91' name='ht' filepath='src/rculfhash.c' line='1750' column='1'/>
+      <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='1750' column='1'/>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-22' name='hash' filepath='src/rculfhash.c' line='1750' column='1'/>
+      <parameter type-id='type-id-39' name='hash' filepath='src/rculfhash.c' line='1750' column='1'/>
       <!-- parameter of type 'cds_lfht_node*' -->
-      <parameter type-id='type-id-60' name='node' filepath='src/rculfhash.c' line='1751' column='1'/>
+      <parameter type-id='type-id-74' name='node' filepath='src/rculfhash.c' line='1751' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- void cds_lfht_first(cds_lfht*, cds_lfht_iter*) -->
     <function-decl name='cds_lfht_first' mangled-name='cds_lfht_first' filepath='src/rculfhash.c' line='1739' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_first'>
       <!-- parameter of type 'cds_lfht*' -->
-      <parameter type-id='type-id-91' name='ht' filepath='src/rculfhash.c' line='1739' column='1'/>
+      <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='1739' column='1'/>
       <!-- parameter of type 'cds_lfht_iter*' -->
-      <parameter type-id='type-id-93' name='iter' filepath='src/rculfhash.c' line='1739' column='1'/>
+      <parameter type-id='type-id-106' name='iter' filepath='src/rculfhash.c' line='1739' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- void cds_lfht_next(cds_lfht*, cds_lfht_iter*) -->
     <function-decl name='cds_lfht_next' mangled-name='cds_lfht_next' filepath='src/rculfhash.c' line='1715' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_next'>
       <!-- parameter of type 'cds_lfht*' -->
-      <parameter type-id='type-id-91' name='ht' filepath='src/rculfhash.c' line='1715' column='1'/>
+      <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='1715' column='1'/>
       <!-- parameter of type 'cds_lfht_iter*' -->
-      <parameter type-id='type-id-93' name='iter' filepath='src/rculfhash.c' line='1716' column='1'/>
+      <parameter type-id='type-id-106' name='iter' filepath='src/rculfhash.c' line='1716' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- void cds_lfht_next_duplicate(cds_lfht*, cds_lfht_match_fct, void*, cds_lfht_iter*) -->
     <function-decl name='cds_lfht_next_duplicate' mangled-name='cds_lfht_next_duplicate' filepath='src/rculfhash.c' line='1680' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_next_duplicate'>
       <!-- parameter of type 'cds_lfht*' -->
-      <parameter type-id='type-id-91' name='ht' filepath='src/rculfhash.c' line='1680' column='1'/>
+      <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='1680' column='1'/>
       <!-- parameter of type 'typedef cds_lfht_match_fct' -->
-      <parameter type-id='type-id-90' name='match' filepath='src/rculfhash.c' line='1681' column='1'/>
+      <parameter type-id='type-id-109' name='match' filepath='src/rculfhash.c' line='1681' column='1'/>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-48' name='key' filepath='src/rculfhash.c' line='1682' column='1'/>
       <!-- parameter of type 'cds_lfht_iter*' -->
-      <parameter type-id='type-id-93' name='iter' filepath='src/rculfhash.c' line='1682' column='1'/>
+      <parameter type-id='type-id-106' name='iter' filepath='src/rculfhash.c' line='1682' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- void cds_lfht_lookup(cds_lfht*, unsigned long int, cds_lfht_match_fct, void*, cds_lfht_iter*) -->
     <function-decl name='cds_lfht_lookup' mangled-name='cds_lfht_lookup' filepath='src/rculfhash.c' line='1640' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_lookup'>
       <!-- parameter of type 'cds_lfht*' -->
-      <parameter type-id='type-id-91' name='ht' filepath='src/rculfhash.c' line='1640' column='1'/>
+      <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='1640' column='1'/>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-22' name='hash' filepath='src/rculfhash.c' line='1640' column='1'/>
+      <parameter type-id='type-id-39' name='hash' filepath='src/rculfhash.c' line='1640' column='1'/>
       <!-- parameter of type 'typedef cds_lfht_match_fct' -->
-      <parameter type-id='type-id-90' name='match' filepath='src/rculfhash.c' line='1641' column='1'/>
+      <parameter type-id='type-id-109' name='match' filepath='src/rculfhash.c' line='1641' column='1'/>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-48' name='key' filepath='src/rculfhash.c' line='1641' column='1'/>
       <!-- parameter of type 'cds_lfht_iter*' -->
-      <parameter type-id='type-id-93' name='iter' filepath='src/rculfhash.c' line='1642' column='1'/>
+      <parameter type-id='type-id-106' name='iter' filepath='src/rculfhash.c' line='1642' column='1'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-decl>
     <!-- cds_lfht* _cds_lfht_new(unsigned long int, unsigned long int, unsigned long int, int, const cds_lfht_mm_type*, const rcu_flavor_struct*, pthread_attr_t*) -->
     <function-decl name='_cds_lfht_new' mangled-name='_cds_lfht_new' filepath='src/rculfhash.c' line='1581' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_cds_lfht_new'>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-22' name='init_size' filepath='src/rculfhash.c' line='1581' column='1'/>
+      <parameter type-id='type-id-39' name='init_size' filepath='src/rculfhash.c' line='1581' column='1'/>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-22' name='min_nr_alloc_buckets' filepath='src/rculfhash.c' line='1582' column='1'/>
+      <parameter type-id='type-id-39' name='min_nr_alloc_buckets' filepath='src/rculfhash.c' line='1582' column='1'/>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-22' name='max_nr_buckets' filepath='src/rculfhash.c' line='1583' column='1'/>
+      <parameter type-id='type-id-39' name='max_nr_buckets' filepath='src/rculfhash.c' line='1583' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-1' name='flags' filepath='src/rculfhash.c' line='1584' column='1'/>
+      <parameter type-id='type-id-3' name='flags' filepath='src/rculfhash.c' line='1584' column='1'/>
       <!-- parameter of type 'const cds_lfht_mm_type*' -->
-      <parameter type-id='type-id-68' name='mm' filepath='src/rculfhash.c' line='1585' column='1'/>
+      <parameter type-id='type-id-61' name='mm' filepath='src/rculfhash.c' line='1585' column='1'/>
       <!-- parameter of type 'const rcu_flavor_struct*' -->
-      <parameter type-id='type-id-69' name='flavor' filepath='src/rculfhash.c' line='1586' column='1'/>
+      <parameter type-id='type-id-62' name='flavor' filepath='src/rculfhash.c' line='1586' column='1'/>
       <!-- parameter of type 'pthread_attr_t*' -->
-      <parameter type-id='type-id-70' name='attr' filepath='src/rculfhash.c' line='1587' column='1'/>
+      <parameter type-id='type-id-63' name='attr' filepath='src/rculfhash.c' line='1587' column='1'/>
       <!-- cds_lfht* -->
-      <return type-id='type-id-91'/>
+      <return type-id='type-id-70'/>
     </function-decl>
     <!-- int cds_lfht_get_count_order_ulong(unsigned long int) -->
     <function-decl name='cds_lfht_get_count_order_ulong' mangled-name='cds_lfht_get_count_order_ulong' filepath='src/rculfhash.c' line='598' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_get_count_order_ulong'>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-22' name='x' filepath='src/rculfhash.c' line='598' column='1'/>
+      <parameter type-id='type-id-39' name='x' filepath='src/rculfhash.c' line='598' column='1'/>
       <!-- int -->
-      <return type-id='type-id-1'/>
+      <return type-id='type-id-3'/>
     </function-decl>
     <!-- unsigned int cds_lfht_fls_ulong(unsigned long int) -->
     <function-decl name='cds_lfht_fls_ulong' mangled-name='cds_lfht_fls_ulong' filepath='src/rculfhash.c' line='572' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_fls_ulong'>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-22' name='x' filepath='src/rculfhash.c' line='572' column='1'/>
+      <parameter type-id='type-id-39' name='x' filepath='src/rculfhash.c' line='572' column='1'/>
       <!-- unsigned int -->
-      <return type-id='type-id-26'/>
+      <return type-id='type-id-33'/>
     </function-decl>
     <!-- cds_lfht* (unsigned long int, unsigned long int) -->
-    <function-type size-in-bits='64' id='type-id-92'>
+    <function-type size-in-bits='64' id='type-id-71'>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-22'/>
+      <parameter type-id='type-id-39'/>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-22'/>
+      <parameter type-id='type-id-39'/>
       <!-- cds_lfht* -->
-      <return type-id='type-id-91'/>
+      <return type-id='type-id-70'/>
     </function-type>
     <!-- cds_lfht_node* (cds_lfht*, unsigned long int) -->
-    <function-type size-in-bits='64' id='type-id-94'>
+    <function-type size-in-bits='64' id='type-id-75'>
       <!-- parameter of type 'cds_lfht*' -->
-      <parameter type-id='type-id-91'/>
+      <parameter type-id='type-id-70'/>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-22'/>
+      <parameter type-id='type-id-39'/>
       <!-- cds_lfht_node* -->
-      <return type-id='type-id-60'/>
+      <return type-id='type-id-74'/>
     </function-type>
     <!-- int () -->
-    <function-type size-in-bits='64' id='type-id-99'>
+    <function-type size-in-bits='64' id='type-id-83'>
       <!-- int -->
-      <return type-id='type-id-1'/>
+      <return type-id='type-id-3'/>
     </function-type>
     <!-- int (cds_lfht_node*, void*) -->
-    <function-type size-in-bits='64' id='type-id-100'>
+    <function-type size-in-bits='64' id='type-id-107'>
       <!-- parameter of type 'cds_lfht_node*' -->
-      <parameter type-id='type-id-60'/>
+      <parameter type-id='type-id-74'/>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-48'/>
       <!-- int -->
-      <return type-id='type-id-1'/>
+      <return type-id='type-id-3'/>
     </function-type>
     <!-- void () -->
-    <function-type size-in-bits='64' id='type-id-105'>
+    <function-type size-in-bits='64' id='type-id-82'>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-type>
     <!-- void (cds_lfht*, unsigned long int) -->
-    <function-type size-in-bits='64' id='type-id-106'>
+    <function-type size-in-bits='64' id='type-id-72'>
       <!-- parameter of type 'cds_lfht*' -->
-      <parameter type-id='type-id-91' name='ht'/>
+      <parameter type-id='type-id-70'/>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-22' name='new_size'/>
+      <parameter type-id='type-id-39'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-type>
     <!-- void (urcu_atfork*) -->
-    <function-type size-in-bits='64' id='type-id-107'>
+    <function-type size-in-bits='64' id='type-id-89'>
       <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-104'/>
+      <parameter type-id='type-id-88'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-type>
     <!-- void (void (void*)*, void*) -->
-    <function-type size-in-bits='64' id='type-id-108'>
+    <function-type size-in-bits='64' id='type-id-86'>
       <!-- parameter of type 'void (void*)*' -->
-      <parameter type-id='type-id-84'/>
+      <parameter type-id='type-id-85'/>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-48'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-type>
     <!-- void (void*) -->
-    <function-type size-in-bits='64' id='type-id-109'>
+    <function-type size-in-bits='64' id='type-id-84'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-48'/>
       <!-- void -->
-      <return type-id='type-id-2'/>
+      <return type-id='type-id-6'/>
     </function-type>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='rculfhash-mm-order.c' comp-dir-path='src' language='LANG_C99'>
     <!-- const cds_lfht_mm_type cds_lfht_mm_order -->
-    <var-decl name='cds_lfht_mm_order' type-id='type-id-95' mangled-name='cds_lfht_mm_order' visibility='default' filepath='../include/urcu/rculfhash.h' line='129' column='1' elf-symbol-id='cds_lfht_mm_order'/>
+    <var-decl name='cds_lfht_mm_order' type-id='type-id-76' mangled-name='cds_lfht_mm_order' visibility='default' filepath='../include/urcu/rculfhash.h' line='129' column='1' elf-symbol-id='cds_lfht_mm_order'/>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='rculfhash-mm-chunk.c' comp-dir-path='src' language='LANG_C99'>
     <!-- const cds_lfht_mm_type cds_lfht_mm_chunk -->
-    <var-decl name='cds_lfht_mm_chunk' type-id='type-id-95' mangled-name='cds_lfht_mm_chunk' visibility='default' filepath='../include/urcu/rculfhash.h' line='130' column='1' elf-symbol-id='cds_lfht_mm_chunk'/>
+    <var-decl name='cds_lfht_mm_chunk' type-id='type-id-76' mangled-name='cds_lfht_mm_chunk' visibility='default' filepath='../include/urcu/rculfhash.h' line='130' column='1' elf-symbol-id='cds_lfht_mm_chunk'/>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='rculfhash-mm-mmap.c' comp-dir-path='src' language='LANG_C99'>
     <!-- const cds_lfht_mm_type cds_lfht_mm_mmap -->
-    <var-decl name='cds_lfht_mm_mmap' type-id='type-id-95' mangled-name='cds_lfht_mm_mmap' visibility='default' filepath='../include/urcu/rculfhash.h' line='131' column='1' elf-symbol-id='cds_lfht_mm_mmap'/>
+    <var-decl name='cds_lfht_mm_mmap' type-id='type-id-76' mangled-name='cds_lfht_mm_mmap' visibility='default' filepath='../include/urcu/rculfhash.h' line='131' column='1' elf-symbol-id='cds_lfht_mm_mmap'/>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='compat_futex.c' comp-dir-path='src' language='LANG_C99'>
-
-
-    <!-- char[48] -->
-    <array-type-def dimensions='1' type-id='type-id-20' size-in-bits='384' id='type-id-110'>
-      <!-- <anonymous range>[48] -->
-      <subrange length='48' type-id='type-id-22' id='type-id-111'/>
-
-    </array-type-def>
-    <!-- long long int -->
-    <type-decl name='long long int' size-in-bits='64' id='type-id-112'/>
-    <!-- long long unsigned int -->
-    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-113'/>
-    <!-- unsigned int[2] -->
-    <array-type-def dimensions='1' type-id='type-id-26' size-in-bits='64' id='type-id-114'>
-      <!-- <anonymous range>[2] -->
-      <subrange length='2' type-id='type-id-22' id='type-id-115'/>
-
-    </array-type-def>
-    <!-- typedef __anonymous_union__ pthread_cond_t -->
-    <typedef-decl name='pthread_cond_t' type-id='type-id-116' filepath='/usr/include/bits/pthreadtypes.h' line='80' column='1' id='type-id-117'/>
-    <!-- union {__pthread_cond_s __data; char __size[48]; long long int __align;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='75' column='1' id='type-id-116'>
+    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
+    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-28' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='75' column='1' id='type-id-110'>
       <data-member access='private'>
-        <!-- __pthread_cond_s __data -->
-        <var-decl name='__data' type-id='type-id-118' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='77' column='1'/>
+        <!-- __pthread_cond_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-111' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='77' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- char __size[48] -->
-        <var-decl name='__size' type-id='type-id-110' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='78' column='1'/>
+        <!-- char __anonymous_union__::__size[48] -->
+        <var-decl name='__size' type-id='type-id-112' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='78' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- long long int __align -->
-        <var-decl name='__align' type-id='type-id-112' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='79' column='1'/>
+        <!-- long long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-113' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='79' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __pthread_cond_s -->
-    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='92' column='1' id='type-id-118'>
+    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='171' column='1' id='type-id-111'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <!-- union {long long unsigned int __wseq; struct {unsigned int __low; unsigned int __high;} __wseq32;} -->
-        <var-decl name='' type-id='type-id-119' visibility='default'/>
+        <!-- __anonymous_union__  -->
+        <var-decl name='' type-id='type-id-114' visibility='default'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- unsigned int __pthread_cond_s::__g_refs[2] -->
-        <var-decl name='__g_refs' type-id='type-id-114' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='112' column='1'/>
+        <var-decl name='__g_refs' type-id='type-id-115' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='191' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- unsigned int __pthread_cond_s::__g_size[2] -->
-        <var-decl name='__g_size' type-id='type-id-114' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='113' column='1'/>
+        <var-decl name='__g_size' type-id='type-id-115' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='192' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- unsigned int __pthread_cond_s::__g1_orig_size -->
-        <var-decl name='__g1_orig_size' type-id='type-id-26' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='114' column='1'/>
+        <var-decl name='__g1_orig_size' type-id='type-id-33' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='193' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='288'>
         <!-- unsigned int __pthread_cond_s::__wrefs -->
-        <var-decl name='__wrefs' type-id='type-id-26' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='115' column='1'/>
+        <var-decl name='__wrefs' type-id='type-id-33' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='194' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
         <!-- unsigned int __pthread_cond_s::__g_signals[2] -->
-        <var-decl name='__g_signals' type-id='type-id-114' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='116' column='1'/>
+        <var-decl name='__g_signals' type-id='type-id-115' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='195' column='1'/>
       </data-member>
     </class-decl>
-    <!-- union {long long unsigned int __wseq; struct {unsigned int __low; unsigned int __high;} __wseq32;} -->
-    <union-decl name='__anonymous_union__1' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='94' column='1' id='type-id-119'>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='173' column='1' id='type-id-114'>
       <data-member access='private'>
-        <!-- long long unsigned int __wseq -->
-        <var-decl name='__wseq' type-id='type-id-113' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='96' column='1'/>
+        <!-- long long unsigned int __anonymous_union__::__wseq -->
+        <var-decl name='__wseq' type-id='type-id-116' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='175' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- struct {unsigned int __low; unsigned int __high;} __wseq32 -->
-        <var-decl name='__wseq32' type-id='type-id-120' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='101' column='1'/>
+        <!-- __anonymous_struct__ __anonymous_union__::__wseq32 -->
+        <var-decl name='__wseq32' type-id='type-id-117' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='180' column='1'/>
       </data-member>
     </union-decl>
-    <!-- struct {unsigned int __low; unsigned int __high;} -->
-    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='97' column='1' id='type-id-120'>
+    <!-- long long unsigned int -->
+    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-116'/>
+    <!-- struct __anonymous_struct__ -->
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='176' column='1' id='type-id-117'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <!-- unsigned int __low -->
-        <var-decl name='__low' type-id='type-id-26' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='99' column='1'/>
+        <!-- unsigned int __anonymous_struct__::__low -->
+        <var-decl name='__low' type-id='type-id-33' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='178' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='32'>
-        <!-- unsigned int __high -->
-        <var-decl name='__high' type-id='type-id-26' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='100' column='1'/>
+        <!-- unsigned int __anonymous_struct__::__high -->
+        <var-decl name='__high' type-id='type-id-33' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='179' column='1'/>
       </data-member>
     </class-decl>
+
+    <!-- unsigned int[2] -->
+    <array-type-def dimensions='1' type-id='type-id-33' size-in-bits='64' id='type-id-115'>
+      <!-- <anonymous range>[2] -->
+      <subrange length='2' type-id='type-id-39' id='type-id-118'/>
+
+    </array-type-def>
+
+    <!-- char[48] -->
+    <array-type-def dimensions='1' type-id='type-id-38' size-in-bits='384' id='type-id-112'>
+      <!-- <anonymous range>[48] -->
+      <subrange length='48' type-id='type-id-39' id='type-id-119'/>
+
+    </array-type-def>
+    <!-- long long int -->
+    <type-decl name='long long int' size-in-bits='64' id='type-id-113'/>
+    <!-- typedef __anonymous_union__ pthread_cond_t -->
+    <typedef-decl name='pthread_cond_t' type-id='type-id-110' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='80' column='1' id='type-id-120'/>
+    <!-- pthread_cond_t __urcu_compat_futex_cond -->
+    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-120' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
+    <!-- int32_t* -->
+    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-121'/>
     <!-- struct timespec -->
-    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='10' column='1' id='type-id-121'>
+    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='9' column='1' id='type-id-122'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- __time_t timespec::tv_sec -->
-        <var-decl name='tv_sec' type-id='type-id-122' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='12' column='1'/>
+        <var-decl name='tv_sec' type-id='type-id-123' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='11' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- __syscall_slong_t timespec::tv_nsec -->
-        <var-decl name='tv_nsec' type-id='type-id-123' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='16' column='1'/>
+        <var-decl name='tv_nsec' type-id='type-id-124' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='12' column='1'/>
       </data-member>
     </class-decl>
     <!-- typedef long int __time_t -->
-    <typedef-decl name='__time_t' type-id='type-id-24' filepath='/usr/include/bits/types.h' line='160' column='1' id='type-id-122'/>
+    <typedef-decl name='__time_t' type-id='type-id-32' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='148' column='1' id='type-id-123'/>
     <!-- typedef long int __syscall_slong_t -->
-    <typedef-decl name='__syscall_slong_t' type-id='type-id-24' filepath='/usr/include/bits/types.h' line='197' column='1' id='type-id-123'/>
+    <typedef-decl name='__syscall_slong_t' type-id='type-id-32' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='184' column='1' id='type-id-124'/>
     <!-- const timespec -->
-    <qualified-type-def type-id='type-id-121' const='yes' id='type-id-124'/>
+    <qualified-type-def type-id='type-id-122' const='yes' id='type-id-125'/>
     <!-- const timespec* -->
-    <pointer-type-def type-id='type-id-124' size-in-bits='64' id='type-id-125'/>
-    <!-- int32_t* -->
-    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-126'/>
-    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
-    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-37' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
-    <!-- pthread_cond_t __urcu_compat_futex_cond -->
-    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-117' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
+    <pointer-type-def type-id='type-id-125' size-in-bits='64' id='type-id-126'/>
     <!-- int compat_futex_async(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
     <function-decl name='compat_futex_async' mangled-name='compat_futex_async' filepath='src/compat_futex.c' line='118' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_async'>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-126' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-121' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-1' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-3' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
       <parameter type-id='type-id-46' name='val' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'const timespec*' -->
-      <parameter type-id='type-id-125' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-126' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-126' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-121' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
       <parameter type-id='type-id-46' name='val3' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- int -->
-      <return type-id='type-id-1'/>
+      <return type-id='type-id-3'/>
     </function-decl>
     <!-- int compat_futex_noasync(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
     <function-decl name='compat_futex_noasync' mangled-name='compat_futex_noasync' filepath='src/compat_futex.c' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_noasync'>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-126' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-121' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-1' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-3' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
       <parameter type-id='type-id-46' name='val' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'const timespec*' -->
-      <parameter type-id='type-id-125' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-126' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-126' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-121' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
       <parameter type-id='type-id-46' name='val3' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- int -->
-      <return type-id='type-id-1'/>
+      <return type-id='type-id-3'/>
     </function-decl>
   </abi-instr>
 </abi-corpus>
index 4b9f91647220be2678553e9f90cd3426868b3259..ed2a046da8556582f3f536883221c41490482405 100644 (file)
     <elf-symbol name='__cds_wfs_pop_with_state_blocking' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- __cds_wfs_pop_with_state_nonblocking -->
     <elf-symbol name='__cds_wfs_pop_with_state_nonblocking' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- _fini -->
+    <elf-symbol name='_fini' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- _init -->
+    <elf-symbol name='_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- cds_wfcq_dequeue_blocking -->
     <elf-symbol name='cds_wfcq_dequeue_blocking' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- cds_wfcq_dequeue_lock -->
     <elf-symbol name='__urcu_compat_futex_lock' size='40' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
   </elf-variable-symbols>
   <abi-instr version='1.0' address-size='64' path='wfqueue.c' comp-dir-path='src' language='LANG_C99'>
-
-    <!-- char -->
-    <type-decl name='char' size-in-bits='8' id='type-id-1'/>
-    <!-- char[40] -->
-    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='320' id='type-id-2'>
-      <!-- <anonymous range>[40] -->
-      <subrange length='40' type-id='type-id-3' id='type-id-4'/>
-
-    </array-type-def>
-    <!-- int -->
-    <type-decl name='int' size-in-bits='32' id='type-id-5'/>
-    <!-- long int -->
-    <type-decl name='long int' size-in-bits='64' id='type-id-6'/>
-    <!-- short int -->
-    <type-decl name='short int' size-in-bits='16' id='type-id-7'/>
-    <!-- unsigned int -->
-    <type-decl name='unsigned int' size-in-bits='32' id='type-id-8'/>
-    <!-- unsigned long int -->
-    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-3'/>
-    <!-- void -->
-    <type-decl name='void' id='type-id-9'/>
     <!-- struct cds_wfq_node -->
-    <class-decl name='cds_wfq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfqueue.h' line='48' column='1' id='type-id-10'>
+    <class-decl name='cds_wfq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfqueue.h' line='48' column='1' id='type-id-1'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfq_node* cds_wfq_node::next -->
-        <var-decl name='next' type-id='type-id-11' visibility='default' filepath='../include/urcu/wfqueue.h' line='49' column='1'/>
+        <var-decl name='next' type-id='type-id-2' visibility='default' filepath='../include/urcu/wfqueue.h' line='49' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_wfq_node* -->
+    <pointer-type-def type-id='type-id-1' size-in-bits='64' id='type-id-2'/>
     <!-- struct cds_wfq_queue -->
-    <class-decl name='cds_wfq_queue' size-in-bits='512' is-struct='yes' visibility='default' filepath='../include/urcu/wfqueue.h' line='52' column='1' id='type-id-12'>
+    <class-decl name='cds_wfq_queue' size-in-bits='512' is-struct='yes' visibility='default' filepath='../include/urcu/wfqueue.h' line='52' column='1' id='type-id-3'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfq_node* cds_wfq_queue::head -->
-        <var-decl name='head' type-id='type-id-11' visibility='default' filepath='../include/urcu/wfqueue.h' line='53' column='1'/>
+        <var-decl name='head' type-id='type-id-2' visibility='default' filepath='../include/urcu/wfqueue.h' line='53' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- cds_wfq_node** cds_wfq_queue::tail -->
-        <var-decl name='tail' type-id='type-id-13' visibility='default' filepath='../include/urcu/wfqueue.h' line='53' column='1'/>
+        <var-decl name='tail' type-id='type-id-4' visibility='default' filepath='../include/urcu/wfqueue.h' line='53' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- cds_wfq_node cds_wfq_queue::dummy -->
-        <var-decl name='dummy' type-id='type-id-10' visibility='default' filepath='../include/urcu/wfqueue.h' line='54' column='1'/>
+        <var-decl name='dummy' type-id='type-id-1' visibility='default' filepath='../include/urcu/wfqueue.h' line='54' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- pthread_mutex_t cds_wfq_queue::lock -->
-        <var-decl name='lock' type-id='type-id-14' visibility='default' filepath='../include/urcu/wfqueue.h' line='55' column='1'/>
+        <var-decl name='lock' type-id='type-id-5' visibility='default' filepath='../include/urcu/wfqueue.h' line='55' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __anonymous_union__ pthread_mutex_t -->
-    <typedef-decl name='pthread_mutex_t' type-id='type-id-15' filepath='/usr/include/bits/pthreadtypes.h' line='72' column='1' id='type-id-14'/>
-    <!-- union {__pthread_mutex_s __data; char __size[40]; long int __align;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='67' column='1' id='type-id-15'>
+    <!-- cds_wfq_node** -->
+    <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-4'/>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='67' column='1' id='type-id-6'>
       <data-member access='private'>
-        <!-- __pthread_mutex_s __data -->
-        <var-decl name='__data' type-id='type-id-16' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='69' column='1'/>
+        <!-- __pthread_mutex_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-7' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='69' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- char __size[40] -->
-        <var-decl name='__size' type-id='type-id-2' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='70' column='1'/>
+        <!-- char __anonymous_union__::__size[40] -->
+        <var-decl name='__size' type-id='type-id-8' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='70' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- long int __align -->
-        <var-decl name='__align' type-id='type-id-6' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='71' column='1'/>
+        <!-- long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-9' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='71' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __pthread_mutex_s -->
-    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='22' column='1' id='type-id-16'>
+    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='118' column='1' id='type-id-7'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- int __pthread_mutex_s::__lock -->
-        <var-decl name='__lock' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='24' column='1'/>
+        <var-decl name='__lock' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='120' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='32'>
         <!-- unsigned int __pthread_mutex_s::__count -->
-        <var-decl name='__count' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='25' column='1'/>
+        <var-decl name='__count' type-id='type-id-11' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='121' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- int __pthread_mutex_s::__owner -->
-        <var-decl name='__owner' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='26' column='1'/>
+        <var-decl name='__owner' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='122' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='96'>
         <!-- unsigned int __pthread_mutex_s::__nusers -->
-        <var-decl name='__nusers' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='28' column='1'/>
+        <var-decl name='__nusers' type-id='type-id-11' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='124' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- int __pthread_mutex_s::__kind -->
-        <var-decl name='__kind' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='32' column='1'/>
+        <var-decl name='__kind' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='148' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='160'>
         <!-- short int __pthread_mutex_s::__spins -->
-        <var-decl name='__spins' type-id='type-id-7' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='34' column='1'/>
+        <var-decl name='__spins' type-id='type-id-12' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='176'>
         <!-- short int __pthread_mutex_s::__elision -->
-        <var-decl name='__elision' type-id='type-id-7' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='35' column='1'/>
+        <var-decl name='__elision' type-id='type-id-12' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- __pthread_list_t __pthread_mutex_s::__list -->
-        <var-decl name='__list' type-id='type-id-17' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='36' column='1'/>
+        <var-decl name='__list' type-id='type-id-13' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='155' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __pthread_internal_list __pthread_list_t -->
-    <typedef-decl name='__pthread_list_t' type-id='type-id-18' filepath='/usr/include/bits/thread-shared-types.h' line='53' column='1' id='type-id-17'/>
+    <!-- int -->
+    <type-decl name='int' size-in-bits='32' id='type-id-10'/>
+    <!-- unsigned int -->
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-11'/>
+    <!-- short int -->
+    <type-decl name='short int' size-in-bits='16' id='type-id-12'/>
     <!-- struct __pthread_internal_list -->
-    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='49' column='1' id='type-id-18'>
+    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='82' column='1' id='type-id-14'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- __pthread_internal_list* __pthread_internal_list::__prev -->
-        <var-decl name='__prev' type-id='type-id-19' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='51' column='1'/>
+        <var-decl name='__prev' type-id='type-id-15' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='84' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- __pthread_internal_list* __pthread_internal_list::__next -->
-        <var-decl name='__next' type-id='type-id-19' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='52' column='1'/>
+        <var-decl name='__next' type-id='type-id-15' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='85' column='1'/>
       </data-member>
     </class-decl>
     <!-- __pthread_internal_list* -->
-    <pointer-type-def type-id='type-id-18' size-in-bits='64' id='type-id-19'/>
-    <!-- cds_wfq_node* -->
-    <pointer-type-def type-id='type-id-10' size-in-bits='64' id='type-id-11'/>
-    <!-- cds_wfq_node** -->
-    <pointer-type-def type-id='type-id-11' size-in-bits='64' id='type-id-13'/>
+    <pointer-type-def type-id='type-id-14' size-in-bits='64' id='type-id-15'/>
+    <!-- typedef __pthread_internal_list __pthread_list_t -->
+    <typedef-decl name='__pthread_list_t' type-id='type-id-14' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='86' column='1' id='type-id-13'/>
+    <!-- char -->
+    <type-decl name='char' size-in-bits='8' id='type-id-16'/>
+    <!-- unsigned long int -->
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-17'/>
+
+    <!-- char[40] -->
+    <array-type-def dimensions='1' type-id='type-id-16' size-in-bits='320' id='type-id-8'>
+      <!-- <anonymous range>[40] -->
+      <subrange length='40' type-id='type-id-17' id='type-id-18'/>
+
+    </array-type-def>
+    <!-- long int -->
+    <type-decl name='long int' size-in-bits='64' id='type-id-9'/>
+    <!-- typedef __anonymous_union__ pthread_mutex_t -->
+    <typedef-decl name='pthread_mutex_t' type-id='type-id-6' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='72' column='1' id='type-id-5'/>
     <!-- cds_wfq_queue* -->
-    <pointer-type-def type-id='type-id-12' size-in-bits='64' id='type-id-20'/>
+    <pointer-type-def type-id='type-id-3' size-in-bits='64' id='type-id-19'/>
     <!-- cds_wfq_node* cds_wfq_dequeue_blocking(cds_wfq_queue*) -->
     <function-decl name='cds_wfq_dequeue_blocking' mangled-name='cds_wfq_dequeue_blocking' filepath='src/wfqueue.c' line='59' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfq_dequeue_blocking'>
       <!-- parameter of type 'cds_wfq_queue*' -->
-      <parameter type-id='type-id-20' name='q' filepath='src/wfqueue.c' line='59' column='1'/>
+      <parameter type-id='type-id-19' name='q' filepath='src/wfqueue.c' line='59' column='1'/>
       <!-- cds_wfq_node* -->
-      <return type-id='type-id-11'/>
+      <return type-id='type-id-2'/>
     </function-decl>
     <!-- cds_wfq_node* __cds_wfq_dequeue_blocking(cds_wfq_queue*) -->
     <function-decl name='__cds_wfq_dequeue_blocking' mangled-name='__cds_wfq_dequeue_blocking' filepath='src/wfqueue.c' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfq_dequeue_blocking'>
       <!-- parameter of type 'cds_wfq_queue*' -->
-      <parameter type-id='type-id-20' name='q' filepath='src/wfqueue.c' line='54' column='1'/>
+      <parameter type-id='type-id-19' name='q' filepath='src/wfqueue.c' line='59' column='1'/>
       <!-- cds_wfq_node* -->
-      <return type-id='type-id-11'/>
+      <return type-id='type-id-2'/>
     </function-decl>
+    <!-- void -->
+    <type-decl name='void' id='type-id-20'/>
     <!-- void cds_wfq_enqueue(cds_wfq_queue*, cds_wfq_node*) -->
     <function-decl name='cds_wfq_enqueue' mangled-name='cds_wfq_enqueue' filepath='src/wfqueue.c' line='49' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfq_enqueue'>
       <!-- parameter of type 'cds_wfq_queue*' -->
-      <parameter type-id='type-id-20' name='q' filepath='src/wfqueue.c' line='49' column='1'/>
+      <parameter type-id='type-id-19' name='q' filepath='src/wfqueue.c' line='49' column='1'/>
       <!-- parameter of type 'cds_wfq_node*' -->
-      <parameter type-id='type-id-11' name='node' filepath='src/wfqueue.c' line='49' column='1'/>
+      <parameter type-id='type-id-2' name='node' filepath='src/wfqueue.c' line='49' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-20'/>
     </function-decl>
     <!-- void cds_wfq_destroy(cds_wfq_queue*) -->
     <function-decl name='cds_wfq_destroy' mangled-name='cds_wfq_destroy' filepath='src/wfqueue.c' line='44' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfq_destroy'>
       <!-- parameter of type 'cds_wfq_queue*' -->
-      <parameter type-id='type-id-20' name='q' filepath='src/wfqueue.c' line='44' column='1'/>
+      <parameter type-id='type-id-19' name='q' filepath='src/wfqueue.c' line='44' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-20'/>
     </function-decl>
     <!-- void cds_wfq_init(cds_wfq_queue*) -->
     <function-decl name='cds_wfq_init' mangled-name='cds_wfq_init' filepath='src/wfqueue.c' line='39' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfq_init'>
       <!-- parameter of type 'cds_wfq_queue*' -->
-      <parameter type-id='type-id-20' name='q' filepath='src/wfqueue.c' line='39' column='1'/>
+      <parameter type-id='type-id-19' name='q' filepath='src/wfqueue.c' line='44' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-20'/>
     </function-decl>
     <!-- void cds_wfq_node_init(cds_wfq_node*) -->
     <function-decl name='cds_wfq_node_init' mangled-name='cds_wfq_node_init' filepath='src/wfqueue.c' line='34' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfq_node_init'>
       <!-- parameter of type 'cds_wfq_node*' -->
-      <parameter type-id='type-id-11' name='node' filepath='src/wfqueue.c' line='34' column='1'/>
+      <parameter type-id='type-id-2' name='node' filepath='src/wfqueue.c' line='34' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-20'/>
     </function-decl>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='wfcqueue.c' comp-dir-path='src' language='LANG_C99'>
-    <!-- bool -->
-    <type-decl name='bool' size-in-bits='8' id='type-id-21'/>
-    <!-- unnamed&#45;enum&#45;underlying&#45;type -->
-    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-22'/>
     <!-- struct cds_wfcq_node -->
-    <class-decl name='cds_wfcq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='59' column='1' id='type-id-23'>
+    <class-decl name='cds_wfcq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='59' column='1' id='type-id-21'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node* cds_wfcq_node::next -->
-        <var-decl name='next' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='60' column='1'/>
+        <var-decl name='next' type-id='type-id-22' visibility='default' filepath='../include/urcu/wfcqueue.h' line='60' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __anonymous_union__ cds_wfcq_head_ptr_t -->
-    <typedef-decl name='cds_wfcq_head_ptr_t' type-id='type-id-25' filepath='../include/urcu/wfcqueue.h' line='86' column='1' id='type-id-26'/>
-    <!-- union {__cds_wfcq_head* _h; cds_wfcq_head* h;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='83' column='1' id='type-id-25'>
+    <!-- cds_wfcq_node* -->
+    <pointer-type-def type-id='type-id-21' size-in-bits='64' id='type-id-22'/>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='83' column='1' id='type-id-23'>
       <data-member access='private'>
-        <!-- __cds_wfcq_head* _h -->
-        <var-decl name='_h' type-id='type-id-27' visibility='default' filepath='../include/urcu/wfcqueue.h' line='84' column='1'/>
+        <!-- __cds_wfcq_head* __anonymous_union__::_h -->
+        <var-decl name='_h' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='84' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- cds_wfcq_head* h -->
-        <var-decl name='h' type-id='type-id-28' visibility='default' filepath='../include/urcu/wfcqueue.h' line='85' column='1'/>
+        <!-- cds_wfcq_head* __anonymous_union__::h -->
+        <var-decl name='h' type-id='type-id-25' visibility='default' filepath='../include/urcu/wfcqueue.h' line='85' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __cds_wfcq_head -->
-    <class-decl name='__cds_wfcq_head' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='68' column='1' id='type-id-29'>
+    <class-decl name='__cds_wfcq_head' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='68' column='1' id='type-id-26'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node __cds_wfcq_head::node -->
-        <var-decl name='node' type-id='type-id-23' visibility='default' filepath='../include/urcu/wfcqueue.h' line='69' column='1'/>
+        <var-decl name='node' type-id='type-id-21' visibility='default' filepath='../include/urcu/wfcqueue.h' line='69' column='1'/>
       </data-member>
     </class-decl>
+    <!-- __cds_wfcq_head* -->
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-24'/>
     <!-- struct cds_wfcq_head -->
-    <class-decl name='cds_wfcq_head' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='72' column='1' id='type-id-30'>
+    <class-decl name='cds_wfcq_head' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='72' column='1' id='type-id-27'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node cds_wfcq_head::node -->
-        <var-decl name='node' type-id='type-id-23' visibility='default' filepath='../include/urcu/wfcqueue.h' line='73' column='1'/>
+        <var-decl name='node' type-id='type-id-21' visibility='default' filepath='../include/urcu/wfcqueue.h' line='73' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- pthread_mutex_t cds_wfcq_head::lock -->
-        <var-decl name='lock' type-id='type-id-14' visibility='default' filepath='../include/urcu/wfcqueue.h' line='74' column='1'/>
+        <var-decl name='lock' type-id='type-id-5' visibility='default' filepath='../include/urcu/wfcqueue.h' line='74' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_wfcq_head* -->
+    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-25'/>
+    <!-- typedef __anonymous_union__ cds_wfcq_head_ptr_t -->
+    <typedef-decl name='cds_wfcq_head_ptr_t' type-id='type-id-23' filepath='../include/urcu/wfcqueue.h' line='86' column='1' id='type-id-28'/>
     <!-- struct cds_wfcq_tail -->
-    <class-decl name='cds_wfcq_tail' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='127' column='1' id='type-id-31'>
+    <class-decl name='cds_wfcq_tail' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='127' column='1' id='type-id-29'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node* cds_wfcq_tail::p -->
-        <var-decl name='p' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='128' column='1'/>
+        <var-decl name='p' type-id='type-id-22' visibility='default' filepath='../include/urcu/wfcqueue.h' line='128' column='1'/>
       </data-member>
     </class-decl>
-    <!-- enum cds_wfcq_ret -->
-    <enum-decl name='cds_wfcq_ret' filepath='../include/urcu/wfcqueue.h' line='48' column='1' id='type-id-32'>
-      <underlying-type type-id='type-id-22'/>
-      <enumerator name='CDS_WFCQ_RET_WOULDBLOCK' value='-1'/>
-      <enumerator name='CDS_WFCQ_RET_DEST_EMPTY' value='0'/>
-      <enumerator name='CDS_WFCQ_RET_DEST_NON_EMPTY' value='1'/>
-      <enumerator name='CDS_WFCQ_RET_SRC_EMPTY' value='2'/>
-    </enum-decl>
-    <!-- __cds_wfcq_head* -->
-    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-27'/>
-    <!-- cds_wfcq_head* -->
-    <pointer-type-def type-id='type-id-30' size-in-bits='64' id='type-id-28'/>
-    <!-- cds_wfcq_node* -->
-    <pointer-type-def type-id='type-id-23' size-in-bits='64' id='type-id-24'/>
     <!-- cds_wfcq_tail* -->
-    <pointer-type-def type-id='type-id-31' size-in-bits='64' id='type-id-33'/>
-    <!-- int* -->
-    <pointer-type-def type-id='type-id-5' size-in-bits='64' id='type-id-34'/>
+    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-30'/>
     <!-- cds_wfcq_node* __cds_wfcq_next_nonblocking(cds_wfcq_head_ptr_t, cds_wfcq_tail*, cds_wfcq_node*) -->
     <function-decl name='__cds_wfcq_next_nonblocking' mangled-name='__cds_wfcq_next_nonblocking' filepath='src/wfcqueue.c' line='178' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfcq_next_nonblocking'>
       <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
-      <parameter type-id='type-id-26' name='head' filepath='src/wfcqueue.c' line='179' column='1'/>
+      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='179' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='tail' filepath='src/wfcqueue.c' line='180' column='1'/>
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='180' column='1'/>
       <!-- parameter of type 'cds_wfcq_node*' -->
-      <parameter type-id='type-id-24' name='node' filepath='src/wfcqueue.c' line='181' column='1'/>
+      <parameter type-id='type-id-22' name='node' filepath='src/wfcqueue.c' line='181' column='1'/>
       <!-- cds_wfcq_node* -->
-      <return type-id='type-id-24'/>
+      <return type-id='type-id-22'/>
     </function-decl>
     <!-- cds_wfcq_node* __cds_wfcq_next_blocking(cds_wfcq_head_ptr_t, cds_wfcq_tail*, cds_wfcq_node*) -->
     <function-decl name='__cds_wfcq_next_blocking' mangled-name='__cds_wfcq_next_blocking' filepath='src/wfcqueue.c' line='170' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfcq_next_blocking'>
       <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
-      <parameter type-id='type-id-26' name='head' filepath='src/wfcqueue.c' line='171' column='1'/>
+      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='179' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='tail' filepath='src/wfcqueue.c' line='172' column='1'/>
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='180' column='1'/>
       <!-- parameter of type 'cds_wfcq_node*' -->
-      <parameter type-id='type-id-24' name='node' filepath='src/wfcqueue.c' line='173' column='1'/>
+      <parameter type-id='type-id-22' name='node' filepath='src/wfcqueue.c' line='181' column='1'/>
       <!-- cds_wfcq_node* -->
-      <return type-id='type-id-24'/>
+      <return type-id='type-id-22'/>
     </function-decl>
     <!-- cds_wfcq_node* __cds_wfcq_first_nonblocking(cds_wfcq_head_ptr_t, cds_wfcq_tail*) -->
     <function-decl name='__cds_wfcq_first_nonblocking' mangled-name='__cds_wfcq_first_nonblocking' filepath='src/wfcqueue.c' line='163' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfcq_first_nonblocking'>
       <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
-      <parameter type-id='type-id-26' name='head' filepath='src/wfcqueue.c' line='164' column='1'/>
+      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='164' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='tail' filepath='src/wfcqueue.c' line='165' column='1'/>
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='165' column='1'/>
       <!-- cds_wfcq_node* -->
-      <return type-id='type-id-24'/>
+      <return type-id='type-id-22'/>
     </function-decl>
     <!-- cds_wfcq_node* __cds_wfcq_first_blocking(cds_wfcq_head_ptr_t, cds_wfcq_tail*) -->
     <function-decl name='__cds_wfcq_first_blocking' mangled-name='__cds_wfcq_first_blocking' filepath='src/wfcqueue.c' line='156' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfcq_first_blocking'>
       <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
-      <parameter type-id='type-id-26' name='head' filepath='src/wfcqueue.c' line='157' column='1'/>
+      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='164' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='tail' filepath='src/wfcqueue.c' line='158' column='1'/>
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='165' column='1'/>
       <!-- cds_wfcq_node* -->
-      <return type-id='type-id-24'/>
+      <return type-id='type-id-22'/>
     </function-decl>
+    <!-- unnamed&#45;enum&#45;underlying&#45;type -->
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-31'/>
+    <!-- enum cds_wfcq_ret -->
+    <enum-decl name='cds_wfcq_ret' filepath='../include/urcu/wfcqueue.h' line='48' column='1' id='type-id-32'>
+      <underlying-type type-id='type-id-31'/>
+      <enumerator name='CDS_WFCQ_RET_WOULDBLOCK' value='-1'/>
+      <enumerator name='CDS_WFCQ_RET_DEST_EMPTY' value='0'/>
+      <enumerator name='CDS_WFCQ_RET_DEST_NON_EMPTY' value='1'/>
+      <enumerator name='CDS_WFCQ_RET_SRC_EMPTY' value='2'/>
+    </enum-decl>
     <!-- cds_wfcq_ret __cds_wfcq_splice_nonblocking(cds_wfcq_head_ptr_t, cds_wfcq_tail*, cds_wfcq_head_ptr_t, cds_wfcq_tail*) -->
     <function-decl name='__cds_wfcq_splice_nonblocking' mangled-name='__cds_wfcq_splice_nonblocking' filepath='src/wfcqueue.c' line='146' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfcq_splice_nonblocking'>
       <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
-      <parameter type-id='type-id-26' name='dest_q_head' filepath='src/wfcqueue.c' line='147' column='1'/>
+      <parameter type-id='type-id-28' name='dest_q_head' filepath='src/wfcqueue.c' line='147' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='dest_q_tail' filepath='src/wfcqueue.c' line='148' column='1'/>
+      <parameter type-id='type-id-30' name='dest_q_tail' filepath='src/wfcqueue.c' line='148' column='1'/>
       <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
-      <parameter type-id='type-id-26' name='src_q_head' filepath='src/wfcqueue.c' line='149' column='1'/>
+      <parameter type-id='type-id-28' name='src_q_head' filepath='src/wfcqueue.c' line='149' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='src_q_tail' filepath='src/wfcqueue.c' line='150' column='1'/>
+      <parameter type-id='type-id-30' name='src_q_tail' filepath='src/wfcqueue.c' line='150' column='1'/>
       <!-- enum cds_wfcq_ret -->
       <return type-id='type-id-32'/>
     </function-decl>
     <!-- cds_wfcq_ret __cds_wfcq_splice_blocking(cds_wfcq_head_ptr_t, cds_wfcq_tail*, cds_wfcq_head_ptr_t, cds_wfcq_tail*) -->
     <function-decl name='__cds_wfcq_splice_blocking' mangled-name='__cds_wfcq_splice_blocking' filepath='src/wfcqueue.c' line='136' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfcq_splice_blocking'>
       <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
-      <parameter type-id='type-id-26' name='dest_q_head' filepath='src/wfcqueue.c' line='137' column='1'/>
+      <parameter type-id='type-id-28' name='dest_q_head' filepath='src/wfcqueue.c' line='147' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='dest_q_tail' filepath='src/wfcqueue.c' line='138' column='1'/>
+      <parameter type-id='type-id-30' name='dest_q_tail' filepath='src/wfcqueue.c' line='148' column='1'/>
       <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
-      <parameter type-id='type-id-26' name='src_q_head' filepath='src/wfcqueue.c' line='139' column='1'/>
+      <parameter type-id='type-id-28' name='src_q_head' filepath='src/wfcqueue.c' line='149' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='src_q_tail' filepath='src/wfcqueue.c' line='140' column='1'/>
+      <parameter type-id='type-id-30' name='src_q_tail' filepath='src/wfcqueue.c' line='150' column='1'/>
       <!-- enum cds_wfcq_ret -->
       <return type-id='type-id-32'/>
     </function-decl>
+    <!-- int* -->
+    <pointer-type-def type-id='type-id-10' size-in-bits='64' id='type-id-33'/>
     <!-- cds_wfcq_node* __cds_wfcq_dequeue_with_state_nonblocking(cds_wfcq_head_ptr_t, cds_wfcq_tail*, int*) -->
     <function-decl name='__cds_wfcq_dequeue_with_state_nonblocking' mangled-name='__cds_wfcq_dequeue_with_state_nonblocking' filepath='src/wfcqueue.c' line='128' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfcq_dequeue_with_state_nonblocking'>
       <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
-      <parameter type-id='type-id-26' name='head' filepath='src/wfcqueue.c' line='129' column='1'/>
+      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='129' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='tail' filepath='src/wfcqueue.c' line='130' column='1'/>
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='130' column='1'/>
       <!-- parameter of type 'int*' -->
-      <parameter type-id='type-id-34' name='state' filepath='src/wfcqueue.c' line='131' column='1'/>
+      <parameter type-id='type-id-33' name='state' filepath='src/wfcqueue.c' line='131' column='1'/>
       <!-- cds_wfcq_node* -->
-      <return type-id='type-id-24'/>
+      <return type-id='type-id-22'/>
     </function-decl>
     <!-- cds_wfcq_node* __cds_wfcq_dequeue_nonblocking(cds_wfcq_head_ptr_t, cds_wfcq_tail*) -->
     <function-decl name='__cds_wfcq_dequeue_nonblocking' mangled-name='__cds_wfcq_dequeue_nonblocking' filepath='src/wfcqueue.c' line='121' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfcq_dequeue_nonblocking'>
       <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
-      <parameter type-id='type-id-26' name='head' filepath='src/wfcqueue.c' line='122' column='1'/>
+      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='164' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='tail' filepath='src/wfcqueue.c' line='123' column='1'/>
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='165' column='1'/>
       <!-- cds_wfcq_node* -->
-      <return type-id='type-id-24'/>
+      <return type-id='type-id-22'/>
     </function-decl>
     <!-- cds_wfcq_node* __cds_wfcq_dequeue_with_state_blocking(cds_wfcq_head_ptr_t, cds_wfcq_tail*, int*) -->
     <function-decl name='__cds_wfcq_dequeue_with_state_blocking' mangled-name='__cds_wfcq_dequeue_with_state_blocking' filepath='src/wfcqueue.c' line='113' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfcq_dequeue_with_state_blocking'>
       <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
-      <parameter type-id='type-id-26' name='head' filepath='src/wfcqueue.c' line='114' column='1'/>
+      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='129' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='tail' filepath='src/wfcqueue.c' line='115' column='1'/>
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='130' column='1'/>
       <!-- parameter of type 'int*' -->
-      <parameter type-id='type-id-34' name='state' filepath='src/wfcqueue.c' line='116' column='1'/>
+      <parameter type-id='type-id-33' name='state' filepath='src/wfcqueue.c' line='131' column='1'/>
       <!-- cds_wfcq_node* -->
-      <return type-id='type-id-24'/>
+      <return type-id='type-id-22'/>
     </function-decl>
     <!-- cds_wfcq_node* __cds_wfcq_dequeue_blocking(cds_wfcq_head_ptr_t, cds_wfcq_tail*) -->
     <function-decl name='__cds_wfcq_dequeue_blocking' mangled-name='__cds_wfcq_dequeue_blocking' filepath='src/wfcqueue.c' line='106' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfcq_dequeue_blocking'>
       <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
-      <parameter type-id='type-id-26' name='head' filepath='src/wfcqueue.c' line='107' column='1'/>
+      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='164' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='tail' filepath='src/wfcqueue.c' line='108' column='1'/>
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='165' column='1'/>
       <!-- cds_wfcq_node* -->
-      <return type-id='type-id-24'/>
+      <return type-id='type-id-22'/>
     </function-decl>
     <!-- cds_wfcq_ret cds_wfcq_splice_blocking(cds_wfcq_head*, cds_wfcq_tail*, cds_wfcq_head*, cds_wfcq_tail*) -->
     <function-decl name='cds_wfcq_splice_blocking' mangled-name='cds_wfcq_splice_blocking' filepath='src/wfcqueue.c' line='96' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfcq_splice_blocking'>
       <!-- parameter of type 'cds_wfcq_head*' -->
-      <parameter type-id='type-id-28' name='dest_q_head' filepath='src/wfcqueue.c' line='97' column='1'/>
+      <parameter type-id='type-id-25' name='dest_q_head' filepath='src/wfcqueue.c' line='97' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='dest_q_tail' filepath='src/wfcqueue.c' line='98' column='1'/>
+      <parameter type-id='type-id-30' name='dest_q_tail' filepath='src/wfcqueue.c' line='98' column='1'/>
       <!-- parameter of type 'cds_wfcq_head*' -->
-      <parameter type-id='type-id-28' name='src_q_head' filepath='src/wfcqueue.c' line='99' column='1'/>
+      <parameter type-id='type-id-25' name='src_q_head' filepath='src/wfcqueue.c' line='99' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='src_q_tail' filepath='src/wfcqueue.c' line='100' column='1'/>
+      <parameter type-id='type-id-30' name='src_q_tail' filepath='src/wfcqueue.c' line='100' column='1'/>
       <!-- enum cds_wfcq_ret -->
       <return type-id='type-id-32'/>
     </function-decl>
     <!-- cds_wfcq_node* cds_wfcq_dequeue_with_state_blocking(cds_wfcq_head*, cds_wfcq_tail*, int*) -->
     <function-decl name='cds_wfcq_dequeue_with_state_blocking' mangled-name='cds_wfcq_dequeue_with_state_blocking' filepath='src/wfcqueue.c' line='88' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfcq_dequeue_with_state_blocking'>
       <!-- parameter of type 'cds_wfcq_head*' -->
-      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='89' column='1'/>
+      <parameter type-id='type-id-25' name='head' filepath='src/wfcqueue.c' line='89' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='tail' filepath='src/wfcqueue.c' line='90' column='1'/>
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='90' column='1'/>
       <!-- parameter of type 'int*' -->
-      <parameter type-id='type-id-34' name='state' filepath='src/wfcqueue.c' line='91' column='1'/>
+      <parameter type-id='type-id-33' name='state' filepath='src/wfcqueue.c' line='91' column='1'/>
       <!-- cds_wfcq_node* -->
-      <return type-id='type-id-24'/>
+      <return type-id='type-id-22'/>
     </function-decl>
     <!-- cds_wfcq_node* cds_wfcq_dequeue_blocking(cds_wfcq_head*, cds_wfcq_tail*) -->
     <function-decl name='cds_wfcq_dequeue_blocking' mangled-name='cds_wfcq_dequeue_blocking' filepath='src/wfcqueue.c' line='81' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfcq_dequeue_blocking'>
       <!-- parameter of type 'cds_wfcq_head*' -->
-      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='82' column='1'/>
+      <parameter type-id='type-id-25' name='head' filepath='src/wfcqueue.c' line='82' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='tail' filepath='src/wfcqueue.c' line='83' column='1'/>
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='83' column='1'/>
       <!-- cds_wfcq_node* -->
-      <return type-id='type-id-24'/>
+      <return type-id='type-id-22'/>
     </function-decl>
     <!-- void cds_wfcq_dequeue_unlock(cds_wfcq_head*, cds_wfcq_tail*) -->
     <function-decl name='cds_wfcq_dequeue_unlock' mangled-name='cds_wfcq_dequeue_unlock' filepath='src/wfcqueue.c' line='75' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfcq_dequeue_unlock'>
       <!-- parameter of type 'cds_wfcq_head*' -->
-      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='75' column='1'/>
+      <parameter type-id='type-id-25' name='head' filepath='src/wfcqueue.c' line='75' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='tail' filepath='src/wfcqueue.c' line='76' column='1'/>
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='76' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-20'/>
     </function-decl>
     <!-- void cds_wfcq_dequeue_lock(cds_wfcq_head*, cds_wfcq_tail*) -->
     <function-decl name='cds_wfcq_dequeue_lock' mangled-name='cds_wfcq_dequeue_lock' filepath='src/wfcqueue.c' line='69' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfcq_dequeue_lock'>
       <!-- parameter of type 'cds_wfcq_head*' -->
-      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='69' column='1'/>
+      <parameter type-id='type-id-25' name='head' filepath='src/wfcqueue.c' line='75' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='tail' filepath='src/wfcqueue.c' line='70' column='1'/>
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='76' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-20'/>
     </function-decl>
+    <!-- bool -->
+    <type-decl name='bool' size-in-bits='8' id='type-id-34'/>
     <!-- bool cds_wfcq_enqueue(cds_wfcq_head_ptr_t, cds_wfcq_tail*, cds_wfcq_node*) -->
     <function-decl name='cds_wfcq_enqueue' mangled-name='cds_wfcq_enqueue' filepath='src/wfcqueue.c' line='62' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfcq_enqueue'>
       <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
-      <parameter type-id='type-id-26' name='head' filepath='src/wfcqueue.c' line='62' column='1'/>
+      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='62' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='tail' filepath='src/wfcqueue.c' line='63' column='1'/>
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='63' column='1'/>
       <!-- parameter of type 'cds_wfcq_node*' -->
-      <parameter type-id='type-id-24' name='node' filepath='src/wfcqueue.c' line='64' column='1'/>
+      <parameter type-id='type-id-22' name='node' filepath='src/wfcqueue.c' line='64' column='1'/>
       <!-- bool -->
-      <return type-id='type-id-21'/>
+      <return type-id='type-id-34'/>
     </function-decl>
     <!-- bool cds_wfcq_empty(cds_wfcq_head_ptr_t, cds_wfcq_tail*) -->
     <function-decl name='cds_wfcq_empty' mangled-name='cds_wfcq_empty' filepath='src/wfcqueue.c' line='55' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfcq_empty'>
       <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
-      <parameter type-id='type-id-26' name='head' filepath='src/wfcqueue.c' line='55' column='1'/>
+      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='55' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='tail' filepath='src/wfcqueue.c' line='56' column='1'/>
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='56' column='1'/>
       <!-- bool -->
-      <return type-id='type-id-21'/>
+      <return type-id='type-id-34'/>
     </function-decl>
     <!-- void __cds_wfcq_init(__cds_wfcq_head*, cds_wfcq_tail*) -->
     <function-decl name='__cds_wfcq_init' mangled-name='__cds_wfcq_init' filepath='src/wfcqueue.c' line='49' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfcq_init'>
       <!-- parameter of type '__cds_wfcq_head*' -->
-      <parameter type-id='type-id-27' name='head' filepath='src/wfcqueue.c' line='49' column='1'/>
+      <parameter type-id='type-id-24' name='head' filepath='src/wfcqueue.c' line='49' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='tail' filepath='src/wfcqueue.c' line='50' column='1'/>
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='50' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-20'/>
     </function-decl>
     <!-- void cds_wfcq_destroy(cds_wfcq_head*, cds_wfcq_tail*) -->
     <function-decl name='cds_wfcq_destroy' mangled-name='cds_wfcq_destroy' filepath='src/wfcqueue.c' line='43' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfcq_destroy'>
       <!-- parameter of type 'cds_wfcq_head*' -->
-      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='43' column='1'/>
+      <parameter type-id='type-id-25' name='head' filepath='src/wfcqueue.c' line='75' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='tail' filepath='src/wfcqueue.c' line='44' column='1'/>
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='76' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-20'/>
     </function-decl>
     <!-- void cds_wfcq_init(cds_wfcq_head*, cds_wfcq_tail*) -->
     <function-decl name='cds_wfcq_init' mangled-name='cds_wfcq_init' filepath='src/wfcqueue.c' line='37' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfcq_init'>
       <!-- parameter of type 'cds_wfcq_head*' -->
-      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='37' column='1'/>
+      <parameter type-id='type-id-25' name='head' filepath='src/wfcqueue.c' line='75' column='1'/>
       <!-- parameter of type 'cds_wfcq_tail*' -->
-      <parameter type-id='type-id-33' name='tail' filepath='src/wfcqueue.c' line='38' column='1'/>
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='76' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-20'/>
     </function-decl>
     <!-- void cds_wfcq_node_init(cds_wfcq_node*) -->
     <function-decl name='cds_wfcq_node_init' mangled-name='cds_wfcq_node_init' filepath='src/wfcqueue.c' line='32' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfcq_node_init'>
       <!-- parameter of type 'cds_wfcq_node*' -->
-      <parameter type-id='type-id-24' name='node' filepath='src/wfcqueue.c' line='32' column='1'/>
+      <parameter type-id='type-id-22' name='node' filepath='src/wfcqueue.c' line='32' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-20'/>
     </function-decl>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='wfstack.c' comp-dir-path='src' language='LANG_C99'>
         <var-decl name='next' type-id='type-id-37' visibility='default' filepath='../include/urcu/wfstack.h' line='73' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __anonymous_union__ cds_wfs_stack_ptr_t -->
-    <typedef-decl name='cds_wfs_stack_ptr_t' type-id='type-id-38' filepath='../include/urcu/wfstack.h' line='103' column='1' id='type-id-39'/>
-    <!-- union {__cds_wfs_stack* _s; cds_wfs_stack* s;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../include/urcu/wfstack.h' line='100' column='1' id='type-id-38'>
+    <!-- cds_wfs_node* -->
+    <pointer-type-def type-id='type-id-36' size-in-bits='64' id='type-id-37'/>
+    <!-- cds_wfs_head* -->
+    <pointer-type-def type-id='type-id-35' size-in-bits='64' id='type-id-38'/>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../include/urcu/wfstack.h' line='100' column='1' id='type-id-39'>
       <data-member access='private'>
-        <!-- __cds_wfs_stack* _s -->
+        <!-- __cds_wfs_stack* __anonymous_union__::_s -->
         <var-decl name='_s' type-id='type-id-40' visibility='default' filepath='../include/urcu/wfstack.h' line='101' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- cds_wfs_stack* s -->
+        <!-- cds_wfs_stack* __anonymous_union__::s -->
         <var-decl name='s' type-id='type-id-41' visibility='default' filepath='../include/urcu/wfstack.h' line='102' column='1'/>
       </data-member>
     </union-decl>
     <class-decl name='__cds_wfs_stack' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfstack.h' line='86' column='1' id='type-id-42'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfs_head* __cds_wfs_stack::head -->
-        <var-decl name='head' type-id='type-id-43' visibility='default' filepath='../include/urcu/wfstack.h' line='87' column='1'/>
+        <var-decl name='head' type-id='type-id-38' visibility='default' filepath='../include/urcu/wfstack.h' line='87' column='1'/>
       </data-member>
     </class-decl>
+    <!-- __cds_wfs_stack* -->
+    <pointer-type-def type-id='type-id-42' size-in-bits='64' id='type-id-40'/>
     <!-- struct cds_wfs_stack -->
-    <class-decl name='cds_wfs_stack' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfstack.h' line='90' column='1' id='type-id-44'>
+    <class-decl name='cds_wfs_stack' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfstack.h' line='90' column='1' id='type-id-43'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfs_head* cds_wfs_stack::head -->
-        <var-decl name='head' type-id='type-id-43' visibility='default' filepath='../include/urcu/wfstack.h' line='91' column='1'/>
+        <var-decl name='head' type-id='type-id-38' visibility='default' filepath='../include/urcu/wfstack.h' line='91' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- pthread_mutex_t cds_wfs_stack::lock -->
-        <var-decl name='lock' type-id='type-id-14' visibility='default' filepath='../include/urcu/wfstack.h' line='92' column='1'/>
+        <var-decl name='lock' type-id='type-id-5' visibility='default' filepath='../include/urcu/wfstack.h' line='92' column='1'/>
       </data-member>
     </class-decl>
-    <!-- __cds_wfs_stack* -->
-    <pointer-type-def type-id='type-id-42' size-in-bits='64' id='type-id-40'/>
-    <!-- cds_wfs_head* -->
-    <pointer-type-def type-id='type-id-35' size-in-bits='64' id='type-id-43'/>
-    <!-- cds_wfs_node* -->
-    <pointer-type-def type-id='type-id-36' size-in-bits='64' id='type-id-37'/>
     <!-- cds_wfs_stack* -->
-    <pointer-type-def type-id='type-id-44' size-in-bits='64' id='type-id-41'/>
+    <pointer-type-def type-id='type-id-43' size-in-bits='64' id='type-id-41'/>
+    <!-- typedef __anonymous_union__ cds_wfs_stack_ptr_t -->
+    <typedef-decl name='cds_wfs_stack_ptr_t' type-id='type-id-39' filepath='../include/urcu/wfstack.h' line='103' column='1' id='type-id-44'/>
     <!-- cds_wfs_head* __cds_wfs_pop_all(cds_wfs_stack_ptr_t) -->
     <function-decl name='__cds_wfs_pop_all' mangled-name='__cds_wfs_pop_all' filepath='src/wfstack.c' line='126' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfs_pop_all'>
       <!-- parameter of type 'typedef cds_wfs_stack_ptr_t' -->
-      <parameter type-id='type-id-39' name='u_stack' filepath='src/wfstack.c' line='126' column='1'/>
+      <parameter type-id='type-id-44' name='u_stack' filepath='src/wfstack.c' line='126' column='1'/>
       <!-- cds_wfs_head* -->
-      <return type-id='type-id-43'/>
+      <return type-id='type-id-38'/>
     </function-decl>
     <!-- cds_wfs_node* __cds_wfs_pop_with_state_nonblocking(cds_wfs_stack_ptr_t, int*) -->
     <function-decl name='__cds_wfs_pop_with_state_nonblocking' mangled-name='__cds_wfs_pop_with_state_nonblocking' filepath='src/wfstack.c' line='120' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfs_pop_with_state_nonblocking'>
       <!-- parameter of type 'typedef cds_wfs_stack_ptr_t' -->
-      <parameter type-id='type-id-39' name='u_stack' filepath='src/wfstack.c' line='120' column='1'/>
+      <parameter type-id='type-id-44' name='u_stack' filepath='src/wfstack.c' line='120' column='1'/>
       <!-- parameter of type 'int*' -->
-      <parameter type-id='type-id-34' name='state' filepath='src/wfstack.c' line='121' column='1'/>
+      <parameter type-id='type-id-33' name='state' filepath='src/wfstack.c' line='121' column='1'/>
       <!-- cds_wfs_node* -->
       <return type-id='type-id-37'/>
     </function-decl>
     <!-- cds_wfs_node* __cds_wfs_pop_nonblocking(cds_wfs_stack_ptr_t) -->
     <function-decl name='__cds_wfs_pop_nonblocking' mangled-name='__cds_wfs_pop_nonblocking' filepath='src/wfstack.c' line='114' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfs_pop_nonblocking'>
       <!-- parameter of type 'typedef cds_wfs_stack_ptr_t' -->
-      <parameter type-id='type-id-39' name='u_stack' filepath='src/wfstack.c' line='114' column='1'/>
+      <parameter type-id='type-id-44' name='u_stack' filepath='src/wfstack.c' line='114' column='1'/>
       <!-- cds_wfs_node* -->
       <return type-id='type-id-37'/>
     </function-decl>
     <!-- cds_wfs_node* __cds_wfs_pop_with_state_blocking(cds_wfs_stack_ptr_t, int*) -->
     <function-decl name='__cds_wfs_pop_with_state_blocking' mangled-name='__cds_wfs_pop_with_state_blocking' filepath='src/wfstack.c' line='108' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfs_pop_with_state_blocking'>
       <!-- parameter of type 'typedef cds_wfs_stack_ptr_t' -->
-      <parameter type-id='type-id-39' name='u_stack' filepath='src/wfstack.c' line='108' column='1'/>
+      <parameter type-id='type-id-44' name='u_stack' filepath='src/wfstack.c' line='120' column='1'/>
       <!-- parameter of type 'int*' -->
-      <parameter type-id='type-id-34' name='state' filepath='src/wfstack.c' line='109' column='1'/>
+      <parameter type-id='type-id-33' name='state' filepath='src/wfstack.c' line='121' column='1'/>
       <!-- cds_wfs_node* -->
       <return type-id='type-id-37'/>
     </function-decl>
     <!-- cds_wfs_node* __cds_wfs_pop_blocking(cds_wfs_stack_ptr_t) -->
     <function-decl name='__cds_wfs_pop_blocking' mangled-name='__cds_wfs_pop_blocking' filepath='src/wfstack.c' line='102' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfs_pop_blocking'>
       <!-- parameter of type 'typedef cds_wfs_stack_ptr_t' -->
-      <parameter type-id='type-id-39' name='u_stack' filepath='src/wfstack.c' line='102' column='1'/>
+      <parameter type-id='type-id-44' name='u_stack' filepath='src/wfstack.c' line='114' column='1'/>
       <!-- cds_wfs_node* -->
       <return type-id='type-id-37'/>
     </function-decl>
       <!-- parameter of type 'cds_wfs_stack*' -->
       <parameter type-id='type-id-41' name='s' filepath='src/wfstack.c' line='97' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-20'/>
     </function-decl>
     <!-- void cds_wfs_pop_lock(cds_wfs_stack*) -->
     <function-decl name='cds_wfs_pop_lock' mangled-name='cds_wfs_pop_lock' filepath='src/wfstack.c' line='92' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfs_pop_lock'>
       <!-- parameter of type 'cds_wfs_stack*' -->
-      <parameter type-id='type-id-41' name='s' filepath='src/wfstack.c' line='92' column='1'/>
+      <parameter type-id='type-id-41' name='s' filepath='src/wfstack.c' line='97' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-20'/>
     </function-decl>
     <!-- cds_wfs_node* cds_wfs_next_nonblocking(cds_wfs_node*) -->
     <function-decl name='cds_wfs_next_nonblocking' mangled-name='cds_wfs_next_nonblocking' filepath='src/wfstack.c' line='87' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfs_next_nonblocking'>
     <!-- cds_wfs_node* cds_wfs_next_blocking(cds_wfs_node*) -->
     <function-decl name='cds_wfs_next_blocking' mangled-name='cds_wfs_next_blocking' filepath='src/wfstack.c' line='82' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfs_next_blocking'>
       <!-- parameter of type 'cds_wfs_node*' -->
-      <parameter type-id='type-id-37' name='node' filepath='src/wfstack.c' line='82' column='1'/>
+      <parameter type-id='type-id-37' name='node' filepath='src/wfstack.c' line='87' column='1'/>
       <!-- cds_wfs_node* -->
       <return type-id='type-id-37'/>
     </function-decl>
     <!-- cds_wfs_node* cds_wfs_first(cds_wfs_head*) -->
     <function-decl name='cds_wfs_first' mangled-name='cds_wfs_first' filepath='src/wfstack.c' line='77' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfs_first'>
       <!-- parameter of type 'cds_wfs_head*' -->
-      <parameter type-id='type-id-43' name='head' filepath='src/wfstack.c' line='77' column='1'/>
+      <parameter type-id='type-id-38' name='head' filepath='src/wfstack.c' line='77' column='1'/>
       <!-- cds_wfs_node* -->
       <return type-id='type-id-37'/>
     </function-decl>
       <!-- parameter of type 'cds_wfs_stack*' -->
       <parameter type-id='type-id-41' name='s' filepath='src/wfstack.c' line='72' column='1'/>
       <!-- cds_wfs_head* -->
-      <return type-id='type-id-43'/>
+      <return type-id='type-id-38'/>
     </function-decl>
     <!-- cds_wfs_node* cds_wfs_pop_with_state_blocking(cds_wfs_stack*, int*) -->
     <function-decl name='cds_wfs_pop_with_state_blocking' mangled-name='cds_wfs_pop_with_state_blocking' filepath='src/wfstack.c' line='67' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfs_pop_with_state_blocking'>
       <!-- parameter of type 'cds_wfs_stack*' -->
       <parameter type-id='type-id-41' name='s' filepath='src/wfstack.c' line='67' column='1'/>
       <!-- parameter of type 'int*' -->
-      <parameter type-id='type-id-34' name='state' filepath='src/wfstack.c' line='67' column='1'/>
+      <parameter type-id='type-id-33' name='state' filepath='src/wfstack.c' line='67' column='1'/>
       <!-- cds_wfs_node* -->
       <return type-id='type-id-37'/>
     </function-decl>
     <!-- int cds_wfs_push(cds_wfs_stack_ptr_t, cds_wfs_node*) -->
     <function-decl name='cds_wfs_push' mangled-name='cds_wfs_push' filepath='src/wfstack.c' line='56' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfs_push'>
       <!-- parameter of type 'typedef cds_wfs_stack_ptr_t' -->
-      <parameter type-id='type-id-39' name='u_stack' filepath='src/wfstack.c' line='56' column='1'/>
+      <parameter type-id='type-id-44' name='u_stack' filepath='src/wfstack.c' line='56' column='1'/>
       <!-- parameter of type 'cds_wfs_node*' -->
       <parameter type-id='type-id-37' name='node' filepath='src/wfstack.c' line='56' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-10'/>
     </function-decl>
     <!-- bool cds_wfs_empty(cds_wfs_stack_ptr_t) -->
     <function-decl name='cds_wfs_empty' mangled-name='cds_wfs_empty' filepath='src/wfstack.c' line='51' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfs_empty'>
       <!-- parameter of type 'typedef cds_wfs_stack_ptr_t' -->
-      <parameter type-id='type-id-39' name='u_stack' filepath='src/wfstack.c' line='51' column='1'/>
+      <parameter type-id='type-id-44' name='u_stack' filepath='src/wfstack.c' line='51' column='1'/>
       <!-- bool -->
-      <return type-id='type-id-21'/>
+      <return type-id='type-id-34'/>
     </function-decl>
     <!-- void __cds_wfs_init(__cds_wfs_stack*) -->
     <function-decl name='__cds_wfs_init' mangled-name='__cds_wfs_init' filepath='src/wfstack.c' line='46' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfs_init'>
       <!-- parameter of type '__cds_wfs_stack*' -->
       <parameter type-id='type-id-40' name='s' filepath='src/wfstack.c' line='46' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-20'/>
     </function-decl>
     <!-- void cds_wfs_destroy(cds_wfs_stack*) -->
     <function-decl name='cds_wfs_destroy' mangled-name='cds_wfs_destroy' filepath='src/wfstack.c' line='41' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfs_destroy'>
       <!-- parameter of type 'cds_wfs_stack*' -->
-      <parameter type-id='type-id-41' name='s' filepath='src/wfstack.c' line='41' column='1'/>
+      <parameter type-id='type-id-41' name='s' filepath='src/wfstack.c' line='97' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-20'/>
     </function-decl>
     <!-- void cds_wfs_init(cds_wfs_stack*) -->
     <function-decl name='cds_wfs_init' mangled-name='cds_wfs_init' filepath='src/wfstack.c' line='36' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfs_init'>
       <!-- parameter of type 'cds_wfs_stack*' -->
-      <parameter type-id='type-id-41' name='s' filepath='src/wfstack.c' line='36' column='1'/>
+      <parameter type-id='type-id-41' name='s' filepath='src/wfstack.c' line='97' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-20'/>
     </function-decl>
     <!-- void cds_wfs_node_init(cds_wfs_node*) -->
     <function-decl name='cds_wfs_node_init' mangled-name='cds_wfs_node_init' filepath='src/wfstack.c' line='31' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfs_node_init'>
       <!-- parameter of type 'cds_wfs_node*' -->
       <parameter type-id='type-id-37' name='node' filepath='src/wfstack.c' line='31' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-20'/>
     </function-decl>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='compat_futex.c' comp-dir-path='src' language='LANG_C99'>
-
-
-    <!-- char[48] -->
-    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='384' id='type-id-45'>
-      <!-- <anonymous range>[48] -->
-      <subrange length='48' type-id='type-id-3' id='type-id-46'/>
-
-    </array-type-def>
-    <!-- long long int -->
-    <type-decl name='long long int' size-in-bits='64' id='type-id-47'/>
-    <!-- long long unsigned int -->
-    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-48'/>
-    <!-- unsigned int[2] -->
-    <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='64' id='type-id-49'>
-      <!-- <anonymous range>[2] -->
-      <subrange length='2' type-id='type-id-3' id='type-id-50'/>
-
-    </array-type-def>
-    <!-- typedef __anonymous_union__ pthread_cond_t -->
-    <typedef-decl name='pthread_cond_t' type-id='type-id-51' filepath='/usr/include/bits/pthreadtypes.h' line='80' column='1' id='type-id-52'/>
-    <!-- union {__pthread_cond_s __data; char __size[48]; long long int __align;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='75' column='1' id='type-id-51'>
+    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
+    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-5' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='75' column='1' id='type-id-45'>
       <data-member access='private'>
-        <!-- __pthread_cond_s __data -->
-        <var-decl name='__data' type-id='type-id-53' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='77' column='1'/>
+        <!-- __pthread_cond_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-46' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='77' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- char __size[48] -->
-        <var-decl name='__size' type-id='type-id-45' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='78' column='1'/>
+        <!-- char __anonymous_union__::__size[48] -->
+        <var-decl name='__size' type-id='type-id-47' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='78' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- long long int __align -->
-        <var-decl name='__align' type-id='type-id-47' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='79' column='1'/>
+        <!-- long long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-48' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='79' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __pthread_cond_s -->
-    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='92' column='1' id='type-id-53'>
+    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='171' column='1' id='type-id-46'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <!-- union {long long unsigned int __wseq; struct {unsigned int __low; unsigned int __high;} __wseq32;} -->
-        <var-decl name='' type-id='type-id-54' visibility='default'/>
+        <!-- __anonymous_union__  -->
+        <var-decl name='' type-id='type-id-49' visibility='default'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- unsigned int __pthread_cond_s::__g_refs[2] -->
-        <var-decl name='__g_refs' type-id='type-id-49' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='112' column='1'/>
+        <var-decl name='__g_refs' type-id='type-id-50' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='191' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- unsigned int __pthread_cond_s::__g_size[2] -->
-        <var-decl name='__g_size' type-id='type-id-49' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='113' column='1'/>
+        <var-decl name='__g_size' type-id='type-id-50' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='192' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- unsigned int __pthread_cond_s::__g1_orig_size -->
-        <var-decl name='__g1_orig_size' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='114' column='1'/>
+        <var-decl name='__g1_orig_size' type-id='type-id-11' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='193' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='288'>
         <!-- unsigned int __pthread_cond_s::__wrefs -->
-        <var-decl name='__wrefs' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='115' column='1'/>
+        <var-decl name='__wrefs' type-id='type-id-11' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='194' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
         <!-- unsigned int __pthread_cond_s::__g_signals[2] -->
-        <var-decl name='__g_signals' type-id='type-id-49' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='116' column='1'/>
+        <var-decl name='__g_signals' type-id='type-id-50' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='195' column='1'/>
       </data-member>
     </class-decl>
-    <!-- union {long long unsigned int __wseq; struct {unsigned int __low; unsigned int __high;} __wseq32;} -->
-    <union-decl name='__anonymous_union__1' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='94' column='1' id='type-id-54'>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='173' column='1' id='type-id-49'>
       <data-member access='private'>
-        <!-- long long unsigned int __wseq -->
-        <var-decl name='__wseq' type-id='type-id-48' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='96' column='1'/>
+        <!-- long long unsigned int __anonymous_union__::__wseq -->
+        <var-decl name='__wseq' type-id='type-id-51' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='175' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- struct {unsigned int __low; unsigned int __high;} __wseq32 -->
-        <var-decl name='__wseq32' type-id='type-id-55' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='101' column='1'/>
+        <!-- __anonymous_struct__ __anonymous_union__::__wseq32 -->
+        <var-decl name='__wseq32' type-id='type-id-52' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='180' column='1'/>
       </data-member>
     </union-decl>
-    <!-- struct {unsigned int __low; unsigned int __high;} -->
-    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='97' column='1' id='type-id-55'>
+    <!-- long long unsigned int -->
+    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-51'/>
+    <!-- struct __anonymous_struct__ -->
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='176' column='1' id='type-id-52'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <!-- unsigned int __low -->
-        <var-decl name='__low' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='99' column='1'/>
+        <!-- unsigned int __anonymous_struct__::__low -->
+        <var-decl name='__low' type-id='type-id-11' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='178' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='32'>
-        <!-- unsigned int __high -->
-        <var-decl name='__high' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='100' column='1'/>
+        <!-- unsigned int __anonymous_struct__::__high -->
+        <var-decl name='__high' type-id='type-id-11' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='179' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __int32_t int32_t -->
-    <typedef-decl name='int32_t' type-id='type-id-56' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-57'/>
+
+    <!-- unsigned int[2] -->
+    <array-type-def dimensions='1' type-id='type-id-11' size-in-bits='64' id='type-id-50'>
+      <!-- <anonymous range>[2] -->
+      <subrange length='2' type-id='type-id-17' id='type-id-53'/>
+
+    </array-type-def>
+
+    <!-- char[48] -->
+    <array-type-def dimensions='1' type-id='type-id-16' size-in-bits='384' id='type-id-47'>
+      <!-- <anonymous range>[48] -->
+      <subrange length='48' type-id='type-id-17' id='type-id-54'/>
+
+    </array-type-def>
+    <!-- long long int -->
+    <type-decl name='long long int' size-in-bits='64' id='type-id-48'/>
+    <!-- typedef __anonymous_union__ pthread_cond_t -->
+    <typedef-decl name='pthread_cond_t' type-id='type-id-45' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='80' column='1' id='type-id-55'/>
+    <!-- pthread_cond_t __urcu_compat_futex_cond -->
+    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-55' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
     <!-- typedef int __int32_t -->
-    <typedef-decl name='__int32_t' type-id='type-id-5' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-56'/>
+    <typedef-decl name='__int32_t' type-id='type-id-10' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='40' column='1' id='type-id-56'/>
+    <!-- typedef __int32_t int32_t -->
+    <typedef-decl name='int32_t' type-id='type-id-56' filepath='/usr/include/x86_64-linux-gnu/bits/stdint-intn.h' line='26' column='1' id='type-id-57'/>
+    <!-- int32_t* -->
+    <pointer-type-def type-id='type-id-57' size-in-bits='64' id='type-id-58'/>
     <!-- struct timespec -->
-    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='10' column='1' id='type-id-58'>
+    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='9' column='1' id='type-id-59'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- __time_t timespec::tv_sec -->
-        <var-decl name='tv_sec' type-id='type-id-59' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='12' column='1'/>
+        <var-decl name='tv_sec' type-id='type-id-60' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='11' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- __syscall_slong_t timespec::tv_nsec -->
-        <var-decl name='tv_nsec' type-id='type-id-60' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='16' column='1'/>
+        <var-decl name='tv_nsec' type-id='type-id-61' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='12' column='1'/>
       </data-member>
     </class-decl>
     <!-- typedef long int __time_t -->
-    <typedef-decl name='__time_t' type-id='type-id-6' filepath='/usr/include/bits/types.h' line='160' column='1' id='type-id-59'/>
+    <typedef-decl name='__time_t' type-id='type-id-9' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='148' column='1' id='type-id-60'/>
     <!-- typedef long int __syscall_slong_t -->
-    <typedef-decl name='__syscall_slong_t' type-id='type-id-6' filepath='/usr/include/bits/types.h' line='197' column='1' id='type-id-60'/>
+    <typedef-decl name='__syscall_slong_t' type-id='type-id-9' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='184' column='1' id='type-id-61'/>
     <!-- const timespec -->
-    <qualified-type-def type-id='type-id-58' const='yes' id='type-id-61'/>
+    <qualified-type-def type-id='type-id-59' const='yes' id='type-id-62'/>
     <!-- const timespec* -->
-    <pointer-type-def type-id='type-id-61' size-in-bits='64' id='type-id-62'/>
-    <!-- int32_t* -->
-    <pointer-type-def type-id='type-id-57' size-in-bits='64' id='type-id-63'/>
-    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
-    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-14' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
-    <!-- pthread_cond_t __urcu_compat_futex_cond -->
-    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-52' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
+    <pointer-type-def type-id='type-id-62' size-in-bits='64' id='type-id-63'/>
     <!-- int compat_futex_async(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
     <function-decl name='compat_futex_async' mangled-name='compat_futex_async' filepath='src/compat_futex.c' line='118' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_async'>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-63' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-58' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-10' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
       <parameter type-id='type-id-57' name='val' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'const timespec*' -->
-      <parameter type-id='type-id-62' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-63' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-63' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-58' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
       <parameter type-id='type-id-57' name='val3' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-10'/>
     </function-decl>
     <!-- int compat_futex_noasync(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
     <function-decl name='compat_futex_noasync' mangled-name='compat_futex_noasync' filepath='src/compat_futex.c' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_noasync'>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-63' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-58' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-10' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
       <parameter type-id='type-id-57' name='val' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'const timespec*' -->
-      <parameter type-id='type-id-62' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-63' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-63' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-58' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
       <parameter type-id='type-id-57' name='val3' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-10'/>
     </function-decl>
   </abi-instr>
 </abi-corpus>
index 80eba8389ab60257182e56ca301d38e75ca777f2..e0344f195b49d15fc8360d4cfcd3a6482355373c 100644 (file)
@@ -1,11 +1,14 @@
 <abi-corpus architecture='elf-amd-x86_64' soname='liburcu-mb.so.8'>
   <elf-needed>
-    <dependency name='liburcu-common.so.8'/>
     <dependency name='libpthread.so.0'/>
     <dependency name='libc.so.6'/>
     <dependency name='ld-linux-x86-64.so.2'/>
   </elf-needed>
   <elf-function-symbols>
+    <!-- _fini -->
+    <elf-symbol name='_fini' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- _init -->
+    <elf-symbol name='_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- compat_futex_async -->
     <elf-symbol name='compat_futex_async' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- compat_futex_noasync -->
     <elf-symbol name='urcu_mb_reader' size='256' type='tls-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
   </elf-variable-symbols>
   <abi-instr version='1.0' address-size='64' path='urcu.c' comp-dir-path='src' language='LANG_C99'>
-
-    <!-- char -->
-    <type-decl name='char' size-in-bits='8' id='type-id-1'/>
-    <!-- char[40] -->
-    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='320' id='type-id-2'>
-      <!-- <anonymous range>[40] -->
-      <subrange length='40' type-id='type-id-3' id='type-id-4'/>
-
-    </array-type-def>
-    <!-- int -->
-    <type-decl name='int' size-in-bits='32' id='type-id-5'/>
-    <!-- long int -->
-    <type-decl name='long int' size-in-bits='64' id='type-id-6'/>
-    <!-- short int -->
-    <type-decl name='short int' size-in-bits='16' id='type-id-7'/>
-    <!-- unsigned int -->
-    <type-decl name='unsigned int' size-in-bits='32' id='type-id-8'/>
-    <!-- unsigned long int -->
-    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-3'/>
-    <!-- void -->
-    <type-decl name='void' id='type-id-9'/>
     <!-- struct urcu_gp -->
-    <class-decl name='urcu_gp' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='67' column='1' id='type-id-10'>
+    <class-decl name='urcu_gp' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='67' column='1' id='type-id-1'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned long int urcu_gp::ctr -->
-        <var-decl name='ctr' type-id='type-id-3' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='75' column='1'/>
+        <var-decl name='ctr' type-id='type-id-2' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='75' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- int32_t urcu_gp::futex -->
-        <var-decl name='futex' type-id='type-id-11' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='77' column='1'/>
+        <var-decl name='futex' type-id='type-id-3' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='77' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __int32_t int32_t -->
-    <typedef-decl name='int32_t' type-id='type-id-12' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-11'/>
+    <!-- unsigned long int -->
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-2'/>
+    <!-- int -->
+    <type-decl name='int' size-in-bits='32' id='type-id-4'/>
     <!-- typedef int __int32_t -->
-    <typedef-decl name='__int32_t' type-id='type-id-5' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-12'/>
+    <typedef-decl name='__int32_t' type-id='type-id-4' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='40' column='1' id='type-id-5'/>
+    <!-- typedef __int32_t int32_t -->
+    <typedef-decl name='int32_t' type-id='type-id-5' filepath='/usr/include/x86_64-linux-gnu/bits/stdint-intn.h' line='26' column='1' id='type-id-3'/>
+    <!-- urcu_gp urcu_mb_gp -->
+    <var-decl name='urcu_mb_gp' type-id='type-id-1' mangled-name='urcu_mb_gp' visibility='default' filepath='../include/urcu/static/urcu-mb.h' line='60' column='1' elf-symbol-id='urcu_mb_gp'/>
     <!-- struct urcu_reader -->
-    <class-decl name='urcu_reader' size-in-bits='2048' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='80' column='1' id='type-id-13'>
+    <class-decl name='urcu_reader' size-in-bits='2048' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='80' column='1' id='type-id-6'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned long int urcu_reader::ctr -->
-        <var-decl name='ctr' type-id='type-id-3' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='82' column='1'/>
+        <var-decl name='ctr' type-id='type-id-2' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='82' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- char urcu_reader::need_mb -->
-        <var-decl name='need_mb' type-id='type-id-1' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='83' column='1'/>
+        <var-decl name='need_mb' type-id='type-id-7' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='83' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1024'>
         <!-- cds_list_head urcu_reader::node -->
-        <var-decl name='node' type-id='type-id-14' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='85' column='1'/>
+        <var-decl name='node' type-id='type-id-8' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='85' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1152'>
         <!-- pthread_t urcu_reader::tid -->
-        <var-decl name='tid' type-id='type-id-15' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='86' column='1'/>
+        <var-decl name='tid' type-id='type-id-9' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='86' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='31'>
         <!-- unsigned int urcu_reader::registered -->
-        <var-decl name='registered' type-id='type-id-8' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='88' column='1'/>
+        <var-decl name='registered' type-id='type-id-10' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='88' column='1'/>
       </data-member>
     </class-decl>
+    <!-- char -->
+    <type-decl name='char' size-in-bits='8' id='type-id-7'/>
     <!-- struct cds_list_head -->
-    <class-decl name='cds_list_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/list.h' line='37' column='1' id='type-id-14'>
+    <class-decl name='cds_list_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/list.h' line='37' column='1' id='type-id-8'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_list_head* cds_list_head::next -->
-        <var-decl name='next' type-id='type-id-16' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
+        <var-decl name='next' type-id='type-id-11' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- cds_list_head* cds_list_head::prev -->
-        <var-decl name='prev' type-id='type-id-16' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
+        <var-decl name='prev' type-id='type-id-11' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_list_head* -->
+    <pointer-type-def type-id='type-id-8' size-in-bits='64' id='type-id-11'/>
     <!-- typedef unsigned long int pthread_t -->
-    <typedef-decl name='pthread_t' type-id='type-id-3' filepath='/usr/include/bits/pthreadtypes.h' line='27' column='1' id='type-id-15'/>
+    <typedef-decl name='pthread_t' type-id='type-id-2' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='27' column='1' id='type-id-9'/>
+    <!-- unsigned int -->
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-10'/>
+    <!-- urcu_reader urcu_mb_reader -->
+    <var-decl name='urcu_mb_reader' type-id='type-id-6' mangled-name='urcu_mb_reader' visibility='default' filepath='../include/urcu/static/urcu-mb.h' line='62' column='1' elf-symbol-id='urcu_mb_reader'/>
     <!-- struct rcu_flavor_struct -->
-    <class-decl name='rcu_flavor_struct' size-in-bits='896' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='42' column='1' id='type-id-17'>
+    <class-decl name='rcu_flavor_struct' size-in-bits='896' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='42' column='1' id='type-id-12'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- void ()* rcu_flavor_struct::read_lock -->
-        <var-decl name='read_lock' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='43' column='1'/>
+        <var-decl name='read_lock' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='43' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void ()* rcu_flavor_struct::read_unlock -->
-        <var-decl name='read_unlock' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='44' column='1'/>
+        <var-decl name='read_unlock' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='44' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- int ()* rcu_flavor_struct::read_ongoing -->
-        <var-decl name='read_ongoing' type-id='type-id-19' visibility='default' filepath='../include/urcu/flavor.h' line='45' column='1'/>
+        <var-decl name='read_ongoing' type-id='type-id-14' visibility='default' filepath='../include/urcu/flavor.h' line='45' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- void ()* rcu_flavor_struct::read_quiescent_state -->
-        <var-decl name='read_quiescent_state' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='46' column='1'/>
+        <var-decl name='read_quiescent_state' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='46' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- void (rcu_head*, void (rcu_head*)*)* rcu_flavor_struct::update_call_rcu -->
-        <var-decl name='update_call_rcu' type-id='type-id-20' visibility='default' filepath='../include/urcu/flavor.h' line='47' column='1'/>
+        <var-decl name='update_call_rcu' type-id='type-id-15' visibility='default' filepath='../include/urcu/flavor.h' line='47' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
         <!-- void ()* rcu_flavor_struct::update_synchronize_rcu -->
-        <var-decl name='update_synchronize_rcu' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='49' column='1'/>
+        <var-decl name='update_synchronize_rcu' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='49' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='384'>
         <!-- void (void (void*)*, void*)* rcu_flavor_struct::update_defer_rcu -->
-        <var-decl name='update_defer_rcu' type-id='type-id-21' visibility='default' filepath='../include/urcu/flavor.h' line='50' column='1'/>
+        <var-decl name='update_defer_rcu' type-id='type-id-16' visibility='default' filepath='../include/urcu/flavor.h' line='50' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='448'>
         <!-- void ()* rcu_flavor_struct::thread_offline -->
-        <var-decl name='thread_offline' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='52' column='1'/>
+        <var-decl name='thread_offline' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='52' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='512'>
         <!-- void ()* rcu_flavor_struct::thread_online -->
-        <var-decl name='thread_online' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='53' column='1'/>
+        <var-decl name='thread_online' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='53' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='576'>
         <!-- void ()* rcu_flavor_struct::register_thread -->
-        <var-decl name='register_thread' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='54' column='1'/>
+        <var-decl name='register_thread' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='54' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='640'>
         <!-- void ()* rcu_flavor_struct::unregister_thread -->
-        <var-decl name='unregister_thread' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='55' column='1'/>
+        <var-decl name='unregister_thread' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='55' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='704'>
         <!-- void ()* rcu_flavor_struct::barrier -->
-        <var-decl name='barrier' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='57' column='1'/>
+        <var-decl name='barrier' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='57' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='768'>
         <!-- void (urcu_atfork*)* rcu_flavor_struct::register_rculfhash_atfork -->
-        <var-decl name='register_rculfhash_atfork' type-id='type-id-22' visibility='default' filepath='../include/urcu/flavor.h' line='59' column='1'/>
+        <var-decl name='register_rculfhash_atfork' type-id='type-id-17' visibility='default' filepath='../include/urcu/flavor.h' line='59' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='832'>
         <!-- void (urcu_atfork*)* rcu_flavor_struct::unregister_rculfhash_atfork -->
-        <var-decl name='unregister_rculfhash_atfork' type-id='type-id-22' visibility='default' filepath='../include/urcu/flavor.h' line='60' column='1'/>
+        <var-decl name='unregister_rculfhash_atfork' type-id='type-id-17' visibility='default' filepath='../include/urcu/flavor.h' line='60' column='1'/>
       </data-member>
     </class-decl>
+    <!-- void -->
+    <type-decl name='void' id='type-id-18'/>
+    <!-- void ()* -->
+    <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-13'/>
+    <!-- int ()* -->
+    <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-14'/>
     <!-- struct rcu_head -->
-    <class-decl name='rcu_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/call-rcu.h' line='57' column='1' id='type-id-23'>
+    <class-decl name='rcu_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/call-rcu.h' line='57' column='1' id='type-id-21'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node rcu_head::next -->
-        <var-decl name='next' type-id='type-id-24' visibility='default' filepath='../include/urcu/call-rcu.h' line='58' column='1'/>
+        <var-decl name='next' type-id='type-id-22' visibility='default' filepath='../include/urcu/call-rcu.h' line='58' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void (rcu_head*)* rcu_head::func -->
-        <var-decl name='func' type-id='type-id-25' visibility='default' filepath='../include/urcu/call-rcu.h' line='59' column='1'/>
+        <var-decl name='func' type-id='type-id-23' visibility='default' filepath='../include/urcu/call-rcu.h' line='59' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_node -->
-    <class-decl name='cds_wfcq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='59' column='1' id='type-id-24'>
+    <class-decl name='cds_wfcq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='59' column='1' id='type-id-22'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node* cds_wfcq_node::next -->
-        <var-decl name='next' type-id='type-id-26' visibility='default' filepath='../include/urcu/wfcqueue.h' line='60' column='1'/>
+        <var-decl name='next' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='60' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_wfcq_node* -->
+    <pointer-type-def type-id='type-id-22' size-in-bits='64' id='type-id-24'/>
+    <!-- rcu_head* -->
+    <pointer-type-def type-id='type-id-21' size-in-bits='64' id='type-id-25'/>
+    <!-- void (rcu_head*)* -->
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-23'/>
+    <!-- void (rcu_head*, void (rcu_head*)*)* -->
+    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-15'/>
+    <!-- void* -->
+    <pointer-type-def type-id='type-id-18' size-in-bits='64' id='type-id-28'/>
+    <!-- void (void*)* -->
+    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-30'/>
+    <!-- void (void (void*)*, void*)* -->
+    <pointer-type-def type-id='type-id-31' size-in-bits='64' id='type-id-16'/>
     <!-- struct urcu_atfork -->
-    <class-decl name='urcu_atfork' size-in-bits='256' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='32' column='1' id='type-id-27'>
+    <class-decl name='urcu_atfork' size-in-bits='256' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='32' column='1' id='type-id-32'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- void (void*)* urcu_atfork::before_fork -->
-        <var-decl name='before_fork' type-id='type-id-28' visibility='default' filepath='../include/urcu/flavor.h' line='33' column='1'/>
+        <var-decl name='before_fork' type-id='type-id-30' visibility='default' filepath='../include/urcu/flavor.h' line='33' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void (void*)* urcu_atfork::after_fork_parent -->
-        <var-decl name='after_fork_parent' type-id='type-id-28' visibility='default' filepath='../include/urcu/flavor.h' line='34' column='1'/>
+        <var-decl name='after_fork_parent' type-id='type-id-30' visibility='default' filepath='../include/urcu/flavor.h' line='34' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- void (void*)* urcu_atfork::after_fork_child -->
-        <var-decl name='after_fork_child' type-id='type-id-28' visibility='default' filepath='../include/urcu/flavor.h' line='35' column='1'/>
+        <var-decl name='after_fork_child' type-id='type-id-30' visibility='default' filepath='../include/urcu/flavor.h' line='35' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- void* urcu_atfork::priv -->
-        <var-decl name='priv' type-id='type-id-29' visibility='default' filepath='../include/urcu/flavor.h' line='36' column='1'/>
+        <var-decl name='priv' type-id='type-id-28' visibility='default' filepath='../include/urcu/flavor.h' line='36' column='1'/>
       </data-member>
     </class-decl>
+    <!-- urcu_atfork* -->
+    <pointer-type-def type-id='type-id-32' size-in-bits='64' id='type-id-33'/>
+    <!-- void (urcu_atfork*)* -->
+    <pointer-type-def type-id='type-id-34' size-in-bits='64' id='type-id-17'/>
+    <!-- const rcu_flavor_struct -->
+    <qualified-type-def type-id='type-id-12' const='yes' id='type-id-35'/>
+    <!-- const rcu_flavor_struct urcu_mb_flavor -->
+    <var-decl name='urcu_mb_flavor' type-id='type-id-35' mangled-name='urcu_mb_flavor' visibility='default' filepath='../include/urcu/flavor.h' line='81' column='1' elf-symbol-id='urcu_mb_flavor'/>
+    <!-- void urcu_mb_defer_exit() -->
+    <function-decl name='urcu_mb_defer_exit' mangled-name='urcu_mb_defer_exit' filepath='src/urcu-defer-impl.h' line='467' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_defer_exit'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_mb_defer_unregister_thread() -->
+    <function-decl name='urcu_mb_defer_unregister_thread' mangled-name='urcu_mb_defer_unregister_thread' filepath='src/urcu-defer-impl.h' line='449' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_defer_unregister_thread'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- int urcu_mb_defer_register_thread() -->
+    <function-decl name='urcu_mb_defer_register_thread' mangled-name='urcu_mb_defer_register_thread' filepath='src/urcu-defer-impl.h' line='427' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_defer_register_thread'>
+      <!-- int -->
+      <return type-id='type-id-4'/>
+    </function-decl>
+    <!-- void urcu_mb_defer_rcu(void (void*)*, void*) -->
+    <function-decl name='urcu_mb_defer_rcu' mangled-name='urcu_mb_defer_rcu' filepath='src/urcu-defer-impl.h' line='396' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_defer_rcu'>
+      <!-- parameter of type 'void (void*)*' -->
+      <parameter type-id='type-id-30' name='fct' filepath='src/urcu-defer-impl.h' line='396' column='1'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-28' name='p' filepath='src/urcu-defer-impl.h' line='396' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_mb_defer_barrier() -->
+    <function-decl name='urcu_mb_defer_barrier' mangled-name='urcu_mb_defer_barrier' filepath='src/urcu-defer-impl.h' line='282' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_defer_barrier'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_mb_defer_barrier_thread() -->
+    <function-decl name='urcu_mb_defer_barrier_thread' mangled-name='urcu_mb_defer_barrier_thread' filepath='src/urcu-defer-impl.h' line='262' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_defer_barrier_thread'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_mb_unregister_rculfhash_atfork(urcu_atfork*) -->
+    <function-decl name='urcu_mb_unregister_rculfhash_atfork' mangled-name='urcu_mb_unregister_rculfhash_atfork' filepath='src/urcu-call-rcu-impl.h' line='1012' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_unregister_rculfhash_atfork'>
+      <!-- parameter of type 'urcu_atfork*' -->
+      <parameter type-id='type-id-33' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1012' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_mb_register_rculfhash_atfork(urcu_atfork*) -->
+    <function-decl name='urcu_mb_register_rculfhash_atfork' mangled-name='urcu_mb_register_rculfhash_atfork' filepath='src/urcu-call-rcu-impl.h' line='1002' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_register_rculfhash_atfork'>
+      <!-- parameter of type 'urcu_atfork*' -->
+      <parameter type-id='type-id-33' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1012' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_mb_call_rcu_after_fork_child() -->
+    <function-decl name='urcu_mb_call_rcu_after_fork_child' mangled-name='urcu_mb_call_rcu_after_fork_child' filepath='src/urcu-call-rcu-impl.h' line='960' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_call_rcu_after_fork_child'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_mb_call_rcu_after_fork_parent() -->
+    <function-decl name='urcu_mb_call_rcu_after_fork_parent' mangled-name='urcu_mb_call_rcu_after_fork_parent' filepath='src/urcu-call-rcu-impl.h' line='938' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_call_rcu_after_fork_parent'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_mb_call_rcu_before_fork() -->
+    <function-decl name='urcu_mb_call_rcu_before_fork' mangled-name='urcu_mb_call_rcu_before_fork' filepath='src/urcu-call-rcu-impl.h' line='911' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_call_rcu_before_fork'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_mb_barrier() -->
+    <function-decl name='urcu_mb_barrier' mangled-name='urcu_mb_barrier' filepath='src/urcu-call-rcu-impl.h' line='840' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_barrier'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_mb_free_all_cpu_call_rcu_data() -->
+    <function-decl name='urcu_mb_free_all_cpu_call_rcu_data' mangled-name='urcu_mb_free_all_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='777' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_free_all_cpu_call_rcu_data'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
     <!-- struct call_rcu_data -->
-    <class-decl name='call_rcu_data' size-in-bits='1024' is-struct='yes' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='53' column='1' id='type-id-30'>
+    <class-decl name='call_rcu_data' size-in-bits='1024' is-struct='yes' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='53' column='1' id='type-id-36'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_tail call_rcu_data::cbs_tail -->
-        <var-decl name='cbs_tail' type-id='type-id-31' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='61' column='1'/>
+        <var-decl name='cbs_tail' type-id='type-id-37' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='61' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- cds_wfcq_head call_rcu_data::cbs_head -->
-        <var-decl name='cbs_head' type-id='type-id-32' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='62' column='1'/>
+        <var-decl name='cbs_head' type-id='type-id-38' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='62' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='448'>
         <!-- unsigned long int call_rcu_data::flags -->
-        <var-decl name='flags' type-id='type-id-3' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='63' column='1'/>
+        <var-decl name='flags' type-id='type-id-2' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='63' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='512'>
         <!-- int32_t call_rcu_data::futex -->
-        <var-decl name='futex' type-id='type-id-11' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='64' column='1'/>
+        <var-decl name='futex' type-id='type-id-3' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='64' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='576'>
         <!-- unsigned long int call_rcu_data::qlen -->
-        <var-decl name='qlen' type-id='type-id-3' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='65' column='1'/>
+        <var-decl name='qlen' type-id='type-id-2' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='65' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='640'>
         <!-- pthread_t call_rcu_data::tid -->
-        <var-decl name='tid' type-id='type-id-15' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='66' column='1'/>
+        <var-decl name='tid' type-id='type-id-9' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='66' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='704'>
         <!-- int call_rcu_data::cpu_affinity -->
-        <var-decl name='cpu_affinity' type-id='type-id-5' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='67' column='1'/>
+        <var-decl name='cpu_affinity' type-id='type-id-4' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='67' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='768'>
         <!-- unsigned long int call_rcu_data::gp_count -->
-        <var-decl name='gp_count' type-id='type-id-3' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='68' column='1'/>
+        <var-decl name='gp_count' type-id='type-id-2' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='68' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='832'>
         <!-- cds_list_head call_rcu_data::list -->
-        <var-decl name='list' type-id='type-id-14' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='69' column='1'/>
+        <var-decl name='list' type-id='type-id-8' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='69' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_tail -->
-    <class-decl name='cds_wfcq_tail' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='127' column='1' id='type-id-31'>
+    <class-decl name='cds_wfcq_tail' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='127' column='1' id='type-id-37'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node* cds_wfcq_tail::p -->
-        <var-decl name='p' type-id='type-id-26' visibility='default' filepath='../include/urcu/wfcqueue.h' line='128' column='1'/>
+        <var-decl name='p' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='128' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_head -->
-    <class-decl name='cds_wfcq_head' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='72' column='1' id='type-id-32'>
+    <class-decl name='cds_wfcq_head' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='72' column='1' id='type-id-38'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node cds_wfcq_head::node -->
-        <var-decl name='node' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='73' column='1'/>
+        <var-decl name='node' type-id='type-id-22' visibility='default' filepath='../include/urcu/wfcqueue.h' line='73' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- pthread_mutex_t cds_wfcq_head::lock -->
-        <var-decl name='lock' type-id='type-id-33' visibility='default' filepath='../include/urcu/wfcqueue.h' line='74' column='1'/>
+        <var-decl name='lock' type-id='type-id-39' visibility='default' filepath='../include/urcu/wfcqueue.h' line='74' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __anonymous_union__ pthread_mutex_t -->
-    <typedef-decl name='pthread_mutex_t' type-id='type-id-34' filepath='/usr/include/bits/pthreadtypes.h' line='72' column='1' id='type-id-33'/>
-    <!-- union {__pthread_mutex_s __data; char __size[40]; long int __align;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='67' column='1' id='type-id-34'>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='67' column='1' id='type-id-40'>
       <data-member access='private'>
-        <!-- __pthread_mutex_s __data -->
-        <var-decl name='__data' type-id='type-id-35' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='69' column='1'/>
+        <!-- __pthread_mutex_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-41' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='69' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- char __size[40] -->
-        <var-decl name='__size' type-id='type-id-2' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='70' column='1'/>
+        <!-- char __anonymous_union__::__size[40] -->
+        <var-decl name='__size' type-id='type-id-42' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='70' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- long int __align -->
-        <var-decl name='__align' type-id='type-id-6' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='71' column='1'/>
+        <!-- long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-43' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='71' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __pthread_mutex_s -->
-    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='22' column='1' id='type-id-35'>
+    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='118' column='1' id='type-id-41'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- int __pthread_mutex_s::__lock -->
-        <var-decl name='__lock' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='24' column='1'/>
+        <var-decl name='__lock' type-id='type-id-4' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='120' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='32'>
         <!-- unsigned int __pthread_mutex_s::__count -->
-        <var-decl name='__count' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='25' column='1'/>
+        <var-decl name='__count' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='121' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- int __pthread_mutex_s::__owner -->
-        <var-decl name='__owner' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='26' column='1'/>
+        <var-decl name='__owner' type-id='type-id-4' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='122' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='96'>
         <!-- unsigned int __pthread_mutex_s::__nusers -->
-        <var-decl name='__nusers' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='28' column='1'/>
+        <var-decl name='__nusers' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='124' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- int __pthread_mutex_s::__kind -->
-        <var-decl name='__kind' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='32' column='1'/>
+        <var-decl name='__kind' type-id='type-id-4' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='148' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='160'>
         <!-- short int __pthread_mutex_s::__spins -->
-        <var-decl name='__spins' type-id='type-id-7' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='34' column='1'/>
+        <var-decl name='__spins' type-id='type-id-44' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='176'>
         <!-- short int __pthread_mutex_s::__elision -->
-        <var-decl name='__elision' type-id='type-id-7' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='35' column='1'/>
+        <var-decl name='__elision' type-id='type-id-44' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- __pthread_list_t __pthread_mutex_s::__list -->
-        <var-decl name='__list' type-id='type-id-36' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='36' column='1'/>
+        <var-decl name='__list' type-id='type-id-45' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='155' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __pthread_internal_list __pthread_list_t -->
-    <typedef-decl name='__pthread_list_t' type-id='type-id-37' filepath='/usr/include/bits/thread-shared-types.h' line='53' column='1' id='type-id-36'/>
+    <!-- short int -->
+    <type-decl name='short int' size-in-bits='16' id='type-id-44'/>
     <!-- struct __pthread_internal_list -->
-    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='49' column='1' id='type-id-37'>
+    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='82' column='1' id='type-id-46'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- __pthread_internal_list* __pthread_internal_list::__prev -->
-        <var-decl name='__prev' type-id='type-id-38' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='51' column='1'/>
+        <var-decl name='__prev' type-id='type-id-47' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='84' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- __pthread_internal_list* __pthread_internal_list::__next -->
-        <var-decl name='__next' type-id='type-id-38' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='52' column='1'/>
+        <var-decl name='__next' type-id='type-id-47' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='85' column='1'/>
       </data-member>
     </class-decl>
     <!-- __pthread_internal_list* -->
-    <pointer-type-def type-id='type-id-37' size-in-bits='64' id='type-id-38'/>
+    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-47'/>
+    <!-- typedef __pthread_internal_list __pthread_list_t -->
+    <typedef-decl name='__pthread_list_t' type-id='type-id-46' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='86' column='1' id='type-id-45'/>
+
+    <!-- char[40] -->
+    <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='320' id='type-id-42'>
+      <!-- <anonymous range>[40] -->
+      <subrange length='40' type-id='type-id-2' id='type-id-48'/>
+
+    </array-type-def>
+    <!-- long int -->
+    <type-decl name='long int' size-in-bits='64' id='type-id-43'/>
+    <!-- typedef __anonymous_union__ pthread_mutex_t -->
+    <typedef-decl name='pthread_mutex_t' type-id='type-id-40' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='72' column='1' id='type-id-39'/>
     <!-- call_rcu_data* -->
-    <pointer-type-def type-id='type-id-30' size-in-bits='64' id='type-id-39'/>
-    <!-- cds_list_head* -->
-    <pointer-type-def type-id='type-id-14' size-in-bits='64' id='type-id-16'/>
-    <!-- cds_wfcq_node* -->
-    <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-26'/>
-    <!-- const rcu_flavor_struct -->
-    <qualified-type-def type-id='type-id-17' const='yes' id='type-id-40'/>
-    <!-- int ()* -->
-    <pointer-type-def type-id='type-id-41' size-in-bits='64' id='type-id-19'/>
-    <!-- rcu_head* -->
-    <pointer-type-def type-id='type-id-23' size-in-bits='64' id='type-id-42'/>
-    <!-- urcu_atfork* -->
-    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-43'/>
-    <!-- void ()* -->
-    <pointer-type-def type-id='type-id-44' size-in-bits='64' id='type-id-18'/>
-    <!-- void (rcu_head*)* -->
-    <pointer-type-def type-id='type-id-45' size-in-bits='64' id='type-id-25'/>
-    <!-- void (rcu_head*, void (rcu_head*)*)* -->
-    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-20'/>
-    <!-- void (urcu_atfork*)* -->
-    <pointer-type-def type-id='type-id-47' size-in-bits='64' id='type-id-22'/>
-    <!-- void (void (void*)*, void*)* -->
-    <pointer-type-def type-id='type-id-48' size-in-bits='64' id='type-id-21'/>
-    <!-- void (void*)* -->
-    <pointer-type-def type-id='type-id-49' size-in-bits='64' id='type-id-28'/>
-    <!-- void* -->
-    <pointer-type-def type-id='type-id-9' size-in-bits='64' id='type-id-29'/>
-    <!-- urcu_gp urcu_mb_gp -->
-    <var-decl name='urcu_mb_gp' type-id='type-id-10' mangled-name='urcu_mb_gp' visibility='default' filepath='../include/urcu/static/urcu-mb.h' line='60' column='1' elf-symbol-id='urcu_mb_gp'/>
-    <!-- urcu_reader urcu_mb_reader -->
-    <var-decl name='urcu_mb_reader' type-id='type-id-13' mangled-name='urcu_mb_reader' visibility='default' filepath='../include/urcu/static/urcu-mb.h' line='62' column='1' elf-symbol-id='urcu_mb_reader'/>
-    <!-- const rcu_flavor_struct urcu_mb_flavor -->
-    <var-decl name='urcu_mb_flavor' type-id='type-id-40' mangled-name='urcu_mb_flavor' visibility='default' filepath='../include/urcu/flavor.h' line='81' column='1' elf-symbol-id='urcu_mb_flavor'/>
-    <!-- void urcu_mb_defer_exit() -->
-    <function-decl name='urcu_mb_defer_exit' mangled-name='urcu_mb_defer_exit' filepath='src/urcu-defer-impl.h' line='467' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_defer_exit'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_mb_defer_unregister_thread() -->
-    <function-decl name='urcu_mb_defer_unregister_thread' mangled-name='urcu_mb_defer_unregister_thread' filepath='src/urcu-defer-impl.h' line='449' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_defer_unregister_thread'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- int urcu_mb_defer_register_thread() -->
-    <function-decl name='urcu_mb_defer_register_thread' mangled-name='urcu_mb_defer_register_thread' filepath='src/urcu-defer-impl.h' line='427' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_defer_register_thread'>
-      <!-- int -->
-      <return type-id='type-id-5'/>
-    </function-decl>
-    <!-- void urcu_mb_defer_rcu(void (void*)*, void*) -->
-    <function-decl name='urcu_mb_defer_rcu' mangled-name='urcu_mb_defer_rcu' filepath='src/urcu-defer-impl.h' line='396' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_defer_rcu'>
-      <!-- parameter of type 'void (void*)*' -->
-      <parameter type-id='type-id-28' name='fct' filepath='src/urcu-defer-impl.h' line='396' column='1'/>
-      <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='p' filepath='src/urcu-defer-impl.h' line='396' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_mb_defer_barrier() -->
-    <function-decl name='urcu_mb_defer_barrier' mangled-name='urcu_mb_defer_barrier' filepath='src/urcu-defer-impl.h' line='282' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_defer_barrier'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_mb_defer_barrier_thread() -->
-    <function-decl name='urcu_mb_defer_barrier_thread' mangled-name='urcu_mb_defer_barrier_thread' filepath='src/urcu-defer-impl.h' line='262' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_defer_barrier_thread'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_mb_unregister_rculfhash_atfork(urcu_atfork*) -->
-    <function-decl name='urcu_mb_unregister_rculfhash_atfork' mangled-name='urcu_mb_unregister_rculfhash_atfork' filepath='src/urcu-call-rcu-impl.h' line='1012' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_unregister_rculfhash_atfork'>
-      <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-43' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1012' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_mb_register_rculfhash_atfork(urcu_atfork*) -->
-    <function-decl name='urcu_mb_register_rculfhash_atfork' mangled-name='urcu_mb_register_rculfhash_atfork' filepath='src/urcu-call-rcu-impl.h' line='1002' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_register_rculfhash_atfork'>
-      <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-43' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1002' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_mb_call_rcu_after_fork_child() -->
-    <function-decl name='urcu_mb_call_rcu_after_fork_child' mangled-name='urcu_mb_call_rcu_after_fork_child' filepath='src/urcu-call-rcu-impl.h' line='960' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_call_rcu_after_fork_child'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_mb_call_rcu_after_fork_parent() -->
-    <function-decl name='urcu_mb_call_rcu_after_fork_parent' mangled-name='urcu_mb_call_rcu_after_fork_parent' filepath='src/urcu-call-rcu-impl.h' line='938' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_call_rcu_after_fork_parent'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_mb_call_rcu_before_fork() -->
-    <function-decl name='urcu_mb_call_rcu_before_fork' mangled-name='urcu_mb_call_rcu_before_fork' filepath='src/urcu-call-rcu-impl.h' line='911' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_call_rcu_before_fork'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_mb_barrier() -->
-    <function-decl name='urcu_mb_barrier' mangled-name='urcu_mb_barrier' filepath='src/urcu-call-rcu-impl.h' line='840' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_barrier'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_mb_free_all_cpu_call_rcu_data() -->
-    <function-decl name='urcu_mb_free_all_cpu_call_rcu_data' mangled-name='urcu_mb_free_all_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='777' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_free_all_cpu_call_rcu_data'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
+    <pointer-type-def type-id='type-id-36' size-in-bits='64' id='type-id-49'/>
     <!-- void urcu_mb_call_rcu_data_free(call_rcu_data*) -->
     <function-decl name='urcu_mb_call_rcu_data_free' mangled-name='urcu_mb_call_rcu_data_free' filepath='src/urcu-call-rcu-impl.h' line='742' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_call_rcu_data_free'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='742' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='742' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void urcu_mb_call_rcu(rcu_head*, void (rcu_head*)*) -->
     <function-decl name='urcu_mb_call_rcu' mangled-name='urcu_mb_call_rcu' filepath='src/urcu-call-rcu-impl.h' line='704' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_call_rcu'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42' name='head' filepath='src/urcu-call-rcu-impl.h' line='704' column='1'/>
+      <parameter type-id='type-id-25' name='head' filepath='src/urcu-call-rcu-impl.h' line='704' column='1'/>
       <!-- parameter of type 'void (rcu_head*)*' -->
-      <parameter type-id='type-id-25' name='func' filepath='src/urcu-call-rcu-impl.h' line='705' column='1'/>
+      <parameter type-id='type-id-23' name='func' filepath='src/urcu-call-rcu-impl.h' line='705' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- int urcu_mb_create_all_cpu_call_rcu_data(unsigned long int) -->
     <function-decl name='urcu_mb_create_all_cpu_call_rcu_data' mangled-name='urcu_mb_create_all_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='626' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_create_all_cpu_call_rcu_data'>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-3' name='flags' filepath='src/urcu-call-rcu-impl.h' line='626' column='1'/>
+      <parameter type-id='type-id-2' name='flags' filepath='src/urcu-call-rcu-impl.h' line='626' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-decl>
     <!-- void urcu_mb_set_thread_call_rcu_data(call_rcu_data*) -->
     <function-decl name='urcu_mb_set_thread_call_rcu_data' mangled-name='urcu_mb_set_thread_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='613' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_set_thread_call_rcu_data'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='613' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='613' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- call_rcu_data* urcu_mb_get_thread_call_rcu_data() -->
     <function-decl name='urcu_mb_get_thread_call_rcu_data' mangled-name='urcu_mb_get_thread_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='597' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_get_thread_call_rcu_data'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- call_rcu_data* urcu_mb_get_call_rcu_data() -->
     <function-decl name='urcu_mb_get_call_rcu_data' mangled-name='urcu_mb_get_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='577' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_get_call_rcu_data'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- call_rcu_data* urcu_mb_get_default_call_rcu_data() -->
     <function-decl name='urcu_mb_get_default_call_rcu_data' mangled-name='urcu_mb_get_default_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='552' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_get_default_call_rcu_data'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- int urcu_mb_set_cpu_call_rcu_data(int, call_rcu_data*) -->
     <function-decl name='urcu_mb_set_cpu_call_rcu_data' mangled-name='urcu_mb_set_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='513' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_set_cpu_call_rcu_data'>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='513' column='1'/>
+      <parameter type-id='type-id-4' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='513' column='1'/>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='513' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='513' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-decl>
     <!-- call_rcu_data* urcu_mb_create_call_rcu_data(unsigned long int, int) -->
     <function-decl name='urcu_mb_create_call_rcu_data' mangled-name='urcu_mb_create_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='489' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_create_call_rcu_data'>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-3' name='flags' filepath='src/urcu-call-rcu-impl.h' line='489' column='1'/>
+      <parameter type-id='type-id-2' name='flags' filepath='src/urcu-call-rcu-impl.h' line='489' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu_affinity' filepath='src/urcu-call-rcu-impl.h' line='490' column='1'/>
+      <parameter type-id='type-id-4' name='cpu_affinity' filepath='src/urcu-call-rcu-impl.h' line='490' column='1'/>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- pthread_t urcu_mb_get_call_rcu_thread(call_rcu_data*) -->
     <function-decl name='urcu_mb_get_call_rcu_thread' mangled-name='urcu_mb_get_call_rcu_thread' filepath='src/urcu-call-rcu-impl.h' line='471' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_get_call_rcu_thread'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='471' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='471' column='1'/>
       <!-- typedef pthread_t -->
-      <return type-id='type-id-15'/>
+      <return type-id='type-id-9'/>
     </function-decl>
     <!-- call_rcu_data* urcu_mb_get_cpu_call_rcu_data(int) -->
     <function-decl name='urcu_mb_get_cpu_call_rcu_data' mangled-name='urcu_mb_get_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='449' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_get_cpu_call_rcu_data'>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='449' column='1'/>
+      <parameter type-id='type-id-4' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='449' column='1'/>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- void urcu_mb_unregister_thread() -->
     <function-decl name='urcu_mb_unregister_thread' mangled-name='urcu_mb_unregister_thread' filepath='src/urcu.c' line='546' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_unregister_thread'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void urcu_mb_register_thread() -->
     <function-decl name='urcu_mb_register_thread' mangled-name='urcu_mb_register_thread' filepath='src/urcu.c' line='532' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_register_thread'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- int urcu_mb_read_ongoing() -->
     <function-decl name='urcu_mb_read_ongoing' mangled-name='urcu_mb_read_ongoing' filepath='src/urcu.c' line='527' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_read_ongoing'>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-decl>
     <!-- void urcu_mb_read_unlock() -->
     <function-decl name='urcu_mb_read_unlock' mangled-name='urcu_mb_read_unlock' filepath='src/urcu.c' line='522' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_read_unlock'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void urcu_mb_read_lock() -->
     <function-decl name='urcu_mb_read_lock' mangled-name='urcu_mb_read_lock' filepath='src/urcu.c' line='517' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_read_lock'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void urcu_mb_synchronize_rcu() -->
     <function-decl name='urcu_mb_synchronize_rcu' mangled-name='urcu_mb_synchronize_rcu' filepath='src/urcu.c' line='396' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_synchronize_rcu'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void urcu_mb_init() -->
     <function-decl name='urcu_mb_init' mangled-name='urcu_mb_init' filepath='src/urcu.c' line='103' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_init'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- int () -->
-    <function-type size-in-bits='64' id='type-id-41'>
+    <function-type size-in-bits='64' id='type-id-20'>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-type>
     <!-- void () -->
-    <function-type size-in-bits='64' id='type-id-44'>
+    <function-type size-in-bits='64' id='type-id-19'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (rcu_head*) -->
-    <function-type size-in-bits='64' id='type-id-45'>
+    <function-type size-in-bits='64' id='type-id-26'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42'/>
+      <parameter type-id='type-id-25'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (rcu_head*, void (rcu_head*)*) -->
-    <function-type size-in-bits='64' id='type-id-46'>
+    <function-type size-in-bits='64' id='type-id-27'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42'/>
-      <!-- parameter of type 'void (rcu_head*)*' -->
       <parameter type-id='type-id-25'/>
+      <!-- parameter of type 'void (rcu_head*)*' -->
+      <parameter type-id='type-id-23'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (urcu_atfork*) -->
-    <function-type size-in-bits='64' id='type-id-47'>
+    <function-type size-in-bits='64' id='type-id-34'>
       <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-43'/>
+      <parameter type-id='type-id-33'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (void (void*)*, void*) -->
-    <function-type size-in-bits='64' id='type-id-48'>
+    <function-type size-in-bits='64' id='type-id-31'>
       <!-- parameter of type 'void (void*)*' -->
-      <parameter type-id='type-id-28'/>
+      <parameter type-id='type-id-30'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29'/>
+      <parameter type-id='type-id-28'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (void*) -->
-    <function-type size-in-bits='64' id='type-id-49'>
+    <function-type size-in-bits='64' id='type-id-29'>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29'/>
+      <parameter type-id='type-id-28'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='urcu-pointer.c' comp-dir-path='src' language='LANG_C99'>
     <!-- void** -->
-    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-50'/>
+    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-50'/>
     <!-- void* rcu_cmpxchg_pointer_sym(void**, void*, void*) -->
     <function-decl name='rcu_cmpxchg_pointer_sym' mangled-name='rcu_cmpxchg_pointer_sym' filepath='src/urcu-pointer.c' line='53' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_cmpxchg_pointer_sym'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='53' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='old' filepath='src/urcu-pointer.c' line='53' column='1'/>
+      <parameter type-id='type-id-28' name='old' filepath='src/urcu-pointer.c' line='53' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='_new' filepath='src/urcu-pointer.c' line='53' column='1'/>
+      <parameter type-id='type-id-28' name='_new' filepath='src/urcu-pointer.c' line='53' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-28'/>
     </function-decl>
     <!-- void* rcu_xchg_pointer_sym(void**, void*) -->
     <function-decl name='rcu_xchg_pointer_sym' mangled-name='rcu_xchg_pointer_sym' filepath='src/urcu-pointer.c' line='47' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_xchg_pointer_sym'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='47' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='v' filepath='src/urcu-pointer.c' line='47' column='1'/>
+      <parameter type-id='type-id-28' name='v' filepath='src/urcu-pointer.c' line='47' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-28'/>
     </function-decl>
     <!-- void* rcu_set_pointer_sym(void**, void*) -->
     <function-decl name='rcu_set_pointer_sym' mangled-name='rcu_set_pointer_sym' filepath='src/urcu-pointer.c' line='40' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_set_pointer_sym'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='40' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='v' filepath='src/urcu-pointer.c' line='40' column='1'/>
+      <parameter type-id='type-id-28' name='v' filepath='src/urcu-pointer.c' line='40' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-28'/>
     </function-decl>
     <!-- void* rcu_dereference_sym(void*) -->
     <function-decl name='rcu_dereference_sym' mangled-name='rcu_dereference_sym' filepath='src/urcu-pointer.c' line='35' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_dereference_sym'>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='p' filepath='src/urcu-pointer.c' line='35' column='1'/>
+      <parameter type-id='type-id-28' name='p' filepath='src/urcu-pointer.c' line='35' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-28'/>
     </function-decl>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='compat_futex.c' comp-dir-path='src' language='LANG_C99'>
-
-
-    <!-- char[48] -->
-    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='384' id='type-id-51'>
-      <!-- <anonymous range>[48] -->
-      <subrange length='48' type-id='type-id-3' id='type-id-52'/>
-
-    </array-type-def>
-    <!-- long long int -->
-    <type-decl name='long long int' size-in-bits='64' id='type-id-53'/>
-    <!-- long long unsigned int -->
-    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-54'/>
-    <!-- unsigned int[2] -->
-    <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='64' id='type-id-55'>
-      <!-- <anonymous range>[2] -->
-      <subrange length='2' type-id='type-id-3' id='type-id-56'/>
-
-    </array-type-def>
-    <!-- typedef __anonymous_union__ pthread_cond_t -->
-    <typedef-decl name='pthread_cond_t' type-id='type-id-57' filepath='/usr/include/bits/pthreadtypes.h' line='80' column='1' id='type-id-58'/>
-    <!-- union {__pthread_cond_s __data; char __size[48]; long long int __align;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='75' column='1' id='type-id-57'>
+    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
+    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-39' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='75' column='1' id='type-id-51'>
       <data-member access='private'>
-        <!-- __pthread_cond_s __data -->
-        <var-decl name='__data' type-id='type-id-59' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='77' column='1'/>
+        <!-- __pthread_cond_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-52' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='77' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- char __size[48] -->
-        <var-decl name='__size' type-id='type-id-51' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='78' column='1'/>
+        <!-- char __anonymous_union__::__size[48] -->
+        <var-decl name='__size' type-id='type-id-53' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='78' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- long long int __align -->
-        <var-decl name='__align' type-id='type-id-53' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='79' column='1'/>
+        <!-- long long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-54' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='79' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __pthread_cond_s -->
-    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='92' column='1' id='type-id-59'>
+    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='171' column='1' id='type-id-52'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <!-- union {long long unsigned int __wseq; struct {unsigned int __low; unsigned int __high;} __wseq32;} -->
-        <var-decl name='' type-id='type-id-60' visibility='default'/>
+        <!-- __anonymous_union__  -->
+        <var-decl name='' type-id='type-id-55' visibility='default'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- unsigned int __pthread_cond_s::__g_refs[2] -->
-        <var-decl name='__g_refs' type-id='type-id-55' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='112' column='1'/>
+        <var-decl name='__g_refs' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='191' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- unsigned int __pthread_cond_s::__g_size[2] -->
-        <var-decl name='__g_size' type-id='type-id-55' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='113' column='1'/>
+        <var-decl name='__g_size' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='192' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- unsigned int __pthread_cond_s::__g1_orig_size -->
-        <var-decl name='__g1_orig_size' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='114' column='1'/>
+        <var-decl name='__g1_orig_size' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='193' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='288'>
         <!-- unsigned int __pthread_cond_s::__wrefs -->
-        <var-decl name='__wrefs' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='115' column='1'/>
+        <var-decl name='__wrefs' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='194' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
         <!-- unsigned int __pthread_cond_s::__g_signals[2] -->
-        <var-decl name='__g_signals' type-id='type-id-55' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='116' column='1'/>
+        <var-decl name='__g_signals' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='195' column='1'/>
       </data-member>
     </class-decl>
-    <!-- union {long long unsigned int __wseq; struct {unsigned int __low; unsigned int __high;} __wseq32;} -->
-    <union-decl name='__anonymous_union__1' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='94' column='1' id='type-id-60'>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='173' column='1' id='type-id-55'>
       <data-member access='private'>
-        <!-- long long unsigned int __wseq -->
-        <var-decl name='__wseq' type-id='type-id-54' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='96' column='1'/>
+        <!-- long long unsigned int __anonymous_union__::__wseq -->
+        <var-decl name='__wseq' type-id='type-id-57' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='175' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- struct {unsigned int __low; unsigned int __high;} __wseq32 -->
-        <var-decl name='__wseq32' type-id='type-id-61' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='101' column='1'/>
+        <!-- __anonymous_struct__ __anonymous_union__::__wseq32 -->
+        <var-decl name='__wseq32' type-id='type-id-58' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='180' column='1'/>
       </data-member>
     </union-decl>
-    <!-- struct {unsigned int __low; unsigned int __high;} -->
-    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='97' column='1' id='type-id-61'>
+    <!-- long long unsigned int -->
+    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-57'/>
+    <!-- struct __anonymous_struct__ -->
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='176' column='1' id='type-id-58'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <!-- unsigned int __low -->
-        <var-decl name='__low' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='99' column='1'/>
+        <!-- unsigned int __anonymous_struct__::__low -->
+        <var-decl name='__low' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='178' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='32'>
-        <!-- unsigned int __high -->
-        <var-decl name='__high' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='100' column='1'/>
+        <!-- unsigned int __anonymous_struct__::__high -->
+        <var-decl name='__high' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='179' column='1'/>
       </data-member>
     </class-decl>
+
+    <!-- unsigned int[2] -->
+    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='64' id='type-id-56'>
+      <!-- <anonymous range>[2] -->
+      <subrange length='2' type-id='type-id-2' id='type-id-59'/>
+
+    </array-type-def>
+
+    <!-- char[48] -->
+    <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='384' id='type-id-53'>
+      <!-- <anonymous range>[48] -->
+      <subrange length='48' type-id='type-id-2' id='type-id-60'/>
+
+    </array-type-def>
+    <!-- long long int -->
+    <type-decl name='long long int' size-in-bits='64' id='type-id-54'/>
+    <!-- typedef __anonymous_union__ pthread_cond_t -->
+    <typedef-decl name='pthread_cond_t' type-id='type-id-51' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='80' column='1' id='type-id-61'/>
+    <!-- pthread_cond_t __urcu_compat_futex_cond -->
+    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-61' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
+    <!-- int32_t* -->
+    <pointer-type-def type-id='type-id-3' size-in-bits='64' id='type-id-62'/>
     <!-- struct timespec -->
-    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='10' column='1' id='type-id-62'>
+    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='9' column='1' id='type-id-63'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- __time_t timespec::tv_sec -->
-        <var-decl name='tv_sec' type-id='type-id-63' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='12' column='1'/>
+        <var-decl name='tv_sec' type-id='type-id-64' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='11' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- __syscall_slong_t timespec::tv_nsec -->
-        <var-decl name='tv_nsec' type-id='type-id-64' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='16' column='1'/>
+        <var-decl name='tv_nsec' type-id='type-id-65' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='12' column='1'/>
       </data-member>
     </class-decl>
     <!-- typedef long int __time_t -->
-    <typedef-decl name='__time_t' type-id='type-id-6' filepath='/usr/include/bits/types.h' line='160' column='1' id='type-id-63'/>
+    <typedef-decl name='__time_t' type-id='type-id-43' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='148' column='1' id='type-id-64'/>
     <!-- typedef long int __syscall_slong_t -->
-    <typedef-decl name='__syscall_slong_t' type-id='type-id-6' filepath='/usr/include/bits/types.h' line='197' column='1' id='type-id-64'/>
+    <typedef-decl name='__syscall_slong_t' type-id='type-id-43' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='184' column='1' id='type-id-65'/>
     <!-- const timespec -->
-    <qualified-type-def type-id='type-id-62' const='yes' id='type-id-65'/>
+    <qualified-type-def type-id='type-id-63' const='yes' id='type-id-66'/>
     <!-- const timespec* -->
-    <pointer-type-def type-id='type-id-65' size-in-bits='64' id='type-id-66'/>
-    <!-- int32_t* -->
-    <pointer-type-def type-id='type-id-11' size-in-bits='64' id='type-id-67'/>
-    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
-    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-33' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
-    <!-- pthread_cond_t __urcu_compat_futex_cond -->
-    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-58' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
+    <pointer-type-def type-id='type-id-66' size-in-bits='64' id='type-id-67'/>
     <!-- int compat_futex_async(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
     <function-decl name='compat_futex_async' mangled-name='compat_futex_async' filepath='src/compat_futex.c' line='118' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_async'>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-4' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-3' name='val' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'const timespec*' -->
-      <parameter type-id='type-id-66' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-67' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val3' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-3' name='val3' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-decl>
     <!-- int compat_futex_noasync(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
     <function-decl name='compat_futex_noasync' mangled-name='compat_futex_noasync' filepath='src/compat_futex.c' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_noasync'>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-4' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-3' name='val' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'const timespec*' -->
-      <parameter type-id='type-id-66' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-67' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val3' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-3' name='val3' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-decl>
   </abi-instr>
 </abi-corpus>
index 56a91f9bb3acd5316db63ff4538d47b22bdf885a..d6ff85d5a06ed3e55a39101322794d278a61a21f 100644 (file)
@@ -1,11 +1,14 @@
 <abi-corpus architecture='elf-amd-x86_64' soname='liburcu-memb.so.8'>
   <elf-needed>
-    <dependency name='liburcu-common.so.8'/>
     <dependency name='libpthread.so.0'/>
     <dependency name='libc.so.6'/>
     <dependency name='ld-linux-x86-64.so.2'/>
   </elf-needed>
   <elf-function-symbols>
+    <!-- _fini -->
+    <elf-symbol name='_fini' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- _init -->
+    <elf-symbol name='_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- compat_futex_async -->
     <elf-symbol name='compat_futex_async' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- compat_futex_noasync -->
     <elf-symbol name='urcu_memb_reader' size='256' type='tls-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
   </elf-variable-symbols>
   <abi-instr version='1.0' address-size='64' path='urcu.c' comp-dir-path='src' language='LANG_C99'>
-
-    <!-- char -->
-    <type-decl name='char' size-in-bits='8' id='type-id-1'/>
-    <!-- char[40] -->
-    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='320' id='type-id-2'>
-      <!-- <anonymous range>[40] -->
-      <subrange length='40' type-id='type-id-3' id='type-id-4'/>
-
-    </array-type-def>
     <!-- int -->
-    <type-decl name='int' size-in-bits='32' id='type-id-5'/>
-    <!-- long int -->
-    <type-decl name='long int' size-in-bits='64' id='type-id-6'/>
-    <!-- short int -->
-    <type-decl name='short int' size-in-bits='16' id='type-id-7'/>
-    <!-- unsigned int -->
-    <type-decl name='unsigned int' size-in-bits='32' id='type-id-8'/>
-    <!-- unsigned long int -->
-    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-3'/>
-    <!-- void -->
-    <type-decl name='void' id='type-id-9'/>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <!-- int urcu_memb_has_sys_membarrier -->
+    <var-decl name='urcu_memb_has_sys_membarrier' type-id='type-id-1' mangled-name='urcu_memb_has_sys_membarrier' visibility='default' filepath='../include/urcu/static/urcu-memb.h' line='72' column='1' elf-symbol-id='urcu_memb_has_sys_membarrier'/>
     <!-- struct urcu_gp -->
-    <class-decl name='urcu_gp' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='67' column='1' id='type-id-10'>
+    <class-decl name='urcu_gp' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='67' column='1' id='type-id-2'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned long int urcu_gp::ctr -->
         <var-decl name='ctr' type-id='type-id-3' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='75' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- int32_t urcu_gp::futex -->
-        <var-decl name='futex' type-id='type-id-11' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='77' column='1'/>
+        <var-decl name='futex' type-id='type-id-4' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='77' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __int32_t int32_t -->
-    <typedef-decl name='int32_t' type-id='type-id-12' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-11'/>
+    <!-- unsigned long int -->
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-3'/>
     <!-- typedef int __int32_t -->
-    <typedef-decl name='__int32_t' type-id='type-id-5' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-12'/>
+    <typedef-decl name='__int32_t' type-id='type-id-1' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='40' column='1' id='type-id-5'/>
+    <!-- typedef __int32_t int32_t -->
+    <typedef-decl name='int32_t' type-id='type-id-5' filepath='/usr/include/x86_64-linux-gnu/bits/stdint-intn.h' line='26' column='1' id='type-id-4'/>
+    <!-- urcu_gp urcu_memb_gp -->
+    <var-decl name='urcu_memb_gp' type-id='type-id-2' mangled-name='urcu_memb_gp' visibility='default' filepath='../include/urcu/static/urcu-memb.h' line='83' column='1' elf-symbol-id='urcu_memb_gp'/>
     <!-- struct urcu_reader -->
-    <class-decl name='urcu_reader' size-in-bits='2048' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='80' column='1' id='type-id-13'>
+    <class-decl name='urcu_reader' size-in-bits='2048' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='80' column='1' id='type-id-6'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned long int urcu_reader::ctr -->
         <var-decl name='ctr' type-id='type-id-3' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='82' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- char urcu_reader::need_mb -->
-        <var-decl name='need_mb' type-id='type-id-1' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='83' column='1'/>
+        <var-decl name='need_mb' type-id='type-id-7' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='83' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1024'>
         <!-- cds_list_head urcu_reader::node -->
-        <var-decl name='node' type-id='type-id-14' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='85' column='1'/>
+        <var-decl name='node' type-id='type-id-8' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='85' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1152'>
         <!-- pthread_t urcu_reader::tid -->
-        <var-decl name='tid' type-id='type-id-15' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='86' column='1'/>
+        <var-decl name='tid' type-id='type-id-9' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='86' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='31'>
         <!-- unsigned int urcu_reader::registered -->
-        <var-decl name='registered' type-id='type-id-8' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='88' column='1'/>
+        <var-decl name='registered' type-id='type-id-10' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='88' column='1'/>
       </data-member>
     </class-decl>
+    <!-- char -->
+    <type-decl name='char' size-in-bits='8' id='type-id-7'/>
     <!-- struct cds_list_head -->
-    <class-decl name='cds_list_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/list.h' line='37' column='1' id='type-id-14'>
+    <class-decl name='cds_list_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/list.h' line='37' column='1' id='type-id-8'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_list_head* cds_list_head::next -->
-        <var-decl name='next' type-id='type-id-16' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
+        <var-decl name='next' type-id='type-id-11' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- cds_list_head* cds_list_head::prev -->
-        <var-decl name='prev' type-id='type-id-16' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
+        <var-decl name='prev' type-id='type-id-11' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_list_head* -->
+    <pointer-type-def type-id='type-id-8' size-in-bits='64' id='type-id-11'/>
     <!-- typedef unsigned long int pthread_t -->
-    <typedef-decl name='pthread_t' type-id='type-id-3' filepath='/usr/include/bits/pthreadtypes.h' line='27' column='1' id='type-id-15'/>
+    <typedef-decl name='pthread_t' type-id='type-id-3' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='27' column='1' id='type-id-9'/>
+    <!-- unsigned int -->
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-10'/>
+    <!-- urcu_reader urcu_memb_reader -->
+    <var-decl name='urcu_memb_reader' type-id='type-id-6' mangled-name='urcu_memb_reader' visibility='default' filepath='../include/urcu/static/urcu-memb.h' line='85' column='1' elf-symbol-id='urcu_memb_reader'/>
     <!-- struct rcu_flavor_struct -->
-    <class-decl name='rcu_flavor_struct' size-in-bits='896' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='42' column='1' id='type-id-17'>
+    <class-decl name='rcu_flavor_struct' size-in-bits='896' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='42' column='1' id='type-id-12'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- void ()* rcu_flavor_struct::read_lock -->
-        <var-decl name='read_lock' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='43' column='1'/>
+        <var-decl name='read_lock' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='43' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void ()* rcu_flavor_struct::read_unlock -->
-        <var-decl name='read_unlock' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='44' column='1'/>
+        <var-decl name='read_unlock' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='44' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- int ()* rcu_flavor_struct::read_ongoing -->
-        <var-decl name='read_ongoing' type-id='type-id-19' visibility='default' filepath='../include/urcu/flavor.h' line='45' column='1'/>
+        <var-decl name='read_ongoing' type-id='type-id-14' visibility='default' filepath='../include/urcu/flavor.h' line='45' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- void ()* rcu_flavor_struct::read_quiescent_state -->
-        <var-decl name='read_quiescent_state' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='46' column='1'/>
+        <var-decl name='read_quiescent_state' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='46' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- void (rcu_head*, void (rcu_head*)*)* rcu_flavor_struct::update_call_rcu -->
-        <var-decl name='update_call_rcu' type-id='type-id-20' visibility='default' filepath='../include/urcu/flavor.h' line='47' column='1'/>
+        <var-decl name='update_call_rcu' type-id='type-id-15' visibility='default' filepath='../include/urcu/flavor.h' line='47' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
         <!-- void ()* rcu_flavor_struct::update_synchronize_rcu -->
-        <var-decl name='update_synchronize_rcu' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='49' column='1'/>
+        <var-decl name='update_synchronize_rcu' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='49' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='384'>
         <!-- void (void (void*)*, void*)* rcu_flavor_struct::update_defer_rcu -->
-        <var-decl name='update_defer_rcu' type-id='type-id-21' visibility='default' filepath='../include/urcu/flavor.h' line='50' column='1'/>
+        <var-decl name='update_defer_rcu' type-id='type-id-16' visibility='default' filepath='../include/urcu/flavor.h' line='50' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='448'>
         <!-- void ()* rcu_flavor_struct::thread_offline -->
-        <var-decl name='thread_offline' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='52' column='1'/>
+        <var-decl name='thread_offline' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='52' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='512'>
         <!-- void ()* rcu_flavor_struct::thread_online -->
-        <var-decl name='thread_online' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='53' column='1'/>
+        <var-decl name='thread_online' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='53' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='576'>
         <!-- void ()* rcu_flavor_struct::register_thread -->
-        <var-decl name='register_thread' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='54' column='1'/>
+        <var-decl name='register_thread' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='54' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='640'>
         <!-- void ()* rcu_flavor_struct::unregister_thread -->
-        <var-decl name='unregister_thread' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='55' column='1'/>
+        <var-decl name='unregister_thread' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='55' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='704'>
         <!-- void ()* rcu_flavor_struct::barrier -->
-        <var-decl name='barrier' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='57' column='1'/>
+        <var-decl name='barrier' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='57' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='768'>
         <!-- void (urcu_atfork*)* rcu_flavor_struct::register_rculfhash_atfork -->
-        <var-decl name='register_rculfhash_atfork' type-id='type-id-22' visibility='default' filepath='../include/urcu/flavor.h' line='59' column='1'/>
+        <var-decl name='register_rculfhash_atfork' type-id='type-id-17' visibility='default' filepath='../include/urcu/flavor.h' line='59' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='832'>
         <!-- void (urcu_atfork*)* rcu_flavor_struct::unregister_rculfhash_atfork -->
-        <var-decl name='unregister_rculfhash_atfork' type-id='type-id-22' visibility='default' filepath='../include/urcu/flavor.h' line='60' column='1'/>
+        <var-decl name='unregister_rculfhash_atfork' type-id='type-id-17' visibility='default' filepath='../include/urcu/flavor.h' line='60' column='1'/>
       </data-member>
     </class-decl>
+    <!-- void -->
+    <type-decl name='void' id='type-id-18'/>
+    <!-- void ()* -->
+    <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-13'/>
+    <!-- int ()* -->
+    <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-14'/>
     <!-- struct rcu_head -->
-    <class-decl name='rcu_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/call-rcu.h' line='57' column='1' id='type-id-23'>
+    <class-decl name='rcu_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/call-rcu.h' line='57' column='1' id='type-id-21'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node rcu_head::next -->
-        <var-decl name='next' type-id='type-id-24' visibility='default' filepath='../include/urcu/call-rcu.h' line='58' column='1'/>
+        <var-decl name='next' type-id='type-id-22' visibility='default' filepath='../include/urcu/call-rcu.h' line='58' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void (rcu_head*)* rcu_head::func -->
-        <var-decl name='func' type-id='type-id-25' visibility='default' filepath='../include/urcu/call-rcu.h' line='59' column='1'/>
+        <var-decl name='func' type-id='type-id-23' visibility='default' filepath='../include/urcu/call-rcu.h' line='59' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_node -->
-    <class-decl name='cds_wfcq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='59' column='1' id='type-id-24'>
+    <class-decl name='cds_wfcq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='59' column='1' id='type-id-22'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node* cds_wfcq_node::next -->
-        <var-decl name='next' type-id='type-id-26' visibility='default' filepath='../include/urcu/wfcqueue.h' line='60' column='1'/>
+        <var-decl name='next' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='60' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_wfcq_node* -->
+    <pointer-type-def type-id='type-id-22' size-in-bits='64' id='type-id-24'/>
+    <!-- rcu_head* -->
+    <pointer-type-def type-id='type-id-21' size-in-bits='64' id='type-id-25'/>
+    <!-- void (rcu_head*)* -->
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-23'/>
+    <!-- void (rcu_head*, void (rcu_head*)*)* -->
+    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-15'/>
+    <!-- void* -->
+    <pointer-type-def type-id='type-id-18' size-in-bits='64' id='type-id-28'/>
+    <!-- void (void*)* -->
+    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-30'/>
+    <!-- void (void (void*)*, void*)* -->
+    <pointer-type-def type-id='type-id-31' size-in-bits='64' id='type-id-16'/>
     <!-- struct urcu_atfork -->
-    <class-decl name='urcu_atfork' size-in-bits='256' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='32' column='1' id='type-id-27'>
+    <class-decl name='urcu_atfork' size-in-bits='256' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='32' column='1' id='type-id-32'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- void (void*)* urcu_atfork::before_fork -->
-        <var-decl name='before_fork' type-id='type-id-28' visibility='default' filepath='../include/urcu/flavor.h' line='33' column='1'/>
+        <var-decl name='before_fork' type-id='type-id-30' visibility='default' filepath='../include/urcu/flavor.h' line='33' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void (void*)* urcu_atfork::after_fork_parent -->
-        <var-decl name='after_fork_parent' type-id='type-id-28' visibility='default' filepath='../include/urcu/flavor.h' line='34' column='1'/>
+        <var-decl name='after_fork_parent' type-id='type-id-30' visibility='default' filepath='../include/urcu/flavor.h' line='34' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- void (void*)* urcu_atfork::after_fork_child -->
-        <var-decl name='after_fork_child' type-id='type-id-28' visibility='default' filepath='../include/urcu/flavor.h' line='35' column='1'/>
+        <var-decl name='after_fork_child' type-id='type-id-30' visibility='default' filepath='../include/urcu/flavor.h' line='35' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- void* urcu_atfork::priv -->
-        <var-decl name='priv' type-id='type-id-29' visibility='default' filepath='../include/urcu/flavor.h' line='36' column='1'/>
+        <var-decl name='priv' type-id='type-id-28' visibility='default' filepath='../include/urcu/flavor.h' line='36' column='1'/>
       </data-member>
     </class-decl>
+    <!-- urcu_atfork* -->
+    <pointer-type-def type-id='type-id-32' size-in-bits='64' id='type-id-33'/>
+    <!-- void (urcu_atfork*)* -->
+    <pointer-type-def type-id='type-id-34' size-in-bits='64' id='type-id-17'/>
+    <!-- const rcu_flavor_struct -->
+    <qualified-type-def type-id='type-id-12' const='yes' id='type-id-35'/>
+    <!-- const rcu_flavor_struct urcu_memb_flavor -->
+    <var-decl name='urcu_memb_flavor' type-id='type-id-35' mangled-name='urcu_memb_flavor' visibility='default' filepath='../include/urcu/flavor.h' line='81' column='1' elf-symbol-id='urcu_memb_flavor'/>
+    <!-- void urcu_memb_defer_exit() -->
+    <function-decl name='urcu_memb_defer_exit' mangled-name='urcu_memb_defer_exit' filepath='src/urcu-defer-impl.h' line='467' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_defer_exit'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_defer_unregister_thread() -->
+    <function-decl name='urcu_memb_defer_unregister_thread' mangled-name='urcu_memb_defer_unregister_thread' filepath='src/urcu-defer-impl.h' line='449' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_defer_unregister_thread'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- int urcu_memb_defer_register_thread() -->
+    <function-decl name='urcu_memb_defer_register_thread' mangled-name='urcu_memb_defer_register_thread' filepath='src/urcu-defer-impl.h' line='427' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_defer_register_thread'>
+      <!-- int -->
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <!-- void urcu_memb_defer_rcu(void (void*)*, void*) -->
+    <function-decl name='urcu_memb_defer_rcu' mangled-name='urcu_memb_defer_rcu' filepath='src/urcu-defer-impl.h' line='396' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_defer_rcu'>
+      <!-- parameter of type 'void (void*)*' -->
+      <parameter type-id='type-id-30' name='fct' filepath='src/urcu-defer-impl.h' line='396' column='1'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-28' name='p' filepath='src/urcu-defer-impl.h' line='396' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_defer_barrier() -->
+    <function-decl name='urcu_memb_defer_barrier' mangled-name='urcu_memb_defer_barrier' filepath='src/urcu-defer-impl.h' line='282' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_defer_barrier'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_defer_barrier_thread() -->
+    <function-decl name='urcu_memb_defer_barrier_thread' mangled-name='urcu_memb_defer_barrier_thread' filepath='src/urcu-defer-impl.h' line='262' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_defer_barrier_thread'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_unregister_rculfhash_atfork(urcu_atfork*) -->
+    <function-decl name='urcu_memb_unregister_rculfhash_atfork' mangled-name='urcu_memb_unregister_rculfhash_atfork' filepath='src/urcu-call-rcu-impl.h' line='1012' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_unregister_rculfhash_atfork'>
+      <!-- parameter of type 'urcu_atfork*' -->
+      <parameter type-id='type-id-33' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1012' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_register_rculfhash_atfork(urcu_atfork*) -->
+    <function-decl name='urcu_memb_register_rculfhash_atfork' mangled-name='urcu_memb_register_rculfhash_atfork' filepath='src/urcu-call-rcu-impl.h' line='1002' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_register_rculfhash_atfork'>
+      <!-- parameter of type 'urcu_atfork*' -->
+      <parameter type-id='type-id-33' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1012' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_call_rcu_after_fork_child() -->
+    <function-decl name='urcu_memb_call_rcu_after_fork_child' mangled-name='urcu_memb_call_rcu_after_fork_child' filepath='src/urcu-call-rcu-impl.h' line='960' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_call_rcu_after_fork_child'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_call_rcu_after_fork_parent() -->
+    <function-decl name='urcu_memb_call_rcu_after_fork_parent' mangled-name='urcu_memb_call_rcu_after_fork_parent' filepath='src/urcu-call-rcu-impl.h' line='938' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_call_rcu_after_fork_parent'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_call_rcu_before_fork() -->
+    <function-decl name='urcu_memb_call_rcu_before_fork' mangled-name='urcu_memb_call_rcu_before_fork' filepath='src/urcu-call-rcu-impl.h' line='911' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_call_rcu_before_fork'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_barrier() -->
+    <function-decl name='urcu_memb_barrier' mangled-name='urcu_memb_barrier' filepath='src/urcu-call-rcu-impl.h' line='840' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_barrier'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_free_all_cpu_call_rcu_data() -->
+    <function-decl name='urcu_memb_free_all_cpu_call_rcu_data' mangled-name='urcu_memb_free_all_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='777' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_free_all_cpu_call_rcu_data'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
     <!-- struct call_rcu_data -->
-    <class-decl name='call_rcu_data' size-in-bits='1024' is-struct='yes' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='53' column='1' id='type-id-30'>
+    <class-decl name='call_rcu_data' size-in-bits='1024' is-struct='yes' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='53' column='1' id='type-id-36'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_tail call_rcu_data::cbs_tail -->
-        <var-decl name='cbs_tail' type-id='type-id-31' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='61' column='1'/>
+        <var-decl name='cbs_tail' type-id='type-id-37' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='61' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- cds_wfcq_head call_rcu_data::cbs_head -->
-        <var-decl name='cbs_head' type-id='type-id-32' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='62' column='1'/>
+        <var-decl name='cbs_head' type-id='type-id-38' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='62' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='448'>
         <!-- unsigned long int call_rcu_data::flags -->
       </data-member>
       <data-member access='public' layout-offset-in-bits='512'>
         <!-- int32_t call_rcu_data::futex -->
-        <var-decl name='futex' type-id='type-id-11' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='64' column='1'/>
+        <var-decl name='futex' type-id='type-id-4' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='64' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='576'>
         <!-- unsigned long int call_rcu_data::qlen -->
       </data-member>
       <data-member access='public' layout-offset-in-bits='640'>
         <!-- pthread_t call_rcu_data::tid -->
-        <var-decl name='tid' type-id='type-id-15' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='66' column='1'/>
+        <var-decl name='tid' type-id='type-id-9' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='66' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='704'>
         <!-- int call_rcu_data::cpu_affinity -->
-        <var-decl name='cpu_affinity' type-id='type-id-5' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='67' column='1'/>
+        <var-decl name='cpu_affinity' type-id='type-id-1' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='67' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='768'>
         <!-- unsigned long int call_rcu_data::gp_count -->
       </data-member>
       <data-member access='public' layout-offset-in-bits='832'>
         <!-- cds_list_head call_rcu_data::list -->
-        <var-decl name='list' type-id='type-id-14' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='69' column='1'/>
+        <var-decl name='list' type-id='type-id-8' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='69' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_tail -->
-    <class-decl name='cds_wfcq_tail' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='127' column='1' id='type-id-31'>
+    <class-decl name='cds_wfcq_tail' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='127' column='1' id='type-id-37'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node* cds_wfcq_tail::p -->
-        <var-decl name='p' type-id='type-id-26' visibility='default' filepath='../include/urcu/wfcqueue.h' line='128' column='1'/>
+        <var-decl name='p' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='128' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_head -->
-    <class-decl name='cds_wfcq_head' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='72' column='1' id='type-id-32'>
+    <class-decl name='cds_wfcq_head' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='72' column='1' id='type-id-38'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node cds_wfcq_head::node -->
-        <var-decl name='node' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='73' column='1'/>
+        <var-decl name='node' type-id='type-id-22' visibility='default' filepath='../include/urcu/wfcqueue.h' line='73' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- pthread_mutex_t cds_wfcq_head::lock -->
-        <var-decl name='lock' type-id='type-id-33' visibility='default' filepath='../include/urcu/wfcqueue.h' line='74' column='1'/>
+        <var-decl name='lock' type-id='type-id-39' visibility='default' filepath='../include/urcu/wfcqueue.h' line='74' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __anonymous_union__ pthread_mutex_t -->
-    <typedef-decl name='pthread_mutex_t' type-id='type-id-34' filepath='/usr/include/bits/pthreadtypes.h' line='72' column='1' id='type-id-33'/>
-    <!-- union {__pthread_mutex_s __data; char __size[40]; long int __align;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='67' column='1' id='type-id-34'>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='67' column='1' id='type-id-40'>
       <data-member access='private'>
-        <!-- __pthread_mutex_s __data -->
-        <var-decl name='__data' type-id='type-id-35' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='69' column='1'/>
+        <!-- __pthread_mutex_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-41' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='69' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- char __size[40] -->
-        <var-decl name='__size' type-id='type-id-2' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='70' column='1'/>
+        <!-- char __anonymous_union__::__size[40] -->
+        <var-decl name='__size' type-id='type-id-42' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='70' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- long int __align -->
-        <var-decl name='__align' type-id='type-id-6' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='71' column='1'/>
+        <!-- long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-43' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='71' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __pthread_mutex_s -->
-    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='22' column='1' id='type-id-35'>
+    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='118' column='1' id='type-id-41'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- int __pthread_mutex_s::__lock -->
-        <var-decl name='__lock' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='24' column='1'/>
+        <var-decl name='__lock' type-id='type-id-1' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='120' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='32'>
         <!-- unsigned int __pthread_mutex_s::__count -->
-        <var-decl name='__count' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='25' column='1'/>
+        <var-decl name='__count' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='121' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- int __pthread_mutex_s::__owner -->
-        <var-decl name='__owner' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='26' column='1'/>
+        <var-decl name='__owner' type-id='type-id-1' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='122' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='96'>
         <!-- unsigned int __pthread_mutex_s::__nusers -->
-        <var-decl name='__nusers' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='28' column='1'/>
+        <var-decl name='__nusers' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='124' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- int __pthread_mutex_s::__kind -->
-        <var-decl name='__kind' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='32' column='1'/>
+        <var-decl name='__kind' type-id='type-id-1' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='148' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='160'>
         <!-- short int __pthread_mutex_s::__spins -->
-        <var-decl name='__spins' type-id='type-id-7' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='34' column='1'/>
+        <var-decl name='__spins' type-id='type-id-44' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='176'>
         <!-- short int __pthread_mutex_s::__elision -->
-        <var-decl name='__elision' type-id='type-id-7' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='35' column='1'/>
+        <var-decl name='__elision' type-id='type-id-44' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- __pthread_list_t __pthread_mutex_s::__list -->
-        <var-decl name='__list' type-id='type-id-36' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='36' column='1'/>
+        <var-decl name='__list' type-id='type-id-45' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='155' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __pthread_internal_list __pthread_list_t -->
-    <typedef-decl name='__pthread_list_t' type-id='type-id-37' filepath='/usr/include/bits/thread-shared-types.h' line='53' column='1' id='type-id-36'/>
+    <!-- short int -->
+    <type-decl name='short int' size-in-bits='16' id='type-id-44'/>
     <!-- struct __pthread_internal_list -->
-    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='49' column='1' id='type-id-37'>
+    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='82' column='1' id='type-id-46'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- __pthread_internal_list* __pthread_internal_list::__prev -->
-        <var-decl name='__prev' type-id='type-id-38' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='51' column='1'/>
+        <var-decl name='__prev' type-id='type-id-47' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='84' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- __pthread_internal_list* __pthread_internal_list::__next -->
-        <var-decl name='__next' type-id='type-id-38' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='52' column='1'/>
+        <var-decl name='__next' type-id='type-id-47' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='85' column='1'/>
       </data-member>
     </class-decl>
     <!-- __pthread_internal_list* -->
-    <pointer-type-def type-id='type-id-37' size-in-bits='64' id='type-id-38'/>
+    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-47'/>
+    <!-- typedef __pthread_internal_list __pthread_list_t -->
+    <typedef-decl name='__pthread_list_t' type-id='type-id-46' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='86' column='1' id='type-id-45'/>
+
+    <!-- char[40] -->
+    <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='320' id='type-id-42'>
+      <!-- <anonymous range>[40] -->
+      <subrange length='40' type-id='type-id-3' id='type-id-48'/>
+
+    </array-type-def>
+    <!-- long int -->
+    <type-decl name='long int' size-in-bits='64' id='type-id-43'/>
+    <!-- typedef __anonymous_union__ pthread_mutex_t -->
+    <typedef-decl name='pthread_mutex_t' type-id='type-id-40' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='72' column='1' id='type-id-39'/>
     <!-- call_rcu_data* -->
-    <pointer-type-def type-id='type-id-30' size-in-bits='64' id='type-id-39'/>
-    <!-- cds_list_head* -->
-    <pointer-type-def type-id='type-id-14' size-in-bits='64' id='type-id-16'/>
-    <!-- cds_wfcq_node* -->
-    <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-26'/>
-    <!-- const rcu_flavor_struct -->
-    <qualified-type-def type-id='type-id-17' const='yes' id='type-id-40'/>
-    <!-- int ()* -->
-    <pointer-type-def type-id='type-id-41' size-in-bits='64' id='type-id-19'/>
-    <!-- rcu_head* -->
-    <pointer-type-def type-id='type-id-23' size-in-bits='64' id='type-id-42'/>
-    <!-- urcu_atfork* -->
-    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-43'/>
-    <!-- void ()* -->
-    <pointer-type-def type-id='type-id-44' size-in-bits='64' id='type-id-18'/>
-    <!-- void (rcu_head*)* -->
-    <pointer-type-def type-id='type-id-45' size-in-bits='64' id='type-id-25'/>
-    <!-- void (rcu_head*, void (rcu_head*)*)* -->
-    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-20'/>
-    <!-- void (urcu_atfork*)* -->
-    <pointer-type-def type-id='type-id-47' size-in-bits='64' id='type-id-22'/>
-    <!-- void (void (void*)*, void*)* -->
-    <pointer-type-def type-id='type-id-48' size-in-bits='64' id='type-id-21'/>
-    <!-- void (void*)* -->
-    <pointer-type-def type-id='type-id-49' size-in-bits='64' id='type-id-28'/>
-    <!-- void* -->
-    <pointer-type-def type-id='type-id-9' size-in-bits='64' id='type-id-29'/>
-    <!-- int urcu_memb_has_sys_membarrier -->
-    <var-decl name='urcu_memb_has_sys_membarrier' type-id='type-id-5' mangled-name='urcu_memb_has_sys_membarrier' visibility='default' filepath='../include/urcu/static/urcu-memb.h' line='72' column='1' elf-symbol-id='urcu_memb_has_sys_membarrier'/>
-    <!-- urcu_gp urcu_memb_gp -->
-    <var-decl name='urcu_memb_gp' type-id='type-id-10' mangled-name='urcu_memb_gp' visibility='default' filepath='../include/urcu/static/urcu-memb.h' line='83' column='1' elf-symbol-id='urcu_memb_gp'/>
-    <!-- urcu_reader urcu_memb_reader -->
-    <var-decl name='urcu_memb_reader' type-id='type-id-13' mangled-name='urcu_memb_reader' visibility='default' filepath='../include/urcu/static/urcu-memb.h' line='85' column='1' elf-symbol-id='urcu_memb_reader'/>
-    <!-- const rcu_flavor_struct urcu_memb_flavor -->
-    <var-decl name='urcu_memb_flavor' type-id='type-id-40' mangled-name='urcu_memb_flavor' visibility='default' filepath='../include/urcu/flavor.h' line='81' column='1' elf-symbol-id='urcu_memb_flavor'/>
-    <!-- void urcu_memb_defer_exit() -->
-    <function-decl name='urcu_memb_defer_exit' mangled-name='urcu_memb_defer_exit' filepath='src/urcu-defer-impl.h' line='467' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_defer_exit'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_memb_defer_unregister_thread() -->
-    <function-decl name='urcu_memb_defer_unregister_thread' mangled-name='urcu_memb_defer_unregister_thread' filepath='src/urcu-defer-impl.h' line='449' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_defer_unregister_thread'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- int urcu_memb_defer_register_thread() -->
-    <function-decl name='urcu_memb_defer_register_thread' mangled-name='urcu_memb_defer_register_thread' filepath='src/urcu-defer-impl.h' line='427' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_defer_register_thread'>
-      <!-- int -->
-      <return type-id='type-id-5'/>
-    </function-decl>
-    <!-- void urcu_memb_defer_rcu(void (void*)*, void*) -->
-    <function-decl name='urcu_memb_defer_rcu' mangled-name='urcu_memb_defer_rcu' filepath='src/urcu-defer-impl.h' line='396' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_defer_rcu'>
-      <!-- parameter of type 'void (void*)*' -->
-      <parameter type-id='type-id-28' name='fct' filepath='src/urcu-defer-impl.h' line='396' column='1'/>
-      <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='p' filepath='src/urcu-defer-impl.h' line='396' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_memb_defer_barrier() -->
-    <function-decl name='urcu_memb_defer_barrier' mangled-name='urcu_memb_defer_barrier' filepath='src/urcu-defer-impl.h' line='282' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_defer_barrier'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_memb_defer_barrier_thread() -->
-    <function-decl name='urcu_memb_defer_barrier_thread' mangled-name='urcu_memb_defer_barrier_thread' filepath='src/urcu-defer-impl.h' line='262' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_defer_barrier_thread'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_memb_unregister_rculfhash_atfork(urcu_atfork*) -->
-    <function-decl name='urcu_memb_unregister_rculfhash_atfork' mangled-name='urcu_memb_unregister_rculfhash_atfork' filepath='src/urcu-call-rcu-impl.h' line='1012' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_unregister_rculfhash_atfork'>
-      <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-43' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1012' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_memb_register_rculfhash_atfork(urcu_atfork*) -->
-    <function-decl name='urcu_memb_register_rculfhash_atfork' mangled-name='urcu_memb_register_rculfhash_atfork' filepath='src/urcu-call-rcu-impl.h' line='1002' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_register_rculfhash_atfork'>
-      <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-43' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1002' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_memb_call_rcu_after_fork_child() -->
-    <function-decl name='urcu_memb_call_rcu_after_fork_child' mangled-name='urcu_memb_call_rcu_after_fork_child' filepath='src/urcu-call-rcu-impl.h' line='960' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_call_rcu_after_fork_child'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_memb_call_rcu_after_fork_parent() -->
-    <function-decl name='urcu_memb_call_rcu_after_fork_parent' mangled-name='urcu_memb_call_rcu_after_fork_parent' filepath='src/urcu-call-rcu-impl.h' line='938' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_call_rcu_after_fork_parent'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_memb_call_rcu_before_fork() -->
-    <function-decl name='urcu_memb_call_rcu_before_fork' mangled-name='urcu_memb_call_rcu_before_fork' filepath='src/urcu-call-rcu-impl.h' line='911' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_call_rcu_before_fork'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_memb_barrier() -->
-    <function-decl name='urcu_memb_barrier' mangled-name='urcu_memb_barrier' filepath='src/urcu-call-rcu-impl.h' line='840' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_barrier'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_memb_free_all_cpu_call_rcu_data() -->
-    <function-decl name='urcu_memb_free_all_cpu_call_rcu_data' mangled-name='urcu_memb_free_all_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='777' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_free_all_cpu_call_rcu_data'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
+    <pointer-type-def type-id='type-id-36' size-in-bits='64' id='type-id-49'/>
     <!-- void urcu_memb_call_rcu_data_free(call_rcu_data*) -->
     <function-decl name='urcu_memb_call_rcu_data_free' mangled-name='urcu_memb_call_rcu_data_free' filepath='src/urcu-call-rcu-impl.h' line='742' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_call_rcu_data_free'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='742' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='742' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void urcu_memb_call_rcu(rcu_head*, void (rcu_head*)*) -->
     <function-decl name='urcu_memb_call_rcu' mangled-name='urcu_memb_call_rcu' filepath='src/urcu-call-rcu-impl.h' line='704' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_call_rcu'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42' name='head' filepath='src/urcu-call-rcu-impl.h' line='704' column='1'/>
+      <parameter type-id='type-id-25' name='head' filepath='src/urcu-call-rcu-impl.h' line='704' column='1'/>
       <!-- parameter of type 'void (rcu_head*)*' -->
-      <parameter type-id='type-id-25' name='func' filepath='src/urcu-call-rcu-impl.h' line='705' column='1'/>
+      <parameter type-id='type-id-23' name='func' filepath='src/urcu-call-rcu-impl.h' line='705' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- int urcu_memb_create_all_cpu_call_rcu_data(unsigned long int) -->
     <function-decl name='urcu_memb_create_all_cpu_call_rcu_data' mangled-name='urcu_memb_create_all_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='626' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_create_all_cpu_call_rcu_data'>
       <!-- parameter of type 'unsigned long int' -->
       <parameter type-id='type-id-3' name='flags' filepath='src/urcu-call-rcu-impl.h' line='626' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
     </function-decl>
     <!-- void urcu_memb_set_thread_call_rcu_data(call_rcu_data*) -->
     <function-decl name='urcu_memb_set_thread_call_rcu_data' mangled-name='urcu_memb_set_thread_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='613' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_set_thread_call_rcu_data'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='613' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='613' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- call_rcu_data* urcu_memb_get_thread_call_rcu_data() -->
     <function-decl name='urcu_memb_get_thread_call_rcu_data' mangled-name='urcu_memb_get_thread_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='597' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_get_thread_call_rcu_data'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- call_rcu_data* urcu_memb_get_call_rcu_data() -->
     <function-decl name='urcu_memb_get_call_rcu_data' mangled-name='urcu_memb_get_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='577' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_get_call_rcu_data'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- call_rcu_data* urcu_memb_get_default_call_rcu_data() -->
     <function-decl name='urcu_memb_get_default_call_rcu_data' mangled-name='urcu_memb_get_default_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='552' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_get_default_call_rcu_data'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- int urcu_memb_set_cpu_call_rcu_data(int, call_rcu_data*) -->
     <function-decl name='urcu_memb_set_cpu_call_rcu_data' mangled-name='urcu_memb_set_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='513' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_set_cpu_call_rcu_data'>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='513' column='1'/>
+      <parameter type-id='type-id-1' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='513' column='1'/>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='513' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='513' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
     </function-decl>
     <!-- call_rcu_data* urcu_memb_create_call_rcu_data(unsigned long int, int) -->
     <function-decl name='urcu_memb_create_call_rcu_data' mangled-name='urcu_memb_create_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='489' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_create_call_rcu_data'>
       <!-- parameter of type 'unsigned long int' -->
       <parameter type-id='type-id-3' name='flags' filepath='src/urcu-call-rcu-impl.h' line='489' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu_affinity' filepath='src/urcu-call-rcu-impl.h' line='490' column='1'/>
+      <parameter type-id='type-id-1' name='cpu_affinity' filepath='src/urcu-call-rcu-impl.h' line='490' column='1'/>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- pthread_t urcu_memb_get_call_rcu_thread(call_rcu_data*) -->
     <function-decl name='urcu_memb_get_call_rcu_thread' mangled-name='urcu_memb_get_call_rcu_thread' filepath='src/urcu-call-rcu-impl.h' line='471' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_get_call_rcu_thread'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='471' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='471' column='1'/>
       <!-- typedef pthread_t -->
-      <return type-id='type-id-15'/>
+      <return type-id='type-id-9'/>
     </function-decl>
     <!-- call_rcu_data* urcu_memb_get_cpu_call_rcu_data(int) -->
     <function-decl name='urcu_memb_get_cpu_call_rcu_data' mangled-name='urcu_memb_get_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='449' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_get_cpu_call_rcu_data'>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='449' column='1'/>
+      <parameter type-id='type-id-1' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='449' column='1'/>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- void urcu_memb_init() -->
     <function-decl name='urcu_memb_init' mangled-name='urcu_memb_init' filepath='src/urcu.c' line='594' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_init'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void urcu_memb_unregister_thread() -->
     <function-decl name='urcu_memb_unregister_thread' mangled-name='urcu_memb_unregister_thread' filepath='src/urcu.c' line='546' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_unregister_thread'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void urcu_memb_register_thread() -->
     <function-decl name='urcu_memb_register_thread' mangled-name='urcu_memb_register_thread' filepath='src/urcu.c' line='532' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_register_thread'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- int urcu_memb_read_ongoing() -->
     <function-decl name='urcu_memb_read_ongoing' mangled-name='urcu_memb_read_ongoing' filepath='src/urcu.c' line='527' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_read_ongoing'>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
     </function-decl>
     <!-- void urcu_memb_read_unlock() -->
     <function-decl name='urcu_memb_read_unlock' mangled-name='urcu_memb_read_unlock' filepath='src/urcu.c' line='522' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_read_unlock'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void urcu_memb_read_lock() -->
     <function-decl name='urcu_memb_read_lock' mangled-name='urcu_memb_read_lock' filepath='src/urcu.c' line='517' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_read_lock'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void urcu_memb_synchronize_rcu() -->
     <function-decl name='urcu_memb_synchronize_rcu' mangled-name='urcu_memb_synchronize_rcu' filepath='src/urcu.c' line='396' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_synchronize_rcu'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- int () -->
-    <function-type size-in-bits='64' id='type-id-41'>
+    <function-type size-in-bits='64' id='type-id-20'>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
     </function-type>
     <!-- void () -->
-    <function-type size-in-bits='64' id='type-id-44'>
+    <function-type size-in-bits='64' id='type-id-19'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (rcu_head*) -->
-    <function-type size-in-bits='64' id='type-id-45'>
+    <function-type size-in-bits='64' id='type-id-26'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42'/>
+      <parameter type-id='type-id-25'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (rcu_head*, void (rcu_head*)*) -->
-    <function-type size-in-bits='64' id='type-id-46'>
+    <function-type size-in-bits='64' id='type-id-27'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42'/>
-      <!-- parameter of type 'void (rcu_head*)*' -->
       <parameter type-id='type-id-25'/>
+      <!-- parameter of type 'void (rcu_head*)*' -->
+      <parameter type-id='type-id-23'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (urcu_atfork*) -->
-    <function-type size-in-bits='64' id='type-id-47'>
+    <function-type size-in-bits='64' id='type-id-34'>
       <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-43'/>
+      <parameter type-id='type-id-33'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (void (void*)*, void*) -->
-    <function-type size-in-bits='64' id='type-id-48'>
+    <function-type size-in-bits='64' id='type-id-31'>
       <!-- parameter of type 'void (void*)*' -->
-      <parameter type-id='type-id-28'/>
+      <parameter type-id='type-id-30'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29'/>
+      <parameter type-id='type-id-28'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (void*) -->
-    <function-type size-in-bits='64' id='type-id-49'>
+    <function-type size-in-bits='64' id='type-id-29'>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29'/>
+      <parameter type-id='type-id-28'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='urcu-pointer.c' comp-dir-path='src' language='LANG_C99'>
     <!-- void** -->
-    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-50'/>
+    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-50'/>
     <!-- void* rcu_cmpxchg_pointer_sym(void**, void*, void*) -->
     <function-decl name='rcu_cmpxchg_pointer_sym' mangled-name='rcu_cmpxchg_pointer_sym' filepath='src/urcu-pointer.c' line='53' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_cmpxchg_pointer_sym'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='53' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='old' filepath='src/urcu-pointer.c' line='53' column='1'/>
+      <parameter type-id='type-id-28' name='old' filepath='src/urcu-pointer.c' line='53' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='_new' filepath='src/urcu-pointer.c' line='53' column='1'/>
+      <parameter type-id='type-id-28' name='_new' filepath='src/urcu-pointer.c' line='53' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-28'/>
     </function-decl>
     <!-- void* rcu_xchg_pointer_sym(void**, void*) -->
     <function-decl name='rcu_xchg_pointer_sym' mangled-name='rcu_xchg_pointer_sym' filepath='src/urcu-pointer.c' line='47' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_xchg_pointer_sym'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='47' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='v' filepath='src/urcu-pointer.c' line='47' column='1'/>
+      <parameter type-id='type-id-28' name='v' filepath='src/urcu-pointer.c' line='47' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-28'/>
     </function-decl>
     <!-- void* rcu_set_pointer_sym(void**, void*) -->
     <function-decl name='rcu_set_pointer_sym' mangled-name='rcu_set_pointer_sym' filepath='src/urcu-pointer.c' line='40' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_set_pointer_sym'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='40' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='v' filepath='src/urcu-pointer.c' line='40' column='1'/>
+      <parameter type-id='type-id-28' name='v' filepath='src/urcu-pointer.c' line='40' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-28'/>
     </function-decl>
     <!-- void* rcu_dereference_sym(void*) -->
     <function-decl name='rcu_dereference_sym' mangled-name='rcu_dereference_sym' filepath='src/urcu-pointer.c' line='35' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_dereference_sym'>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='p' filepath='src/urcu-pointer.c' line='35' column='1'/>
+      <parameter type-id='type-id-28' name='p' filepath='src/urcu-pointer.c' line='35' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-28'/>
     </function-decl>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='compat_futex.c' comp-dir-path='src' language='LANG_C99'>
-
-
-    <!-- char[48] -->
-    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='384' id='type-id-51'>
-      <!-- <anonymous range>[48] -->
-      <subrange length='48' type-id='type-id-3' id='type-id-52'/>
-
-    </array-type-def>
-    <!-- long long int -->
-    <type-decl name='long long int' size-in-bits='64' id='type-id-53'/>
-    <!-- long long unsigned int -->
-    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-54'/>
-    <!-- unsigned int[2] -->
-    <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='64' id='type-id-55'>
-      <!-- <anonymous range>[2] -->
-      <subrange length='2' type-id='type-id-3' id='type-id-56'/>
-
-    </array-type-def>
-    <!-- typedef __anonymous_union__ pthread_cond_t -->
-    <typedef-decl name='pthread_cond_t' type-id='type-id-57' filepath='/usr/include/bits/pthreadtypes.h' line='80' column='1' id='type-id-58'/>
-    <!-- union {__pthread_cond_s __data; char __size[48]; long long int __align;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='75' column='1' id='type-id-57'>
+    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
+    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-39' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='75' column='1' id='type-id-51'>
       <data-member access='private'>
-        <!-- __pthread_cond_s __data -->
-        <var-decl name='__data' type-id='type-id-59' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='77' column='1'/>
+        <!-- __pthread_cond_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-52' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='77' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- char __size[48] -->
-        <var-decl name='__size' type-id='type-id-51' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='78' column='1'/>
+        <!-- char __anonymous_union__::__size[48] -->
+        <var-decl name='__size' type-id='type-id-53' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='78' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- long long int __align -->
-        <var-decl name='__align' type-id='type-id-53' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='79' column='1'/>
+        <!-- long long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-54' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='79' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __pthread_cond_s -->
-    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='92' column='1' id='type-id-59'>
+    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='171' column='1' id='type-id-52'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <!-- union {long long unsigned int __wseq; struct {unsigned int __low; unsigned int __high;} __wseq32;} -->
-        <var-decl name='' type-id='type-id-60' visibility='default'/>
+        <!-- __anonymous_union__  -->
+        <var-decl name='' type-id='type-id-55' visibility='default'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- unsigned int __pthread_cond_s::__g_refs[2] -->
-        <var-decl name='__g_refs' type-id='type-id-55' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='112' column='1'/>
+        <var-decl name='__g_refs' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='191' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- unsigned int __pthread_cond_s::__g_size[2] -->
-        <var-decl name='__g_size' type-id='type-id-55' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='113' column='1'/>
+        <var-decl name='__g_size' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='192' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- unsigned int __pthread_cond_s::__g1_orig_size -->
-        <var-decl name='__g1_orig_size' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='114' column='1'/>
+        <var-decl name='__g1_orig_size' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='193' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='288'>
         <!-- unsigned int __pthread_cond_s::__wrefs -->
-        <var-decl name='__wrefs' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='115' column='1'/>
+        <var-decl name='__wrefs' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='194' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
         <!-- unsigned int __pthread_cond_s::__g_signals[2] -->
-        <var-decl name='__g_signals' type-id='type-id-55' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='116' column='1'/>
+        <var-decl name='__g_signals' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='195' column='1'/>
       </data-member>
     </class-decl>
-    <!-- union {long long unsigned int __wseq; struct {unsigned int __low; unsigned int __high;} __wseq32;} -->
-    <union-decl name='__anonymous_union__1' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='94' column='1' id='type-id-60'>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='173' column='1' id='type-id-55'>
       <data-member access='private'>
-        <!-- long long unsigned int __wseq -->
-        <var-decl name='__wseq' type-id='type-id-54' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='96' column='1'/>
+        <!-- long long unsigned int __anonymous_union__::__wseq -->
+        <var-decl name='__wseq' type-id='type-id-57' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='175' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- struct {unsigned int __low; unsigned int __high;} __wseq32 -->
-        <var-decl name='__wseq32' type-id='type-id-61' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='101' column='1'/>
+        <!-- __anonymous_struct__ __anonymous_union__::__wseq32 -->
+        <var-decl name='__wseq32' type-id='type-id-58' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='180' column='1'/>
       </data-member>
     </union-decl>
-    <!-- struct {unsigned int __low; unsigned int __high;} -->
-    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='97' column='1' id='type-id-61'>
+    <!-- long long unsigned int -->
+    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-57'/>
+    <!-- struct __anonymous_struct__ -->
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='176' column='1' id='type-id-58'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <!-- unsigned int __low -->
-        <var-decl name='__low' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='99' column='1'/>
+        <!-- unsigned int __anonymous_struct__::__low -->
+        <var-decl name='__low' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='178' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='32'>
-        <!-- unsigned int __high -->
-        <var-decl name='__high' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='100' column='1'/>
+        <!-- unsigned int __anonymous_struct__::__high -->
+        <var-decl name='__high' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='179' column='1'/>
       </data-member>
     </class-decl>
+
+    <!-- unsigned int[2] -->
+    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='64' id='type-id-56'>
+      <!-- <anonymous range>[2] -->
+      <subrange length='2' type-id='type-id-3' id='type-id-59'/>
+
+    </array-type-def>
+
+    <!-- char[48] -->
+    <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='384' id='type-id-53'>
+      <!-- <anonymous range>[48] -->
+      <subrange length='48' type-id='type-id-3' id='type-id-60'/>
+
+    </array-type-def>
+    <!-- long long int -->
+    <type-decl name='long long int' size-in-bits='64' id='type-id-54'/>
+    <!-- typedef __anonymous_union__ pthread_cond_t -->
+    <typedef-decl name='pthread_cond_t' type-id='type-id-51' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='80' column='1' id='type-id-61'/>
+    <!-- pthread_cond_t __urcu_compat_futex_cond -->
+    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-61' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
+    <!-- int32_t* -->
+    <pointer-type-def type-id='type-id-4' size-in-bits='64' id='type-id-62'/>
     <!-- struct timespec -->
-    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='10' column='1' id='type-id-62'>
+    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='9' column='1' id='type-id-63'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- __time_t timespec::tv_sec -->
-        <var-decl name='tv_sec' type-id='type-id-63' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='12' column='1'/>
+        <var-decl name='tv_sec' type-id='type-id-64' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='11' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- __syscall_slong_t timespec::tv_nsec -->
-        <var-decl name='tv_nsec' type-id='type-id-64' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='16' column='1'/>
+        <var-decl name='tv_nsec' type-id='type-id-65' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='12' column='1'/>
       </data-member>
     </class-decl>
     <!-- typedef long int __time_t -->
-    <typedef-decl name='__time_t' type-id='type-id-6' filepath='/usr/include/bits/types.h' line='160' column='1' id='type-id-63'/>
+    <typedef-decl name='__time_t' type-id='type-id-43' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='148' column='1' id='type-id-64'/>
     <!-- typedef long int __syscall_slong_t -->
-    <typedef-decl name='__syscall_slong_t' type-id='type-id-6' filepath='/usr/include/bits/types.h' line='197' column='1' id='type-id-64'/>
+    <typedef-decl name='__syscall_slong_t' type-id='type-id-43' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='184' column='1' id='type-id-65'/>
     <!-- const timespec -->
-    <qualified-type-def type-id='type-id-62' const='yes' id='type-id-65'/>
+    <qualified-type-def type-id='type-id-63' const='yes' id='type-id-66'/>
     <!-- const timespec* -->
-    <pointer-type-def type-id='type-id-65' size-in-bits='64' id='type-id-66'/>
-    <!-- int32_t* -->
-    <pointer-type-def type-id='type-id-11' size-in-bits='64' id='type-id-67'/>
-    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
-    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-33' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
-    <!-- pthread_cond_t __urcu_compat_futex_cond -->
-    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-58' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
+    <pointer-type-def type-id='type-id-66' size-in-bits='64' id='type-id-67'/>
     <!-- int compat_futex_async(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
     <function-decl name='compat_futex_async' mangled-name='compat_futex_async' filepath='src/compat_futex.c' line='118' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_async'>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-1' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-4' name='val' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'const timespec*' -->
-      <parameter type-id='type-id-66' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-67' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val3' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-4' name='val3' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
     </function-decl>
     <!-- int compat_futex_noasync(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
     <function-decl name='compat_futex_noasync' mangled-name='compat_futex_noasync' filepath='src/compat_futex.c' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_noasync'>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-1' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-4' name='val' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'const timespec*' -->
-      <parameter type-id='type-id-66' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-67' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val3' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-4' name='val3' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
     </function-decl>
   </abi-instr>
 </abi-corpus>
index 7d5e27af6d3c6553b4f2b8290cad016ee8415bd2..e6fc5726ce02020cc07dadb996827cedc7a96259 100644 (file)
@@ -1,11 +1,14 @@
 <abi-corpus architecture='elf-amd-x86_64' soname='liburcu-qsbr.so.8'>
   <elf-needed>
-    <dependency name='liburcu-common.so.8'/>
     <dependency name='libpthread.so.0'/>
     <dependency name='libc.so.6'/>
     <dependency name='ld-linux-x86-64.so.2'/>
   </elf-needed>
   <elf-function-symbols>
+    <!-- _fini -->
+    <elf-symbol name='_fini' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- _init -->
+    <elf-symbol name='_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- compat_futex_async -->
     <elf-symbol name='compat_futex_async' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- compat_futex_noasync -->
     <elf-symbol name='urcu_qsbr_reader' size='256' type='tls-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
   </elf-variable-symbols>
   <abi-instr version='1.0' address-size='64' path='urcu-qsbr.c' comp-dir-path='src' language='LANG_C99'>
-
-    <!-- char -->
-    <type-decl name='char' size-in-bits='8' id='type-id-1'/>
-    <!-- char[40] -->
-    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='320' id='type-id-2'>
-      <!-- <anonymous range>[40] -->
-      <subrange length='40' type-id='type-id-3' id='type-id-4'/>
-
-    </array-type-def>
-    <!-- int -->
-    <type-decl name='int' size-in-bits='32' id='type-id-5'/>
-    <!-- long int -->
-    <type-decl name='long int' size-in-bits='64' id='type-id-6'/>
-    <!-- short int -->
-    <type-decl name='short int' size-in-bits='16' id='type-id-7'/>
-    <!-- unsigned int -->
-    <type-decl name='unsigned int' size-in-bits='32' id='type-id-8'/>
-    <!-- unsigned long int -->
-    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-3'/>
-    <!-- void -->
-    <type-decl name='void' id='type-id-9'/>
     <!-- struct urcu_gp -->
-    <class-decl name='urcu_gp' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='67' column='1' id='type-id-10'>
+    <class-decl name='urcu_gp' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='67' column='1' id='type-id-1'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned long int urcu_gp::ctr -->
-        <var-decl name='ctr' type-id='type-id-3' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='75' column='1'/>
+        <var-decl name='ctr' type-id='type-id-2' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='75' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- int32_t urcu_gp::futex -->
-        <var-decl name='futex' type-id='type-id-11' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='77' column='1'/>
+        <var-decl name='futex' type-id='type-id-3' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='77' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __int32_t int32_t -->
-    <typedef-decl name='int32_t' type-id='type-id-12' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-11'/>
+    <!-- unsigned long int -->
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-2'/>
+    <!-- int -->
+    <type-decl name='int' size-in-bits='32' id='type-id-4'/>
     <!-- typedef int __int32_t -->
-    <typedef-decl name='__int32_t' type-id='type-id-5' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-12'/>
+    <typedef-decl name='__int32_t' type-id='type-id-4' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='40' column='1' id='type-id-5'/>
+    <!-- typedef __int32_t int32_t -->
+    <typedef-decl name='int32_t' type-id='type-id-5' filepath='/usr/include/x86_64-linux-gnu/bits/stdint-intn.h' line='26' column='1' id='type-id-3'/>
+    <!-- urcu_gp urcu_qsbr_gp -->
+    <var-decl name='urcu_qsbr_gp' type-id='type-id-1' mangled-name='urcu_qsbr_gp' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='63' column='1' elf-symbol-id='urcu_qsbr_gp'/>
     <!-- struct urcu_qsbr_reader -->
-    <class-decl name='urcu_qsbr_reader' size-in-bits='2048' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='65' column='1' id='type-id-13'>
+    <class-decl name='urcu_qsbr_reader' size-in-bits='2048' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='65' column='1' id='type-id-6'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned long int urcu_qsbr_reader::ctr -->
-        <var-decl name='ctr' type-id='type-id-3' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='67' column='1'/>
+        <var-decl name='ctr' type-id='type-id-2' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='67' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1024'>
         <!-- cds_list_head urcu_qsbr_reader::node -->
-        <var-decl name='node' type-id='type-id-14' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='69' column='1'/>
+        <var-decl name='node' type-id='type-id-7' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='69' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1152'>
         <!-- int urcu_qsbr_reader::waiting -->
-        <var-decl name='waiting' type-id='type-id-5' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='70' column='1'/>
+        <var-decl name='waiting' type-id='type-id-4' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='70' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1216'>
         <!-- pthread_t urcu_qsbr_reader::tid -->
-        <var-decl name='tid' type-id='type-id-15' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='71' column='1'/>
+        <var-decl name='tid' type-id='type-id-8' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='71' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='31'>
         <!-- unsigned int urcu_qsbr_reader::registered -->
-        <var-decl name='registered' type-id='type-id-8' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='73' column='1'/>
+        <var-decl name='registered' type-id='type-id-9' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='73' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_list_head -->
-    <class-decl name='cds_list_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/list.h' line='37' column='1' id='type-id-14'>
+    <class-decl name='cds_list_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/list.h' line='37' column='1' id='type-id-7'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_list_head* cds_list_head::next -->
-        <var-decl name='next' type-id='type-id-16' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
+        <var-decl name='next' type-id='type-id-10' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- cds_list_head* cds_list_head::prev -->
-        <var-decl name='prev' type-id='type-id-16' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
+        <var-decl name='prev' type-id='type-id-10' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_list_head* -->
+    <pointer-type-def type-id='type-id-7' size-in-bits='64' id='type-id-10'/>
     <!-- typedef unsigned long int pthread_t -->
-    <typedef-decl name='pthread_t' type-id='type-id-3' filepath='/usr/include/bits/pthreadtypes.h' line='27' column='1' id='type-id-15'/>
+    <typedef-decl name='pthread_t' type-id='type-id-2' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='27' column='1' id='type-id-8'/>
+    <!-- unsigned int -->
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-9'/>
+    <!-- urcu_qsbr_reader urcu_qsbr_reader -->
+    <var-decl name='urcu_qsbr_reader' type-id='type-id-6' mangled-name='urcu_qsbr_reader' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='76' column='1' elf-symbol-id='urcu_qsbr_reader'/>
     <!-- struct rcu_flavor_struct -->
-    <class-decl name='rcu_flavor_struct' size-in-bits='896' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='42' column='1' id='type-id-17'>
+    <class-decl name='rcu_flavor_struct' size-in-bits='896' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='42' column='1' id='type-id-11'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- void ()* rcu_flavor_struct::read_lock -->
-        <var-decl name='read_lock' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='43' column='1'/>
+        <var-decl name='read_lock' type-id='type-id-12' visibility='default' filepath='../include/urcu/flavor.h' line='43' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void ()* rcu_flavor_struct::read_unlock -->
-        <var-decl name='read_unlock' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='44' column='1'/>
+        <var-decl name='read_unlock' type-id='type-id-12' visibility='default' filepath='../include/urcu/flavor.h' line='44' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- int ()* rcu_flavor_struct::read_ongoing -->
-        <var-decl name='read_ongoing' type-id='type-id-19' visibility='default' filepath='../include/urcu/flavor.h' line='45' column='1'/>
+        <var-decl name='read_ongoing' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='45' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- void ()* rcu_flavor_struct::read_quiescent_state -->
-        <var-decl name='read_quiescent_state' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='46' column='1'/>
+        <var-decl name='read_quiescent_state' type-id='type-id-12' visibility='default' filepath='../include/urcu/flavor.h' line='46' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- void (rcu_head*, void (rcu_head*)*)* rcu_flavor_struct::update_call_rcu -->
-        <var-decl name='update_call_rcu' type-id='type-id-20' visibility='default' filepath='../include/urcu/flavor.h' line='47' column='1'/>
+        <var-decl name='update_call_rcu' type-id='type-id-14' visibility='default' filepath='../include/urcu/flavor.h' line='47' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
         <!-- void ()* rcu_flavor_struct::update_synchronize_rcu -->
-        <var-decl name='update_synchronize_rcu' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='49' column='1'/>
+        <var-decl name='update_synchronize_rcu' type-id='type-id-12' visibility='default' filepath='../include/urcu/flavor.h' line='49' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='384'>
         <!-- void (void (void*)*, void*)* rcu_flavor_struct::update_defer_rcu -->
-        <var-decl name='update_defer_rcu' type-id='type-id-21' visibility='default' filepath='../include/urcu/flavor.h' line='50' column='1'/>
+        <var-decl name='update_defer_rcu' type-id='type-id-15' visibility='default' filepath='../include/urcu/flavor.h' line='50' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='448'>
         <!-- void ()* rcu_flavor_struct::thread_offline -->
-        <var-decl name='thread_offline' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='52' column='1'/>
+        <var-decl name='thread_offline' type-id='type-id-12' visibility='default' filepath='../include/urcu/flavor.h' line='52' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='512'>
         <!-- void ()* rcu_flavor_struct::thread_online -->
-        <var-decl name='thread_online' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='53' column='1'/>
+        <var-decl name='thread_online' type-id='type-id-12' visibility='default' filepath='../include/urcu/flavor.h' line='53' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='576'>
         <!-- void ()* rcu_flavor_struct::register_thread -->
-        <var-decl name='register_thread' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='54' column='1'/>
+        <var-decl name='register_thread' type-id='type-id-12' visibility='default' filepath='../include/urcu/flavor.h' line='54' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='640'>
         <!-- void ()* rcu_flavor_struct::unregister_thread -->
-        <var-decl name='unregister_thread' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='55' column='1'/>
+        <var-decl name='unregister_thread' type-id='type-id-12' visibility='default' filepath='../include/urcu/flavor.h' line='55' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='704'>
         <!-- void ()* rcu_flavor_struct::barrier -->
-        <var-decl name='barrier' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='57' column='1'/>
+        <var-decl name='barrier' type-id='type-id-12' visibility='default' filepath='../include/urcu/flavor.h' line='57' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='768'>
         <!-- void (urcu_atfork*)* rcu_flavor_struct::register_rculfhash_atfork -->
-        <var-decl name='register_rculfhash_atfork' type-id='type-id-22' visibility='default' filepath='../include/urcu/flavor.h' line='59' column='1'/>
+        <var-decl name='register_rculfhash_atfork' type-id='type-id-16' visibility='default' filepath='../include/urcu/flavor.h' line='59' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='832'>
         <!-- void (urcu_atfork*)* rcu_flavor_struct::unregister_rculfhash_atfork -->
-        <var-decl name='unregister_rculfhash_atfork' type-id='type-id-22' visibility='default' filepath='../include/urcu/flavor.h' line='60' column='1'/>
+        <var-decl name='unregister_rculfhash_atfork' type-id='type-id-16' visibility='default' filepath='../include/urcu/flavor.h' line='60' column='1'/>
       </data-member>
     </class-decl>
+    <!-- void -->
+    <type-decl name='void' id='type-id-17'/>
+    <!-- void ()* -->
+    <pointer-type-def type-id='type-id-18' size-in-bits='64' id='type-id-12'/>
+    <!-- int ()* -->
+    <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-13'/>
     <!-- struct rcu_head -->
-    <class-decl name='rcu_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/call-rcu.h' line='57' column='1' id='type-id-23'>
+    <class-decl name='rcu_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/call-rcu.h' line='57' column='1' id='type-id-20'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node rcu_head::next -->
-        <var-decl name='next' type-id='type-id-24' visibility='default' filepath='../include/urcu/call-rcu.h' line='58' column='1'/>
+        <var-decl name='next' type-id='type-id-21' visibility='default' filepath='../include/urcu/call-rcu.h' line='58' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void (rcu_head*)* rcu_head::func -->
-        <var-decl name='func' type-id='type-id-25' visibility='default' filepath='../include/urcu/call-rcu.h' line='59' column='1'/>
+        <var-decl name='func' type-id='type-id-22' visibility='default' filepath='../include/urcu/call-rcu.h' line='59' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_node -->
-    <class-decl name='cds_wfcq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='59' column='1' id='type-id-24'>
+    <class-decl name='cds_wfcq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='59' column='1' id='type-id-21'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node* cds_wfcq_node::next -->
-        <var-decl name='next' type-id='type-id-26' visibility='default' filepath='../include/urcu/wfcqueue.h' line='60' column='1'/>
+        <var-decl name='next' type-id='type-id-23' visibility='default' filepath='../include/urcu/wfcqueue.h' line='60' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_wfcq_node* -->
+    <pointer-type-def type-id='type-id-21' size-in-bits='64' id='type-id-23'/>
+    <!-- rcu_head* -->
+    <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-24'/>
+    <!-- void (rcu_head*)* -->
+    <pointer-type-def type-id='type-id-25' size-in-bits='64' id='type-id-22'/>
+    <!-- void (rcu_head*, void (rcu_head*)*)* -->
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-14'/>
+    <!-- void* -->
+    <pointer-type-def type-id='type-id-17' size-in-bits='64' id='type-id-27'/>
+    <!-- void (void*)* -->
+    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-29'/>
+    <!-- void (void (void*)*, void*)* -->
+    <pointer-type-def type-id='type-id-30' size-in-bits='64' id='type-id-15'/>
     <!-- struct urcu_atfork -->
-    <class-decl name='urcu_atfork' size-in-bits='256' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='32' column='1' id='type-id-27'>
+    <class-decl name='urcu_atfork' size-in-bits='256' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='32' column='1' id='type-id-31'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- void (void*)* urcu_atfork::before_fork -->
-        <var-decl name='before_fork' type-id='type-id-28' visibility='default' filepath='../include/urcu/flavor.h' line='33' column='1'/>
+        <var-decl name='before_fork' type-id='type-id-29' visibility='default' filepath='../include/urcu/flavor.h' line='33' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void (void*)* urcu_atfork::after_fork_parent -->
-        <var-decl name='after_fork_parent' type-id='type-id-28' visibility='default' filepath='../include/urcu/flavor.h' line='34' column='1'/>
+        <var-decl name='after_fork_parent' type-id='type-id-29' visibility='default' filepath='../include/urcu/flavor.h' line='34' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- void (void*)* urcu_atfork::after_fork_child -->
-        <var-decl name='after_fork_child' type-id='type-id-28' visibility='default' filepath='../include/urcu/flavor.h' line='35' column='1'/>
+        <var-decl name='after_fork_child' type-id='type-id-29' visibility='default' filepath='../include/urcu/flavor.h' line='35' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- void* urcu_atfork::priv -->
-        <var-decl name='priv' type-id='type-id-29' visibility='default' filepath='../include/urcu/flavor.h' line='36' column='1'/>
+        <var-decl name='priv' type-id='type-id-27' visibility='default' filepath='../include/urcu/flavor.h' line='36' column='1'/>
       </data-member>
     </class-decl>
+    <!-- urcu_atfork* -->
+    <pointer-type-def type-id='type-id-31' size-in-bits='64' id='type-id-32'/>
+    <!-- void (urcu_atfork*)* -->
+    <pointer-type-def type-id='type-id-33' size-in-bits='64' id='type-id-16'/>
+    <!-- const rcu_flavor_struct -->
+    <qualified-type-def type-id='type-id-11' const='yes' id='type-id-34'/>
+    <!-- const rcu_flavor_struct urcu_qsbr_flavor -->
+    <var-decl name='urcu_qsbr_flavor' type-id='type-id-34' mangled-name='urcu_qsbr_flavor' visibility='default' filepath='../include/urcu/flavor.h' line='81' column='1' elf-symbol-id='urcu_qsbr_flavor'/>
+    <!-- void urcu_qsbr_defer_exit() -->
+    <function-decl name='urcu_qsbr_defer_exit' mangled-name='urcu_qsbr_defer_exit' filepath='src/urcu-defer-impl.h' line='467' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_defer_exit'>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <!-- void urcu_qsbr_defer_unregister_thread() -->
+    <function-decl name='urcu_qsbr_defer_unregister_thread' mangled-name='urcu_qsbr_defer_unregister_thread' filepath='src/urcu-defer-impl.h' line='449' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_defer_unregister_thread'>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <!-- int urcu_qsbr_defer_register_thread() -->
+    <function-decl name='urcu_qsbr_defer_register_thread' mangled-name='urcu_qsbr_defer_register_thread' filepath='src/urcu-defer-impl.h' line='427' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_defer_register_thread'>
+      <!-- int -->
+      <return type-id='type-id-4'/>
+    </function-decl>
+    <!-- void urcu_qsbr_defer_rcu(void (void*)*, void*) -->
+    <function-decl name='urcu_qsbr_defer_rcu' mangled-name='urcu_qsbr_defer_rcu' filepath='src/urcu-defer-impl.h' line='396' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_defer_rcu'>
+      <!-- parameter of type 'void (void*)*' -->
+      <parameter type-id='type-id-29' name='fct' filepath='src/urcu-defer-impl.h' line='396' column='1'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-27' name='p' filepath='src/urcu-defer-impl.h' line='396' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <!-- void urcu_qsbr_defer_barrier() -->
+    <function-decl name='urcu_qsbr_defer_barrier' mangled-name='urcu_qsbr_defer_barrier' filepath='src/urcu-defer-impl.h' line='282' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_defer_barrier'>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <!-- void urcu_qsbr_defer_barrier_thread() -->
+    <function-decl name='urcu_qsbr_defer_barrier_thread' mangled-name='urcu_qsbr_defer_barrier_thread' filepath='src/urcu-defer-impl.h' line='262' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_defer_barrier_thread'>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <!-- void urcu_qsbr_unregister_rculfhash_atfork(urcu_atfork*) -->
+    <function-decl name='urcu_qsbr_unregister_rculfhash_atfork' mangled-name='urcu_qsbr_unregister_rculfhash_atfork' filepath='src/urcu-call-rcu-impl.h' line='1012' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_unregister_rculfhash_atfork'>
+      <!-- parameter of type 'urcu_atfork*' -->
+      <parameter type-id='type-id-32' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1012' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <!-- void urcu_qsbr_register_rculfhash_atfork(urcu_atfork*) -->
+    <function-decl name='urcu_qsbr_register_rculfhash_atfork' mangled-name='urcu_qsbr_register_rculfhash_atfork' filepath='src/urcu-call-rcu-impl.h' line='1002' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_register_rculfhash_atfork'>
+      <!-- parameter of type 'urcu_atfork*' -->
+      <parameter type-id='type-id-32' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1012' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <!-- void urcu_qsbr_call_rcu_after_fork_child() -->
+    <function-decl name='urcu_qsbr_call_rcu_after_fork_child' mangled-name='urcu_qsbr_call_rcu_after_fork_child' filepath='src/urcu-call-rcu-impl.h' line='960' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_call_rcu_after_fork_child'>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <!-- void urcu_qsbr_call_rcu_after_fork_parent() -->
+    <function-decl name='urcu_qsbr_call_rcu_after_fork_parent' mangled-name='urcu_qsbr_call_rcu_after_fork_parent' filepath='src/urcu-call-rcu-impl.h' line='938' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_call_rcu_after_fork_parent'>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <!-- void urcu_qsbr_call_rcu_before_fork() -->
+    <function-decl name='urcu_qsbr_call_rcu_before_fork' mangled-name='urcu_qsbr_call_rcu_before_fork' filepath='src/urcu-call-rcu-impl.h' line='911' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_call_rcu_before_fork'>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <!-- void urcu_qsbr_barrier() -->
+    <function-decl name='urcu_qsbr_barrier' mangled-name='urcu_qsbr_barrier' filepath='src/urcu-call-rcu-impl.h' line='840' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_barrier'>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <!-- void urcu_qsbr_free_all_cpu_call_rcu_data() -->
+    <function-decl name='urcu_qsbr_free_all_cpu_call_rcu_data' mangled-name='urcu_qsbr_free_all_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='777' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_free_all_cpu_call_rcu_data'>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
     <!-- struct call_rcu_data -->
-    <class-decl name='call_rcu_data' size-in-bits='1024' is-struct='yes' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='53' column='1' id='type-id-30'>
+    <class-decl name='call_rcu_data' size-in-bits='1024' is-struct='yes' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='53' column='1' id='type-id-35'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_tail call_rcu_data::cbs_tail -->
-        <var-decl name='cbs_tail' type-id='type-id-31' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='61' column='1'/>
+        <var-decl name='cbs_tail' type-id='type-id-36' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='61' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- cds_wfcq_head call_rcu_data::cbs_head -->
-        <var-decl name='cbs_head' type-id='type-id-32' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='62' column='1'/>
+        <var-decl name='cbs_head' type-id='type-id-37' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='62' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='448'>
         <!-- unsigned long int call_rcu_data::flags -->
-        <var-decl name='flags' type-id='type-id-3' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='63' column='1'/>
+        <var-decl name='flags' type-id='type-id-2' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='63' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='512'>
         <!-- int32_t call_rcu_data::futex -->
-        <var-decl name='futex' type-id='type-id-11' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='64' column='1'/>
+        <var-decl name='futex' type-id='type-id-3' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='64' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='576'>
         <!-- unsigned long int call_rcu_data::qlen -->
-        <var-decl name='qlen' type-id='type-id-3' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='65' column='1'/>
+        <var-decl name='qlen' type-id='type-id-2' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='65' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='640'>
         <!-- pthread_t call_rcu_data::tid -->
-        <var-decl name='tid' type-id='type-id-15' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='66' column='1'/>
+        <var-decl name='tid' type-id='type-id-8' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='66' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='704'>
         <!-- int call_rcu_data::cpu_affinity -->
-        <var-decl name='cpu_affinity' type-id='type-id-5' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='67' column='1'/>
+        <var-decl name='cpu_affinity' type-id='type-id-4' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='67' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='768'>
         <!-- unsigned long int call_rcu_data::gp_count -->
-        <var-decl name='gp_count' type-id='type-id-3' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='68' column='1'/>
+        <var-decl name='gp_count' type-id='type-id-2' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='68' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='832'>
         <!-- cds_list_head call_rcu_data::list -->
-        <var-decl name='list' type-id='type-id-14' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='69' column='1'/>
+        <var-decl name='list' type-id='type-id-7' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='69' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_tail -->
-    <class-decl name='cds_wfcq_tail' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='127' column='1' id='type-id-31'>
+    <class-decl name='cds_wfcq_tail' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='127' column='1' id='type-id-36'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node* cds_wfcq_tail::p -->
-        <var-decl name='p' type-id='type-id-26' visibility='default' filepath='../include/urcu/wfcqueue.h' line='128' column='1'/>
+        <var-decl name='p' type-id='type-id-23' visibility='default' filepath='../include/urcu/wfcqueue.h' line='128' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_head -->
-    <class-decl name='cds_wfcq_head' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='72' column='1' id='type-id-32'>
+    <class-decl name='cds_wfcq_head' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='72' column='1' id='type-id-37'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node cds_wfcq_head::node -->
-        <var-decl name='node' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='73' column='1'/>
+        <var-decl name='node' type-id='type-id-21' visibility='default' filepath='../include/urcu/wfcqueue.h' line='73' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- pthread_mutex_t cds_wfcq_head::lock -->
-        <var-decl name='lock' type-id='type-id-33' visibility='default' filepath='../include/urcu/wfcqueue.h' line='74' column='1'/>
+        <var-decl name='lock' type-id='type-id-38' visibility='default' filepath='../include/urcu/wfcqueue.h' line='74' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __anonymous_union__ pthread_mutex_t -->
-    <typedef-decl name='pthread_mutex_t' type-id='type-id-34' filepath='/usr/include/bits/pthreadtypes.h' line='72' column='1' id='type-id-33'/>
-    <!-- union {__pthread_mutex_s __data; char __size[40]; long int __align;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='67' column='1' id='type-id-34'>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='67' column='1' id='type-id-39'>
       <data-member access='private'>
-        <!-- __pthread_mutex_s __data -->
-        <var-decl name='__data' type-id='type-id-35' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='69' column='1'/>
+        <!-- __pthread_mutex_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-40' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='69' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- char __size[40] -->
-        <var-decl name='__size' type-id='type-id-2' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='70' column='1'/>
+        <!-- char __anonymous_union__::__size[40] -->
+        <var-decl name='__size' type-id='type-id-41' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='70' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- long int __align -->
-        <var-decl name='__align' type-id='type-id-6' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='71' column='1'/>
+        <!-- long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-42' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='71' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __pthread_mutex_s -->
-    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='22' column='1' id='type-id-35'>
+    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='118' column='1' id='type-id-40'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- int __pthread_mutex_s::__lock -->
-        <var-decl name='__lock' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='24' column='1'/>
+        <var-decl name='__lock' type-id='type-id-4' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='120' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='32'>
         <!-- unsigned int __pthread_mutex_s::__count -->
-        <var-decl name='__count' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='25' column='1'/>
+        <var-decl name='__count' type-id='type-id-9' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='121' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- int __pthread_mutex_s::__owner -->
-        <var-decl name='__owner' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='26' column='1'/>
+        <var-decl name='__owner' type-id='type-id-4' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='122' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='96'>
         <!-- unsigned int __pthread_mutex_s::__nusers -->
-        <var-decl name='__nusers' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='28' column='1'/>
+        <var-decl name='__nusers' type-id='type-id-9' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='124' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- int __pthread_mutex_s::__kind -->
-        <var-decl name='__kind' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='32' column='1'/>
+        <var-decl name='__kind' type-id='type-id-4' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='148' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='160'>
         <!-- short int __pthread_mutex_s::__spins -->
-        <var-decl name='__spins' type-id='type-id-7' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='34' column='1'/>
+        <var-decl name='__spins' type-id='type-id-43' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='176'>
         <!-- short int __pthread_mutex_s::__elision -->
-        <var-decl name='__elision' type-id='type-id-7' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='35' column='1'/>
+        <var-decl name='__elision' type-id='type-id-43' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- __pthread_list_t __pthread_mutex_s::__list -->
-        <var-decl name='__list' type-id='type-id-36' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='36' column='1'/>
+        <var-decl name='__list' type-id='type-id-44' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='155' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __pthread_internal_list __pthread_list_t -->
-    <typedef-decl name='__pthread_list_t' type-id='type-id-37' filepath='/usr/include/bits/thread-shared-types.h' line='53' column='1' id='type-id-36'/>
+    <!-- short int -->
+    <type-decl name='short int' size-in-bits='16' id='type-id-43'/>
     <!-- struct __pthread_internal_list -->
-    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='49' column='1' id='type-id-37'>
+    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='82' column='1' id='type-id-45'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- __pthread_internal_list* __pthread_internal_list::__prev -->
-        <var-decl name='__prev' type-id='type-id-38' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='51' column='1'/>
+        <var-decl name='__prev' type-id='type-id-46' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='84' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- __pthread_internal_list* __pthread_internal_list::__next -->
-        <var-decl name='__next' type-id='type-id-38' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='52' column='1'/>
+        <var-decl name='__next' type-id='type-id-46' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='85' column='1'/>
       </data-member>
     </class-decl>
     <!-- __pthread_internal_list* -->
-    <pointer-type-def type-id='type-id-37' size-in-bits='64' id='type-id-38'/>
+    <pointer-type-def type-id='type-id-45' size-in-bits='64' id='type-id-46'/>
+    <!-- typedef __pthread_internal_list __pthread_list_t -->
+    <typedef-decl name='__pthread_list_t' type-id='type-id-45' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='86' column='1' id='type-id-44'/>
+    <!-- char -->
+    <type-decl name='char' size-in-bits='8' id='type-id-47'/>
+
+    <!-- char[40] -->
+    <array-type-def dimensions='1' type-id='type-id-47' size-in-bits='320' id='type-id-41'>
+      <!-- <anonymous range>[40] -->
+      <subrange length='40' type-id='type-id-2' id='type-id-48'/>
+
+    </array-type-def>
+    <!-- long int -->
+    <type-decl name='long int' size-in-bits='64' id='type-id-42'/>
+    <!-- typedef __anonymous_union__ pthread_mutex_t -->
+    <typedef-decl name='pthread_mutex_t' type-id='type-id-39' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='72' column='1' id='type-id-38'/>
     <!-- call_rcu_data* -->
-    <pointer-type-def type-id='type-id-30' size-in-bits='64' id='type-id-39'/>
-    <!-- cds_list_head* -->
-    <pointer-type-def type-id='type-id-14' size-in-bits='64' id='type-id-16'/>
-    <!-- cds_wfcq_node* -->
-    <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-26'/>
-    <!-- const rcu_flavor_struct -->
-    <qualified-type-def type-id='type-id-17' const='yes' id='type-id-40'/>
-    <!-- int ()* -->
-    <pointer-type-def type-id='type-id-41' size-in-bits='64' id='type-id-19'/>
-    <!-- rcu_head* -->
-    <pointer-type-def type-id='type-id-23' size-in-bits='64' id='type-id-42'/>
-    <!-- urcu_atfork* -->
-    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-43'/>
-    <!-- void ()* -->
-    <pointer-type-def type-id='type-id-44' size-in-bits='64' id='type-id-18'/>
-    <!-- void (rcu_head*)* -->
-    <pointer-type-def type-id='type-id-45' size-in-bits='64' id='type-id-25'/>
-    <!-- void (rcu_head*, void (rcu_head*)*)* -->
-    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-20'/>
-    <!-- void (urcu_atfork*)* -->
-    <pointer-type-def type-id='type-id-47' size-in-bits='64' id='type-id-22'/>
-    <!-- void (void (void*)*, void*)* -->
-    <pointer-type-def type-id='type-id-48' size-in-bits='64' id='type-id-21'/>
-    <!-- void (void*)* -->
-    <pointer-type-def type-id='type-id-49' size-in-bits='64' id='type-id-28'/>
-    <!-- void* -->
-    <pointer-type-def type-id='type-id-9' size-in-bits='64' id='type-id-29'/>
-    <!-- urcu_gp urcu_qsbr_gp -->
-    <var-decl name='urcu_qsbr_gp' type-id='type-id-10' mangled-name='urcu_qsbr_gp' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='63' column='1' elf-symbol-id='urcu_qsbr_gp'/>
-    <!-- urcu_qsbr_reader urcu_qsbr_reader -->
-    <var-decl name='urcu_qsbr_reader' type-id='type-id-13' mangled-name='urcu_qsbr_reader' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='76' column='1' elf-symbol-id='urcu_qsbr_reader'/>
-    <!-- const rcu_flavor_struct urcu_qsbr_flavor -->
-    <var-decl name='urcu_qsbr_flavor' type-id='type-id-40' mangled-name='urcu_qsbr_flavor' visibility='default' filepath='../include/urcu/flavor.h' line='81' column='1' elf-symbol-id='urcu_qsbr_flavor'/>
-    <!-- void urcu_qsbr_defer_exit() -->
-    <function-decl name='urcu_qsbr_defer_exit' mangled-name='urcu_qsbr_defer_exit' filepath='src/urcu-defer-impl.h' line='467' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_defer_exit'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_qsbr_defer_unregister_thread() -->
-    <function-decl name='urcu_qsbr_defer_unregister_thread' mangled-name='urcu_qsbr_defer_unregister_thread' filepath='src/urcu-defer-impl.h' line='449' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_defer_unregister_thread'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- int urcu_qsbr_defer_register_thread() -->
-    <function-decl name='urcu_qsbr_defer_register_thread' mangled-name='urcu_qsbr_defer_register_thread' filepath='src/urcu-defer-impl.h' line='427' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_defer_register_thread'>
-      <!-- int -->
-      <return type-id='type-id-5'/>
-    </function-decl>
-    <!-- void urcu_qsbr_defer_rcu(void (void*)*, void*) -->
-    <function-decl name='urcu_qsbr_defer_rcu' mangled-name='urcu_qsbr_defer_rcu' filepath='src/urcu-defer-impl.h' line='396' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_defer_rcu'>
-      <!-- parameter of type 'void (void*)*' -->
-      <parameter type-id='type-id-28' name='fct' filepath='src/urcu-defer-impl.h' line='396' column='1'/>
-      <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='p' filepath='src/urcu-defer-impl.h' line='396' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_qsbr_defer_barrier() -->
-    <function-decl name='urcu_qsbr_defer_barrier' mangled-name='urcu_qsbr_defer_barrier' filepath='src/urcu-defer-impl.h' line='282' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_defer_barrier'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_qsbr_defer_barrier_thread() -->
-    <function-decl name='urcu_qsbr_defer_barrier_thread' mangled-name='urcu_qsbr_defer_barrier_thread' filepath='src/urcu-defer-impl.h' line='262' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_defer_barrier_thread'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_qsbr_unregister_rculfhash_atfork(urcu_atfork*) -->
-    <function-decl name='urcu_qsbr_unregister_rculfhash_atfork' mangled-name='urcu_qsbr_unregister_rculfhash_atfork' filepath='src/urcu-call-rcu-impl.h' line='1012' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_unregister_rculfhash_atfork'>
-      <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-43' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1012' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_qsbr_register_rculfhash_atfork(urcu_atfork*) -->
-    <function-decl name='urcu_qsbr_register_rculfhash_atfork' mangled-name='urcu_qsbr_register_rculfhash_atfork' filepath='src/urcu-call-rcu-impl.h' line='1002' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_register_rculfhash_atfork'>
-      <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-43' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1002' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_qsbr_call_rcu_after_fork_child() -->
-    <function-decl name='urcu_qsbr_call_rcu_after_fork_child' mangled-name='urcu_qsbr_call_rcu_after_fork_child' filepath='src/urcu-call-rcu-impl.h' line='960' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_call_rcu_after_fork_child'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_qsbr_call_rcu_after_fork_parent() -->
-    <function-decl name='urcu_qsbr_call_rcu_after_fork_parent' mangled-name='urcu_qsbr_call_rcu_after_fork_parent' filepath='src/urcu-call-rcu-impl.h' line='938' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_call_rcu_after_fork_parent'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_qsbr_call_rcu_before_fork() -->
-    <function-decl name='urcu_qsbr_call_rcu_before_fork' mangled-name='urcu_qsbr_call_rcu_before_fork' filepath='src/urcu-call-rcu-impl.h' line='911' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_call_rcu_before_fork'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_qsbr_barrier() -->
-    <function-decl name='urcu_qsbr_barrier' mangled-name='urcu_qsbr_barrier' filepath='src/urcu-call-rcu-impl.h' line='840' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_barrier'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_qsbr_free_all_cpu_call_rcu_data() -->
-    <function-decl name='urcu_qsbr_free_all_cpu_call_rcu_data' mangled-name='urcu_qsbr_free_all_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='777' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_free_all_cpu_call_rcu_data'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
+    <pointer-type-def type-id='type-id-35' size-in-bits='64' id='type-id-49'/>
     <!-- void urcu_qsbr_call_rcu_data_free(call_rcu_data*) -->
     <function-decl name='urcu_qsbr_call_rcu_data_free' mangled-name='urcu_qsbr_call_rcu_data_free' filepath='src/urcu-call-rcu-impl.h' line='742' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_call_rcu_data_free'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='742' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='742' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-decl>
     <!-- void urcu_qsbr_call_rcu(rcu_head*, void (rcu_head*)*) -->
     <function-decl name='urcu_qsbr_call_rcu' mangled-name='urcu_qsbr_call_rcu' filepath='src/urcu-call-rcu-impl.h' line='704' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_call_rcu'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42' name='head' filepath='src/urcu-call-rcu-impl.h' line='704' column='1'/>
+      <parameter type-id='type-id-24' name='head' filepath='src/urcu-call-rcu-impl.h' line='704' column='1'/>
       <!-- parameter of type 'void (rcu_head*)*' -->
-      <parameter type-id='type-id-25' name='func' filepath='src/urcu-call-rcu-impl.h' line='705' column='1'/>
+      <parameter type-id='type-id-22' name='func' filepath='src/urcu-call-rcu-impl.h' line='705' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-decl>
     <!-- int urcu_qsbr_create_all_cpu_call_rcu_data(unsigned long int) -->
     <function-decl name='urcu_qsbr_create_all_cpu_call_rcu_data' mangled-name='urcu_qsbr_create_all_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='626' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_create_all_cpu_call_rcu_data'>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-3' name='flags' filepath='src/urcu-call-rcu-impl.h' line='626' column='1'/>
+      <parameter type-id='type-id-2' name='flags' filepath='src/urcu-call-rcu-impl.h' line='626' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-decl>
     <!-- void urcu_qsbr_set_thread_call_rcu_data(call_rcu_data*) -->
     <function-decl name='urcu_qsbr_set_thread_call_rcu_data' mangled-name='urcu_qsbr_set_thread_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='613' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_set_thread_call_rcu_data'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='613' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='613' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-decl>
     <!-- call_rcu_data* urcu_qsbr_get_thread_call_rcu_data() -->
     <function-decl name='urcu_qsbr_get_thread_call_rcu_data' mangled-name='urcu_qsbr_get_thread_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='597' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_get_thread_call_rcu_data'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- call_rcu_data* urcu_qsbr_get_call_rcu_data() -->
     <function-decl name='urcu_qsbr_get_call_rcu_data' mangled-name='urcu_qsbr_get_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='577' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_get_call_rcu_data'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- call_rcu_data* urcu_qsbr_get_default_call_rcu_data() -->
     <function-decl name='urcu_qsbr_get_default_call_rcu_data' mangled-name='urcu_qsbr_get_default_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='552' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_get_default_call_rcu_data'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- int urcu_qsbr_set_cpu_call_rcu_data(int, call_rcu_data*) -->
     <function-decl name='urcu_qsbr_set_cpu_call_rcu_data' mangled-name='urcu_qsbr_set_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='513' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_set_cpu_call_rcu_data'>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='513' column='1'/>
+      <parameter type-id='type-id-4' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='513' column='1'/>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='513' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='513' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-decl>
     <!-- call_rcu_data* urcu_qsbr_create_call_rcu_data(unsigned long int, int) -->
     <function-decl name='urcu_qsbr_create_call_rcu_data' mangled-name='urcu_qsbr_create_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='489' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_create_call_rcu_data'>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-3' name='flags' filepath='src/urcu-call-rcu-impl.h' line='489' column='1'/>
+      <parameter type-id='type-id-2' name='flags' filepath='src/urcu-call-rcu-impl.h' line='489' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu_affinity' filepath='src/urcu-call-rcu-impl.h' line='490' column='1'/>
+      <parameter type-id='type-id-4' name='cpu_affinity' filepath='src/urcu-call-rcu-impl.h' line='490' column='1'/>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- pthread_t urcu_qsbr_get_call_rcu_thread(call_rcu_data*) -->
     <function-decl name='urcu_qsbr_get_call_rcu_thread' mangled-name='urcu_qsbr_get_call_rcu_thread' filepath='src/urcu-call-rcu-impl.h' line='471' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_get_call_rcu_thread'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='471' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='471' column='1'/>
       <!-- typedef pthread_t -->
-      <return type-id='type-id-15'/>
+      <return type-id='type-id-8'/>
     </function-decl>
     <!-- call_rcu_data* urcu_qsbr_get_cpu_call_rcu_data(int) -->
     <function-decl name='urcu_qsbr_get_cpu_call_rcu_data' mangled-name='urcu_qsbr_get_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='449' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_get_cpu_call_rcu_data'>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='449' column='1'/>
+      <parameter type-id='type-id-4' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='449' column='1'/>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- void urcu_qsbr_exit() -->
     <function-decl name='urcu_qsbr_exit' mangled-name='urcu_qsbr_exit' filepath='src/urcu-qsbr.c' line='497' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_exit'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-decl>
     <!-- void urcu_qsbr_unregister_thread() -->
     <function-decl name='urcu_qsbr_unregister_thread' mangled-name='urcu_qsbr_unregister_thread' filepath='src/urcu-qsbr.c' line='483' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_unregister_thread'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-decl>
     <!-- void urcu_qsbr_register_thread() -->
     <function-decl name='urcu_qsbr_register_thread' mangled-name='urcu_qsbr_register_thread' filepath='src/urcu-qsbr.c' line='470' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_register_thread'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-decl>
     <!-- void urcu_qsbr_thread_online() -->
     <function-decl name='urcu_qsbr_thread_online' mangled-name='urcu_qsbr_thread_online' filepath='src/urcu-qsbr.c' line='465' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_thread_online'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-decl>
     <!-- void urcu_qsbr_thread_offline() -->
     <function-decl name='urcu_qsbr_thread_offline' mangled-name='urcu_qsbr_thread_offline' filepath='src/urcu-qsbr.c' line='459' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_thread_offline'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-decl>
     <!-- void urcu_qsbr_quiescent_state() -->
     <function-decl name='urcu_qsbr_quiescent_state' mangled-name='urcu_qsbr_quiescent_state' filepath='src/urcu-qsbr.c' line='453' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_quiescent_state'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-decl>
     <!-- int urcu_qsbr_read_ongoing() -->
     <function-decl name='urcu_qsbr_read_ongoing' mangled-name='urcu_qsbr_read_ongoing' filepath='src/urcu-qsbr.c' line='447' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_read_ongoing'>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-decl>
     <!-- void urcu_qsbr_read_unlock() -->
     <function-decl name='urcu_qsbr_read_unlock' mangled-name='urcu_qsbr_read_unlock' filepath='src/urcu-qsbr.c' line='442' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_read_unlock'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-decl>
     <!-- void urcu_qsbr_read_lock() -->
     <function-decl name='urcu_qsbr_read_lock' mangled-name='urcu_qsbr_read_lock' filepath='src/urcu-qsbr.c' line='437' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_read_lock'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-decl>
     <!-- void urcu_qsbr_synchronize_rcu() -->
     <function-decl name='urcu_qsbr_synchronize_rcu' mangled-name='urcu_qsbr_synchronize_rcu' filepath='src/urcu-qsbr.c' line='347' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_synchronize_rcu'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-decl>
     <!-- int () -->
-    <function-type size-in-bits='64' id='type-id-41'>
+    <function-type size-in-bits='64' id='type-id-19'>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-type>
     <!-- void () -->
-    <function-type size-in-bits='64' id='type-id-44'>
+    <function-type size-in-bits='64' id='type-id-18'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-type>
     <!-- void (rcu_head*) -->
-    <function-type size-in-bits='64' id='type-id-45'>
+    <function-type size-in-bits='64' id='type-id-25'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42'/>
+      <parameter type-id='type-id-24'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-type>
     <!-- void (rcu_head*, void (rcu_head*)*) -->
-    <function-type size-in-bits='64' id='type-id-46'>
+    <function-type size-in-bits='64' id='type-id-26'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42'/>
+      <parameter type-id='type-id-24'/>
       <!-- parameter of type 'void (rcu_head*)*' -->
-      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-22'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-type>
     <!-- void (urcu_atfork*) -->
-    <function-type size-in-bits='64' id='type-id-47'>
+    <function-type size-in-bits='64' id='type-id-33'>
       <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-43'/>
+      <parameter type-id='type-id-32'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-type>
     <!-- void (void (void*)*, void*) -->
-    <function-type size-in-bits='64' id='type-id-48'>
+    <function-type size-in-bits='64' id='type-id-30'>
       <!-- parameter of type 'void (void*)*' -->
-      <parameter type-id='type-id-28'/>
-      <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-29'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-27'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-type>
     <!-- void (void*) -->
-    <function-type size-in-bits='64' id='type-id-49'>
+    <function-type size-in-bits='64' id='type-id-28'>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29'/>
+      <parameter type-id='type-id-27'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-17'/>
     </function-type>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='urcu-pointer.c' comp-dir-path='src' language='LANG_C99'>
     <!-- void** -->
-    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-50'/>
+    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-50'/>
     <!-- void* rcu_cmpxchg_pointer_sym(void**, void*, void*) -->
     <function-decl name='rcu_cmpxchg_pointer_sym' mangled-name='rcu_cmpxchg_pointer_sym' filepath='src/urcu-pointer.c' line='53' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_cmpxchg_pointer_sym'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='53' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='old' filepath='src/urcu-pointer.c' line='53' column='1'/>
+      <parameter type-id='type-id-27' name='old' filepath='src/urcu-pointer.c' line='53' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='_new' filepath='src/urcu-pointer.c' line='53' column='1'/>
+      <parameter type-id='type-id-27' name='_new' filepath='src/urcu-pointer.c' line='53' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-27'/>
     </function-decl>
     <!-- void* rcu_xchg_pointer_sym(void**, void*) -->
     <function-decl name='rcu_xchg_pointer_sym' mangled-name='rcu_xchg_pointer_sym' filepath='src/urcu-pointer.c' line='47' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_xchg_pointer_sym'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='47' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='v' filepath='src/urcu-pointer.c' line='47' column='1'/>
+      <parameter type-id='type-id-27' name='v' filepath='src/urcu-pointer.c' line='47' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-27'/>
     </function-decl>
     <!-- void* rcu_set_pointer_sym(void**, void*) -->
     <function-decl name='rcu_set_pointer_sym' mangled-name='rcu_set_pointer_sym' filepath='src/urcu-pointer.c' line='40' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_set_pointer_sym'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='40' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='v' filepath='src/urcu-pointer.c' line='40' column='1'/>
+      <parameter type-id='type-id-27' name='v' filepath='src/urcu-pointer.c' line='40' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-27'/>
     </function-decl>
     <!-- void* rcu_dereference_sym(void*) -->
     <function-decl name='rcu_dereference_sym' mangled-name='rcu_dereference_sym' filepath='src/urcu-pointer.c' line='35' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_dereference_sym'>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='p' filepath='src/urcu-pointer.c' line='35' column='1'/>
+      <parameter type-id='type-id-27' name='p' filepath='src/urcu-pointer.c' line='35' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-27'/>
     </function-decl>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='compat_futex.c' comp-dir-path='src' language='LANG_C99'>
-
-
-    <!-- char[48] -->
-    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='384' id='type-id-51'>
-      <!-- <anonymous range>[48] -->
-      <subrange length='48' type-id='type-id-3' id='type-id-52'/>
-
-    </array-type-def>
-    <!-- long long int -->
-    <type-decl name='long long int' size-in-bits='64' id='type-id-53'/>
-    <!-- long long unsigned int -->
-    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-54'/>
-    <!-- unsigned int[2] -->
-    <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='64' id='type-id-55'>
-      <!-- <anonymous range>[2] -->
-      <subrange length='2' type-id='type-id-3' id='type-id-56'/>
-
-    </array-type-def>
-    <!-- typedef __anonymous_union__ pthread_cond_t -->
-    <typedef-decl name='pthread_cond_t' type-id='type-id-57' filepath='/usr/include/bits/pthreadtypes.h' line='80' column='1' id='type-id-58'/>
-    <!-- union {__pthread_cond_s __data; char __size[48]; long long int __align;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='75' column='1' id='type-id-57'>
+    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
+    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-38' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='75' column='1' id='type-id-51'>
       <data-member access='private'>
-        <!-- __pthread_cond_s __data -->
-        <var-decl name='__data' type-id='type-id-59' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='77' column='1'/>
+        <!-- __pthread_cond_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-52' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='77' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- char __size[48] -->
-        <var-decl name='__size' type-id='type-id-51' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='78' column='1'/>
+        <!-- char __anonymous_union__::__size[48] -->
+        <var-decl name='__size' type-id='type-id-53' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='78' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- long long int __align -->
-        <var-decl name='__align' type-id='type-id-53' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='79' column='1'/>
+        <!-- long long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-54' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='79' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __pthread_cond_s -->
-    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='92' column='1' id='type-id-59'>
+    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='171' column='1' id='type-id-52'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <!-- union {long long unsigned int __wseq; struct {unsigned int __low; unsigned int __high;} __wseq32;} -->
-        <var-decl name='' type-id='type-id-60' visibility='default'/>
+        <!-- __anonymous_union__  -->
+        <var-decl name='' type-id='type-id-55' visibility='default'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- unsigned int __pthread_cond_s::__g_refs[2] -->
-        <var-decl name='__g_refs' type-id='type-id-55' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='112' column='1'/>
+        <var-decl name='__g_refs' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='191' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- unsigned int __pthread_cond_s::__g_size[2] -->
-        <var-decl name='__g_size' type-id='type-id-55' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='113' column='1'/>
+        <var-decl name='__g_size' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='192' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- unsigned int __pthread_cond_s::__g1_orig_size -->
-        <var-decl name='__g1_orig_size' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='114' column='1'/>
+        <var-decl name='__g1_orig_size' type-id='type-id-9' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='193' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='288'>
         <!-- unsigned int __pthread_cond_s::__wrefs -->
-        <var-decl name='__wrefs' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='115' column='1'/>
+        <var-decl name='__wrefs' type-id='type-id-9' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='194' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
         <!-- unsigned int __pthread_cond_s::__g_signals[2] -->
-        <var-decl name='__g_signals' type-id='type-id-55' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='116' column='1'/>
+        <var-decl name='__g_signals' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='195' column='1'/>
       </data-member>
     </class-decl>
-    <!-- union {long long unsigned int __wseq; struct {unsigned int __low; unsigned int __high;} __wseq32;} -->
-    <union-decl name='__anonymous_union__1' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='94' column='1' id='type-id-60'>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='173' column='1' id='type-id-55'>
       <data-member access='private'>
-        <!-- long long unsigned int __wseq -->
-        <var-decl name='__wseq' type-id='type-id-54' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='96' column='1'/>
+        <!-- long long unsigned int __anonymous_union__::__wseq -->
+        <var-decl name='__wseq' type-id='type-id-57' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='175' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- struct {unsigned int __low; unsigned int __high;} __wseq32 -->
-        <var-decl name='__wseq32' type-id='type-id-61' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='101' column='1'/>
+        <!-- __anonymous_struct__ __anonymous_union__::__wseq32 -->
+        <var-decl name='__wseq32' type-id='type-id-58' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='180' column='1'/>
       </data-member>
     </union-decl>
-    <!-- struct {unsigned int __low; unsigned int __high;} -->
-    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='97' column='1' id='type-id-61'>
+    <!-- long long unsigned int -->
+    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-57'/>
+    <!-- struct __anonymous_struct__ -->
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='176' column='1' id='type-id-58'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <!-- unsigned int __low -->
-        <var-decl name='__low' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='99' column='1'/>
+        <!-- unsigned int __anonymous_struct__::__low -->
+        <var-decl name='__low' type-id='type-id-9' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='178' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='32'>
-        <!-- unsigned int __high -->
-        <var-decl name='__high' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='100' column='1'/>
+        <!-- unsigned int __anonymous_struct__::__high -->
+        <var-decl name='__high' type-id='type-id-9' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='179' column='1'/>
       </data-member>
     </class-decl>
+
+    <!-- unsigned int[2] -->
+    <array-type-def dimensions='1' type-id='type-id-9' size-in-bits='64' id='type-id-56'>
+      <!-- <anonymous range>[2] -->
+      <subrange length='2' type-id='type-id-2' id='type-id-59'/>
+
+    </array-type-def>
+
+    <!-- char[48] -->
+    <array-type-def dimensions='1' type-id='type-id-47' size-in-bits='384' id='type-id-53'>
+      <!-- <anonymous range>[48] -->
+      <subrange length='48' type-id='type-id-2' id='type-id-60'/>
+
+    </array-type-def>
+    <!-- long long int -->
+    <type-decl name='long long int' size-in-bits='64' id='type-id-54'/>
+    <!-- typedef __anonymous_union__ pthread_cond_t -->
+    <typedef-decl name='pthread_cond_t' type-id='type-id-51' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='80' column='1' id='type-id-61'/>
+    <!-- pthread_cond_t __urcu_compat_futex_cond -->
+    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-61' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
+    <!-- int32_t* -->
+    <pointer-type-def type-id='type-id-3' size-in-bits='64' id='type-id-62'/>
     <!-- struct timespec -->
-    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='10' column='1' id='type-id-62'>
+    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='9' column='1' id='type-id-63'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- __time_t timespec::tv_sec -->
-        <var-decl name='tv_sec' type-id='type-id-63' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='12' column='1'/>
+        <var-decl name='tv_sec' type-id='type-id-64' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='11' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- __syscall_slong_t timespec::tv_nsec -->
-        <var-decl name='tv_nsec' type-id='type-id-64' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='16' column='1'/>
+        <var-decl name='tv_nsec' type-id='type-id-65' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='12' column='1'/>
       </data-member>
     </class-decl>
     <!-- typedef long int __time_t -->
-    <typedef-decl name='__time_t' type-id='type-id-6' filepath='/usr/include/bits/types.h' line='160' column='1' id='type-id-63'/>
+    <typedef-decl name='__time_t' type-id='type-id-42' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='148' column='1' id='type-id-64'/>
     <!-- typedef long int __syscall_slong_t -->
-    <typedef-decl name='__syscall_slong_t' type-id='type-id-6' filepath='/usr/include/bits/types.h' line='197' column='1' id='type-id-64'/>
+    <typedef-decl name='__syscall_slong_t' type-id='type-id-42' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='184' column='1' id='type-id-65'/>
     <!-- const timespec -->
-    <qualified-type-def type-id='type-id-62' const='yes' id='type-id-65'/>
+    <qualified-type-def type-id='type-id-63' const='yes' id='type-id-66'/>
     <!-- const timespec* -->
-    <pointer-type-def type-id='type-id-65' size-in-bits='64' id='type-id-66'/>
-    <!-- int32_t* -->
-    <pointer-type-def type-id='type-id-11' size-in-bits='64' id='type-id-67'/>
-    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
-    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-33' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
-    <!-- pthread_cond_t __urcu_compat_futex_cond -->
-    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-58' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
+    <pointer-type-def type-id='type-id-66' size-in-bits='64' id='type-id-67'/>
     <!-- int compat_futex_async(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
     <function-decl name='compat_futex_async' mangled-name='compat_futex_async' filepath='src/compat_futex.c' line='118' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_async'>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-4' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-3' name='val' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'const timespec*' -->
-      <parameter type-id='type-id-66' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-67' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val3' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-3' name='val3' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-decl>
     <!-- int compat_futex_noasync(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
     <function-decl name='compat_futex_noasync' mangled-name='compat_futex_noasync' filepath='src/compat_futex.c' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_noasync'>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-4' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-3' name='val' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'const timespec*' -->
-      <parameter type-id='type-id-66' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-67' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val3' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-3' name='val3' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-decl>
   </abi-instr>
 </abi-corpus>
index 51a70abf4e901fc943a844f42650b0839e2257fd..c7c0ef5f5b0c0533e5e18c891cfcc8149d06fbe2 100644 (file)
@@ -1,11 +1,14 @@
 <abi-corpus architecture='elf-amd-x86_64' soname='liburcu-signal.so.8'>
   <elf-needed>
-    <dependency name='liburcu-common.so.8'/>
     <dependency name='libpthread.so.0'/>
     <dependency name='libc.so.6'/>
     <dependency name='ld-linux-x86-64.so.2'/>
   </elf-needed>
   <elf-function-symbols>
+    <!-- _fini -->
+    <elf-symbol name='_fini' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- _init -->
+    <elf-symbol name='_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- compat_futex_async -->
     <elf-symbol name='compat_futex_async' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- compat_futex_noasync -->
     <elf-symbol name='urcu_signal_reader' size='256' type='tls-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
   </elf-variable-symbols>
   <abi-instr version='1.0' address-size='64' path='urcu.c' comp-dir-path='src' language='LANG_C99'>
-
-    <!-- char -->
-    <type-decl name='char' size-in-bits='8' id='type-id-1'/>
-    <!-- char[40] -->
-    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='320' id='type-id-2'>
-      <!-- <anonymous range>[40] -->
-      <subrange length='40' type-id='type-id-3' id='type-id-4'/>
-
-    </array-type-def>
-    <!-- int -->
-    <type-decl name='int' size-in-bits='32' id='type-id-5'/>
-    <!-- long int -->
-    <type-decl name='long int' size-in-bits='64' id='type-id-6'/>
-    <!-- short int -->
-    <type-decl name='short int' size-in-bits='16' id='type-id-7'/>
-    <!-- unsigned int -->
-    <type-decl name='unsigned int' size-in-bits='32' id='type-id-8'/>
-    <!-- unsigned long int -->
-    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-3'/>
-    <!-- void -->
-    <type-decl name='void' id='type-id-9'/>
     <!-- struct urcu_gp -->
-    <class-decl name='urcu_gp' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='67' column='1' id='type-id-10'>
+    <class-decl name='urcu_gp' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='67' column='1' id='type-id-1'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned long int urcu_gp::ctr -->
-        <var-decl name='ctr' type-id='type-id-3' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='75' column='1'/>
+        <var-decl name='ctr' type-id='type-id-2' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='75' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- int32_t urcu_gp::futex -->
-        <var-decl name='futex' type-id='type-id-11' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='77' column='1'/>
+        <var-decl name='futex' type-id='type-id-3' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='77' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __int32_t int32_t -->
-    <typedef-decl name='int32_t' type-id='type-id-12' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-11'/>
+    <!-- unsigned long int -->
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-2'/>
+    <!-- int -->
+    <type-decl name='int' size-in-bits='32' id='type-id-4'/>
     <!-- typedef int __int32_t -->
-    <typedef-decl name='__int32_t' type-id='type-id-5' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-12'/>
+    <typedef-decl name='__int32_t' type-id='type-id-4' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='40' column='1' id='type-id-5'/>
+    <!-- typedef __int32_t int32_t -->
+    <typedef-decl name='int32_t' type-id='type-id-5' filepath='/usr/include/x86_64-linux-gnu/bits/stdint-intn.h' line='26' column='1' id='type-id-3'/>
+    <!-- urcu_gp urcu_signal_gp -->
+    <var-decl name='urcu_signal_gp' type-id='type-id-1' mangled-name='urcu_signal_gp' visibility='default' filepath='../include/urcu/static/urcu-signal.h' line='61' column='1' elf-symbol-id='urcu_signal_gp'/>
     <!-- struct urcu_reader -->
-    <class-decl name='urcu_reader' size-in-bits='2048' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='80' column='1' id='type-id-13'>
+    <class-decl name='urcu_reader' size-in-bits='2048' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='80' column='1' id='type-id-6'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned long int urcu_reader::ctr -->
-        <var-decl name='ctr' type-id='type-id-3' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='82' column='1'/>
+        <var-decl name='ctr' type-id='type-id-2' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='82' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- char urcu_reader::need_mb -->
-        <var-decl name='need_mb' type-id='type-id-1' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='83' column='1'/>
+        <var-decl name='need_mb' type-id='type-id-7' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='83' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1024'>
         <!-- cds_list_head urcu_reader::node -->
-        <var-decl name='node' type-id='type-id-14' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='85' column='1'/>
+        <var-decl name='node' type-id='type-id-8' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='85' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1152'>
         <!-- pthread_t urcu_reader::tid -->
-        <var-decl name='tid' type-id='type-id-15' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='86' column='1'/>
+        <var-decl name='tid' type-id='type-id-9' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='86' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='31'>
         <!-- unsigned int urcu_reader::registered -->
-        <var-decl name='registered' type-id='type-id-8' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='88' column='1'/>
+        <var-decl name='registered' type-id='type-id-10' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='88' column='1'/>
       </data-member>
     </class-decl>
+    <!-- char -->
+    <type-decl name='char' size-in-bits='8' id='type-id-7'/>
     <!-- struct cds_list_head -->
-    <class-decl name='cds_list_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/list.h' line='37' column='1' id='type-id-14'>
+    <class-decl name='cds_list_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/list.h' line='37' column='1' id='type-id-8'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_list_head* cds_list_head::next -->
-        <var-decl name='next' type-id='type-id-16' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
+        <var-decl name='next' type-id='type-id-11' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- cds_list_head* cds_list_head::prev -->
-        <var-decl name='prev' type-id='type-id-16' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
+        <var-decl name='prev' type-id='type-id-11' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_list_head* -->
+    <pointer-type-def type-id='type-id-8' size-in-bits='64' id='type-id-11'/>
     <!-- typedef unsigned long int pthread_t -->
-    <typedef-decl name='pthread_t' type-id='type-id-3' filepath='/usr/include/bits/pthreadtypes.h' line='27' column='1' id='type-id-15'/>
+    <typedef-decl name='pthread_t' type-id='type-id-2' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='27' column='1' id='type-id-9'/>
+    <!-- unsigned int -->
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-10'/>
+    <!-- urcu_reader urcu_signal_reader -->
+    <var-decl name='urcu_signal_reader' type-id='type-id-6' mangled-name='urcu_signal_reader' visibility='default' filepath='../include/urcu/static/urcu-signal.h' line='63' column='1' elf-symbol-id='urcu_signal_reader'/>
     <!-- struct rcu_flavor_struct -->
-    <class-decl name='rcu_flavor_struct' size-in-bits='896' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='42' column='1' id='type-id-17'>
+    <class-decl name='rcu_flavor_struct' size-in-bits='896' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='42' column='1' id='type-id-12'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- void ()* rcu_flavor_struct::read_lock -->
-        <var-decl name='read_lock' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='43' column='1'/>
+        <var-decl name='read_lock' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='43' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void ()* rcu_flavor_struct::read_unlock -->
-        <var-decl name='read_unlock' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='44' column='1'/>
+        <var-decl name='read_unlock' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='44' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- int ()* rcu_flavor_struct::read_ongoing -->
-        <var-decl name='read_ongoing' type-id='type-id-19' visibility='default' filepath='../include/urcu/flavor.h' line='45' column='1'/>
+        <var-decl name='read_ongoing' type-id='type-id-14' visibility='default' filepath='../include/urcu/flavor.h' line='45' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- void ()* rcu_flavor_struct::read_quiescent_state -->
-        <var-decl name='read_quiescent_state' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='46' column='1'/>
+        <var-decl name='read_quiescent_state' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='46' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- void (rcu_head*, void (rcu_head*)*)* rcu_flavor_struct::update_call_rcu -->
-        <var-decl name='update_call_rcu' type-id='type-id-20' visibility='default' filepath='../include/urcu/flavor.h' line='47' column='1'/>
+        <var-decl name='update_call_rcu' type-id='type-id-15' visibility='default' filepath='../include/urcu/flavor.h' line='47' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
         <!-- void ()* rcu_flavor_struct::update_synchronize_rcu -->
-        <var-decl name='update_synchronize_rcu' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='49' column='1'/>
+        <var-decl name='update_synchronize_rcu' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='49' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='384'>
         <!-- void (void (void*)*, void*)* rcu_flavor_struct::update_defer_rcu -->
-        <var-decl name='update_defer_rcu' type-id='type-id-21' visibility='default' filepath='../include/urcu/flavor.h' line='50' column='1'/>
+        <var-decl name='update_defer_rcu' type-id='type-id-16' visibility='default' filepath='../include/urcu/flavor.h' line='50' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='448'>
         <!-- void ()* rcu_flavor_struct::thread_offline -->
-        <var-decl name='thread_offline' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='52' column='1'/>
+        <var-decl name='thread_offline' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='52' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='512'>
         <!-- void ()* rcu_flavor_struct::thread_online -->
-        <var-decl name='thread_online' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='53' column='1'/>
+        <var-decl name='thread_online' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='53' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='576'>
         <!-- void ()* rcu_flavor_struct::register_thread -->
-        <var-decl name='register_thread' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='54' column='1'/>
+        <var-decl name='register_thread' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='54' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='640'>
         <!-- void ()* rcu_flavor_struct::unregister_thread -->
-        <var-decl name='unregister_thread' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='55' column='1'/>
+        <var-decl name='unregister_thread' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='55' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='704'>
         <!-- void ()* rcu_flavor_struct::barrier -->
-        <var-decl name='barrier' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='57' column='1'/>
+        <var-decl name='barrier' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='57' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='768'>
         <!-- void (urcu_atfork*)* rcu_flavor_struct::register_rculfhash_atfork -->
-        <var-decl name='register_rculfhash_atfork' type-id='type-id-22' visibility='default' filepath='../include/urcu/flavor.h' line='59' column='1'/>
+        <var-decl name='register_rculfhash_atfork' type-id='type-id-17' visibility='default' filepath='../include/urcu/flavor.h' line='59' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='832'>
         <!-- void (urcu_atfork*)* rcu_flavor_struct::unregister_rculfhash_atfork -->
-        <var-decl name='unregister_rculfhash_atfork' type-id='type-id-22' visibility='default' filepath='../include/urcu/flavor.h' line='60' column='1'/>
+        <var-decl name='unregister_rculfhash_atfork' type-id='type-id-17' visibility='default' filepath='../include/urcu/flavor.h' line='60' column='1'/>
       </data-member>
     </class-decl>
+    <!-- void -->
+    <type-decl name='void' id='type-id-18'/>
+    <!-- void ()* -->
+    <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-13'/>
+    <!-- int ()* -->
+    <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-14'/>
     <!-- struct rcu_head -->
-    <class-decl name='rcu_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/call-rcu.h' line='57' column='1' id='type-id-23'>
+    <class-decl name='rcu_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/call-rcu.h' line='57' column='1' id='type-id-21'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node rcu_head::next -->
-        <var-decl name='next' type-id='type-id-24' visibility='default' filepath='../include/urcu/call-rcu.h' line='58' column='1'/>
+        <var-decl name='next' type-id='type-id-22' visibility='default' filepath='../include/urcu/call-rcu.h' line='58' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void (rcu_head*)* rcu_head::func -->
-        <var-decl name='func' type-id='type-id-25' visibility='default' filepath='../include/urcu/call-rcu.h' line='59' column='1'/>
+        <var-decl name='func' type-id='type-id-23' visibility='default' filepath='../include/urcu/call-rcu.h' line='59' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_node -->
-    <class-decl name='cds_wfcq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='59' column='1' id='type-id-24'>
+    <class-decl name='cds_wfcq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='59' column='1' id='type-id-22'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node* cds_wfcq_node::next -->
-        <var-decl name='next' type-id='type-id-26' visibility='default' filepath='../include/urcu/wfcqueue.h' line='60' column='1'/>
+        <var-decl name='next' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='60' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_wfcq_node* -->
+    <pointer-type-def type-id='type-id-22' size-in-bits='64' id='type-id-24'/>
+    <!-- rcu_head* -->
+    <pointer-type-def type-id='type-id-21' size-in-bits='64' id='type-id-25'/>
+    <!-- void (rcu_head*)* -->
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-23'/>
+    <!-- void (rcu_head*, void (rcu_head*)*)* -->
+    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-15'/>
+    <!-- void* -->
+    <pointer-type-def type-id='type-id-18' size-in-bits='64' id='type-id-28'/>
+    <!-- void (void*)* -->
+    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-30'/>
+    <!-- void (void (void*)*, void*)* -->
+    <pointer-type-def type-id='type-id-31' size-in-bits='64' id='type-id-16'/>
     <!-- struct urcu_atfork -->
-    <class-decl name='urcu_atfork' size-in-bits='256' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='32' column='1' id='type-id-27'>
+    <class-decl name='urcu_atfork' size-in-bits='256' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='32' column='1' id='type-id-32'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- void (void*)* urcu_atfork::before_fork -->
-        <var-decl name='before_fork' type-id='type-id-28' visibility='default' filepath='../include/urcu/flavor.h' line='33' column='1'/>
+        <var-decl name='before_fork' type-id='type-id-30' visibility='default' filepath='../include/urcu/flavor.h' line='33' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void (void*)* urcu_atfork::after_fork_parent -->
-        <var-decl name='after_fork_parent' type-id='type-id-28' visibility='default' filepath='../include/urcu/flavor.h' line='34' column='1'/>
+        <var-decl name='after_fork_parent' type-id='type-id-30' visibility='default' filepath='../include/urcu/flavor.h' line='34' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- void (void*)* urcu_atfork::after_fork_child -->
-        <var-decl name='after_fork_child' type-id='type-id-28' visibility='default' filepath='../include/urcu/flavor.h' line='35' column='1'/>
+        <var-decl name='after_fork_child' type-id='type-id-30' visibility='default' filepath='../include/urcu/flavor.h' line='35' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- void* urcu_atfork::priv -->
-        <var-decl name='priv' type-id='type-id-29' visibility='default' filepath='../include/urcu/flavor.h' line='36' column='1'/>
+        <var-decl name='priv' type-id='type-id-28' visibility='default' filepath='../include/urcu/flavor.h' line='36' column='1'/>
       </data-member>
     </class-decl>
+    <!-- urcu_atfork* -->
+    <pointer-type-def type-id='type-id-32' size-in-bits='64' id='type-id-33'/>
+    <!-- void (urcu_atfork*)* -->
+    <pointer-type-def type-id='type-id-34' size-in-bits='64' id='type-id-17'/>
+    <!-- const rcu_flavor_struct -->
+    <qualified-type-def type-id='type-id-12' const='yes' id='type-id-35'/>
+    <!-- const rcu_flavor_struct urcu_signal_flavor -->
+    <var-decl name='urcu_signal_flavor' type-id='type-id-35' mangled-name='urcu_signal_flavor' visibility='default' filepath='../include/urcu/flavor.h' line='81' column='1' elf-symbol-id='urcu_signal_flavor'/>
+    <!-- void urcu_signal_defer_exit() -->
+    <function-decl name='urcu_signal_defer_exit' mangled-name='urcu_signal_defer_exit' filepath='src/urcu-defer-impl.h' line='467' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_defer_exit'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_signal_defer_unregister_thread() -->
+    <function-decl name='urcu_signal_defer_unregister_thread' mangled-name='urcu_signal_defer_unregister_thread' filepath='src/urcu-defer-impl.h' line='449' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_defer_unregister_thread'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- int urcu_signal_defer_register_thread() -->
+    <function-decl name='urcu_signal_defer_register_thread' mangled-name='urcu_signal_defer_register_thread' filepath='src/urcu-defer-impl.h' line='427' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_defer_register_thread'>
+      <!-- int -->
+      <return type-id='type-id-4'/>
+    </function-decl>
+    <!-- void urcu_signal_defer_rcu(void (void*)*, void*) -->
+    <function-decl name='urcu_signal_defer_rcu' mangled-name='urcu_signal_defer_rcu' filepath='src/urcu-defer-impl.h' line='396' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_defer_rcu'>
+      <!-- parameter of type 'void (void*)*' -->
+      <parameter type-id='type-id-30' name='fct' filepath='src/urcu-defer-impl.h' line='396' column='1'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-28' name='p' filepath='src/urcu-defer-impl.h' line='396' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_signal_defer_barrier() -->
+    <function-decl name='urcu_signal_defer_barrier' mangled-name='urcu_signal_defer_barrier' filepath='src/urcu-defer-impl.h' line='282' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_defer_barrier'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_signal_defer_barrier_thread() -->
+    <function-decl name='urcu_signal_defer_barrier_thread' mangled-name='urcu_signal_defer_barrier_thread' filepath='src/urcu-defer-impl.h' line='262' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_defer_barrier_thread'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_signal_unregister_rculfhash_atfork(urcu_atfork*) -->
+    <function-decl name='urcu_signal_unregister_rculfhash_atfork' mangled-name='urcu_signal_unregister_rculfhash_atfork' filepath='src/urcu-call-rcu-impl.h' line='1012' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_unregister_rculfhash_atfork'>
+      <!-- parameter of type 'urcu_atfork*' -->
+      <parameter type-id='type-id-33' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1012' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_signal_register_rculfhash_atfork(urcu_atfork*) -->
+    <function-decl name='urcu_signal_register_rculfhash_atfork' mangled-name='urcu_signal_register_rculfhash_atfork' filepath='src/urcu-call-rcu-impl.h' line='1002' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_register_rculfhash_atfork'>
+      <!-- parameter of type 'urcu_atfork*' -->
+      <parameter type-id='type-id-33' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1012' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_signal_call_rcu_after_fork_child() -->
+    <function-decl name='urcu_signal_call_rcu_after_fork_child' mangled-name='urcu_signal_call_rcu_after_fork_child' filepath='src/urcu-call-rcu-impl.h' line='960' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_call_rcu_after_fork_child'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_signal_call_rcu_after_fork_parent() -->
+    <function-decl name='urcu_signal_call_rcu_after_fork_parent' mangled-name='urcu_signal_call_rcu_after_fork_parent' filepath='src/urcu-call-rcu-impl.h' line='938' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_call_rcu_after_fork_parent'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_signal_call_rcu_before_fork() -->
+    <function-decl name='urcu_signal_call_rcu_before_fork' mangled-name='urcu_signal_call_rcu_before_fork' filepath='src/urcu-call-rcu-impl.h' line='911' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_call_rcu_before_fork'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_signal_barrier() -->
+    <function-decl name='urcu_signal_barrier' mangled-name='urcu_signal_barrier' filepath='src/urcu-call-rcu-impl.h' line='840' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_barrier'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_signal_free_all_cpu_call_rcu_data() -->
+    <function-decl name='urcu_signal_free_all_cpu_call_rcu_data' mangled-name='urcu_signal_free_all_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='777' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_free_all_cpu_call_rcu_data'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
     <!-- struct call_rcu_data -->
-    <class-decl name='call_rcu_data' size-in-bits='1024' is-struct='yes' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='53' column='1' id='type-id-30'>
+    <class-decl name='call_rcu_data' size-in-bits='1024' is-struct='yes' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='53' column='1' id='type-id-36'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_tail call_rcu_data::cbs_tail -->
-        <var-decl name='cbs_tail' type-id='type-id-31' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='61' column='1'/>
+        <var-decl name='cbs_tail' type-id='type-id-37' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='61' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- cds_wfcq_head call_rcu_data::cbs_head -->
-        <var-decl name='cbs_head' type-id='type-id-32' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='62' column='1'/>
+        <var-decl name='cbs_head' type-id='type-id-38' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='62' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='448'>
         <!-- unsigned long int call_rcu_data::flags -->
-        <var-decl name='flags' type-id='type-id-3' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='63' column='1'/>
+        <var-decl name='flags' type-id='type-id-2' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='63' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='512'>
         <!-- int32_t call_rcu_data::futex -->
-        <var-decl name='futex' type-id='type-id-11' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='64' column='1'/>
+        <var-decl name='futex' type-id='type-id-3' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='64' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='576'>
         <!-- unsigned long int call_rcu_data::qlen -->
-        <var-decl name='qlen' type-id='type-id-3' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='65' column='1'/>
+        <var-decl name='qlen' type-id='type-id-2' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='65' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='640'>
         <!-- pthread_t call_rcu_data::tid -->
-        <var-decl name='tid' type-id='type-id-15' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='66' column='1'/>
+        <var-decl name='tid' type-id='type-id-9' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='66' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='704'>
         <!-- int call_rcu_data::cpu_affinity -->
-        <var-decl name='cpu_affinity' type-id='type-id-5' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='67' column='1'/>
+        <var-decl name='cpu_affinity' type-id='type-id-4' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='67' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='768'>
         <!-- unsigned long int call_rcu_data::gp_count -->
-        <var-decl name='gp_count' type-id='type-id-3' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='68' column='1'/>
+        <var-decl name='gp_count' type-id='type-id-2' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='68' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='832'>
         <!-- cds_list_head call_rcu_data::list -->
-        <var-decl name='list' type-id='type-id-14' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='69' column='1'/>
+        <var-decl name='list' type-id='type-id-8' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='69' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_tail -->
-    <class-decl name='cds_wfcq_tail' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='127' column='1' id='type-id-31'>
+    <class-decl name='cds_wfcq_tail' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='127' column='1' id='type-id-37'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node* cds_wfcq_tail::p -->
-        <var-decl name='p' type-id='type-id-26' visibility='default' filepath='../include/urcu/wfcqueue.h' line='128' column='1'/>
+        <var-decl name='p' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='128' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_head -->
-    <class-decl name='cds_wfcq_head' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='72' column='1' id='type-id-32'>
+    <class-decl name='cds_wfcq_head' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='72' column='1' id='type-id-38'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node cds_wfcq_head::node -->
-        <var-decl name='node' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='73' column='1'/>
+        <var-decl name='node' type-id='type-id-22' visibility='default' filepath='../include/urcu/wfcqueue.h' line='73' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- pthread_mutex_t cds_wfcq_head::lock -->
-        <var-decl name='lock' type-id='type-id-33' visibility='default' filepath='../include/urcu/wfcqueue.h' line='74' column='1'/>
+        <var-decl name='lock' type-id='type-id-39' visibility='default' filepath='../include/urcu/wfcqueue.h' line='74' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __anonymous_union__ pthread_mutex_t -->
-    <typedef-decl name='pthread_mutex_t' type-id='type-id-34' filepath='/usr/include/bits/pthreadtypes.h' line='72' column='1' id='type-id-33'/>
-    <!-- union {__pthread_mutex_s __data; char __size[40]; long int __align;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='67' column='1' id='type-id-34'>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='67' column='1' id='type-id-40'>
       <data-member access='private'>
-        <!-- __pthread_mutex_s __data -->
-        <var-decl name='__data' type-id='type-id-35' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='69' column='1'/>
+        <!-- __pthread_mutex_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-41' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='69' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- char __size[40] -->
-        <var-decl name='__size' type-id='type-id-2' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='70' column='1'/>
+        <!-- char __anonymous_union__::__size[40] -->
+        <var-decl name='__size' type-id='type-id-42' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='70' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- long int __align -->
-        <var-decl name='__align' type-id='type-id-6' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='71' column='1'/>
+        <!-- long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-43' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='71' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __pthread_mutex_s -->
-    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='22' column='1' id='type-id-35'>
+    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='118' column='1' id='type-id-41'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- int __pthread_mutex_s::__lock -->
-        <var-decl name='__lock' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='24' column='1'/>
+        <var-decl name='__lock' type-id='type-id-4' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='120' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='32'>
         <!-- unsigned int __pthread_mutex_s::__count -->
-        <var-decl name='__count' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='25' column='1'/>
+        <var-decl name='__count' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='121' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- int __pthread_mutex_s::__owner -->
-        <var-decl name='__owner' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='26' column='1'/>
+        <var-decl name='__owner' type-id='type-id-4' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='122' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='96'>
         <!-- unsigned int __pthread_mutex_s::__nusers -->
-        <var-decl name='__nusers' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='28' column='1'/>
+        <var-decl name='__nusers' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='124' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- int __pthread_mutex_s::__kind -->
-        <var-decl name='__kind' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='32' column='1'/>
+        <var-decl name='__kind' type-id='type-id-4' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='148' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='160'>
         <!-- short int __pthread_mutex_s::__spins -->
-        <var-decl name='__spins' type-id='type-id-7' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='34' column='1'/>
+        <var-decl name='__spins' type-id='type-id-44' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='176'>
         <!-- short int __pthread_mutex_s::__elision -->
-        <var-decl name='__elision' type-id='type-id-7' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='35' column='1'/>
+        <var-decl name='__elision' type-id='type-id-44' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- __pthread_list_t __pthread_mutex_s::__list -->
-        <var-decl name='__list' type-id='type-id-36' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='36' column='1'/>
+        <var-decl name='__list' type-id='type-id-45' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='155' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __pthread_internal_list __pthread_list_t -->
-    <typedef-decl name='__pthread_list_t' type-id='type-id-37' filepath='/usr/include/bits/thread-shared-types.h' line='53' column='1' id='type-id-36'/>
+    <!-- short int -->
+    <type-decl name='short int' size-in-bits='16' id='type-id-44'/>
     <!-- struct __pthread_internal_list -->
-    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='49' column='1' id='type-id-37'>
+    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='82' column='1' id='type-id-46'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- __pthread_internal_list* __pthread_internal_list::__prev -->
-        <var-decl name='__prev' type-id='type-id-38' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='51' column='1'/>
+        <var-decl name='__prev' type-id='type-id-47' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='84' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- __pthread_internal_list* __pthread_internal_list::__next -->
-        <var-decl name='__next' type-id='type-id-38' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='52' column='1'/>
+        <var-decl name='__next' type-id='type-id-47' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='85' column='1'/>
       </data-member>
     </class-decl>
     <!-- __pthread_internal_list* -->
-    <pointer-type-def type-id='type-id-37' size-in-bits='64' id='type-id-38'/>
+    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-47'/>
+    <!-- typedef __pthread_internal_list __pthread_list_t -->
+    <typedef-decl name='__pthread_list_t' type-id='type-id-46' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='86' column='1' id='type-id-45'/>
+
+    <!-- char[40] -->
+    <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='320' id='type-id-42'>
+      <!-- <anonymous range>[40] -->
+      <subrange length='40' type-id='type-id-2' id='type-id-48'/>
+
+    </array-type-def>
+    <!-- long int -->
+    <type-decl name='long int' size-in-bits='64' id='type-id-43'/>
+    <!-- typedef __anonymous_union__ pthread_mutex_t -->
+    <typedef-decl name='pthread_mutex_t' type-id='type-id-40' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='72' column='1' id='type-id-39'/>
     <!-- call_rcu_data* -->
-    <pointer-type-def type-id='type-id-30' size-in-bits='64' id='type-id-39'/>
-    <!-- cds_list_head* -->
-    <pointer-type-def type-id='type-id-14' size-in-bits='64' id='type-id-16'/>
-    <!-- cds_wfcq_node* -->
-    <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-26'/>
-    <!-- const rcu_flavor_struct -->
-    <qualified-type-def type-id='type-id-17' const='yes' id='type-id-40'/>
-    <!-- int ()* -->
-    <pointer-type-def type-id='type-id-41' size-in-bits='64' id='type-id-19'/>
-    <!-- rcu_head* -->
-    <pointer-type-def type-id='type-id-23' size-in-bits='64' id='type-id-42'/>
-    <!-- urcu_atfork* -->
-    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-43'/>
-    <!-- void ()* -->
-    <pointer-type-def type-id='type-id-44' size-in-bits='64' id='type-id-18'/>
-    <!-- void (rcu_head*)* -->
-    <pointer-type-def type-id='type-id-45' size-in-bits='64' id='type-id-25'/>
-    <!-- void (rcu_head*, void (rcu_head*)*)* -->
-    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-20'/>
-    <!-- void (urcu_atfork*)* -->
-    <pointer-type-def type-id='type-id-47' size-in-bits='64' id='type-id-22'/>
-    <!-- void (void (void*)*, void*)* -->
-    <pointer-type-def type-id='type-id-48' size-in-bits='64' id='type-id-21'/>
-    <!-- void (void*)* -->
-    <pointer-type-def type-id='type-id-49' size-in-bits='64' id='type-id-28'/>
-    <!-- void* -->
-    <pointer-type-def type-id='type-id-9' size-in-bits='64' id='type-id-29'/>
-    <!-- urcu_gp urcu_signal_gp -->
-    <var-decl name='urcu_signal_gp' type-id='type-id-10' mangled-name='urcu_signal_gp' visibility='default' filepath='../include/urcu/static/urcu-signal.h' line='61' column='1' elf-symbol-id='urcu_signal_gp'/>
-    <!-- urcu_reader urcu_signal_reader -->
-    <var-decl name='urcu_signal_reader' type-id='type-id-13' mangled-name='urcu_signal_reader' visibility='default' filepath='../include/urcu/static/urcu-signal.h' line='63' column='1' elf-symbol-id='urcu_signal_reader'/>
-    <!-- const rcu_flavor_struct urcu_signal_flavor -->
-    <var-decl name='urcu_signal_flavor' type-id='type-id-40' mangled-name='urcu_signal_flavor' visibility='default' filepath='../include/urcu/flavor.h' line='81' column='1' elf-symbol-id='urcu_signal_flavor'/>
-    <!-- void urcu_signal_defer_exit() -->
-    <function-decl name='urcu_signal_defer_exit' mangled-name='urcu_signal_defer_exit' filepath='src/urcu-defer-impl.h' line='467' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_defer_exit'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_signal_defer_unregister_thread() -->
-    <function-decl name='urcu_signal_defer_unregister_thread' mangled-name='urcu_signal_defer_unregister_thread' filepath='src/urcu-defer-impl.h' line='449' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_defer_unregister_thread'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- int urcu_signal_defer_register_thread() -->
-    <function-decl name='urcu_signal_defer_register_thread' mangled-name='urcu_signal_defer_register_thread' filepath='src/urcu-defer-impl.h' line='427' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_defer_register_thread'>
-      <!-- int -->
-      <return type-id='type-id-5'/>
-    </function-decl>
-    <!-- void urcu_signal_defer_rcu(void (void*)*, void*) -->
-    <function-decl name='urcu_signal_defer_rcu' mangled-name='urcu_signal_defer_rcu' filepath='src/urcu-defer-impl.h' line='396' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_defer_rcu'>
-      <!-- parameter of type 'void (void*)*' -->
-      <parameter type-id='type-id-28' name='fct' filepath='src/urcu-defer-impl.h' line='396' column='1'/>
-      <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='p' filepath='src/urcu-defer-impl.h' line='396' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_signal_defer_barrier() -->
-    <function-decl name='urcu_signal_defer_barrier' mangled-name='urcu_signal_defer_barrier' filepath='src/urcu-defer-impl.h' line='282' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_defer_barrier'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_signal_defer_barrier_thread() -->
-    <function-decl name='urcu_signal_defer_barrier_thread' mangled-name='urcu_signal_defer_barrier_thread' filepath='src/urcu-defer-impl.h' line='262' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_defer_barrier_thread'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_signal_unregister_rculfhash_atfork(urcu_atfork*) -->
-    <function-decl name='urcu_signal_unregister_rculfhash_atfork' mangled-name='urcu_signal_unregister_rculfhash_atfork' filepath='src/urcu-call-rcu-impl.h' line='1012' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_unregister_rculfhash_atfork'>
-      <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-43' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1012' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_signal_register_rculfhash_atfork(urcu_atfork*) -->
-    <function-decl name='urcu_signal_register_rculfhash_atfork' mangled-name='urcu_signal_register_rculfhash_atfork' filepath='src/urcu-call-rcu-impl.h' line='1002' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_register_rculfhash_atfork'>
-      <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-43' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1002' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_signal_call_rcu_after_fork_child() -->
-    <function-decl name='urcu_signal_call_rcu_after_fork_child' mangled-name='urcu_signal_call_rcu_after_fork_child' filepath='src/urcu-call-rcu-impl.h' line='960' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_call_rcu_after_fork_child'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_signal_call_rcu_after_fork_parent() -->
-    <function-decl name='urcu_signal_call_rcu_after_fork_parent' mangled-name='urcu_signal_call_rcu_after_fork_parent' filepath='src/urcu-call-rcu-impl.h' line='938' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_call_rcu_after_fork_parent'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_signal_call_rcu_before_fork() -->
-    <function-decl name='urcu_signal_call_rcu_before_fork' mangled-name='urcu_signal_call_rcu_before_fork' filepath='src/urcu-call-rcu-impl.h' line='911' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_call_rcu_before_fork'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_signal_barrier() -->
-    <function-decl name='urcu_signal_barrier' mangled-name='urcu_signal_barrier' filepath='src/urcu-call-rcu-impl.h' line='840' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_barrier'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_signal_free_all_cpu_call_rcu_data() -->
-    <function-decl name='urcu_signal_free_all_cpu_call_rcu_data' mangled-name='urcu_signal_free_all_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='777' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_free_all_cpu_call_rcu_data'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
+    <pointer-type-def type-id='type-id-36' size-in-bits='64' id='type-id-49'/>
     <!-- void urcu_signal_call_rcu_data_free(call_rcu_data*) -->
     <function-decl name='urcu_signal_call_rcu_data_free' mangled-name='urcu_signal_call_rcu_data_free' filepath='src/urcu-call-rcu-impl.h' line='742' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_call_rcu_data_free'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='742' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='742' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void urcu_signal_call_rcu(rcu_head*, void (rcu_head*)*) -->
     <function-decl name='urcu_signal_call_rcu' mangled-name='urcu_signal_call_rcu' filepath='src/urcu-call-rcu-impl.h' line='704' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_call_rcu'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42' name='head' filepath='src/urcu-call-rcu-impl.h' line='704' column='1'/>
+      <parameter type-id='type-id-25' name='head' filepath='src/urcu-call-rcu-impl.h' line='704' column='1'/>
       <!-- parameter of type 'void (rcu_head*)*' -->
-      <parameter type-id='type-id-25' name='func' filepath='src/urcu-call-rcu-impl.h' line='705' column='1'/>
+      <parameter type-id='type-id-23' name='func' filepath='src/urcu-call-rcu-impl.h' line='705' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- int urcu_signal_create_all_cpu_call_rcu_data(unsigned long int) -->
     <function-decl name='urcu_signal_create_all_cpu_call_rcu_data' mangled-name='urcu_signal_create_all_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='626' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_create_all_cpu_call_rcu_data'>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-3' name='flags' filepath='src/urcu-call-rcu-impl.h' line='626' column='1'/>
+      <parameter type-id='type-id-2' name='flags' filepath='src/urcu-call-rcu-impl.h' line='626' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-decl>
     <!-- void urcu_signal_set_thread_call_rcu_data(call_rcu_data*) -->
     <function-decl name='urcu_signal_set_thread_call_rcu_data' mangled-name='urcu_signal_set_thread_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='613' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_set_thread_call_rcu_data'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='613' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='613' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- call_rcu_data* urcu_signal_get_thread_call_rcu_data() -->
     <function-decl name='urcu_signal_get_thread_call_rcu_data' mangled-name='urcu_signal_get_thread_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='597' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_get_thread_call_rcu_data'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- call_rcu_data* urcu_signal_get_call_rcu_data() -->
     <function-decl name='urcu_signal_get_call_rcu_data' mangled-name='urcu_signal_get_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='577' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_get_call_rcu_data'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- call_rcu_data* urcu_signal_get_default_call_rcu_data() -->
     <function-decl name='urcu_signal_get_default_call_rcu_data' mangled-name='urcu_signal_get_default_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='552' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_get_default_call_rcu_data'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- int urcu_signal_set_cpu_call_rcu_data(int, call_rcu_data*) -->
     <function-decl name='urcu_signal_set_cpu_call_rcu_data' mangled-name='urcu_signal_set_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='513' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_set_cpu_call_rcu_data'>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='513' column='1'/>
+      <parameter type-id='type-id-4' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='513' column='1'/>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='513' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='513' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-decl>
     <!-- call_rcu_data* urcu_signal_create_call_rcu_data(unsigned long int, int) -->
     <function-decl name='urcu_signal_create_call_rcu_data' mangled-name='urcu_signal_create_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='489' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_create_call_rcu_data'>
       <!-- parameter of type 'unsigned long int' -->
-      <parameter type-id='type-id-3' name='flags' filepath='src/urcu-call-rcu-impl.h' line='489' column='1'/>
+      <parameter type-id='type-id-2' name='flags' filepath='src/urcu-call-rcu-impl.h' line='489' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu_affinity' filepath='src/urcu-call-rcu-impl.h' line='490' column='1'/>
+      <parameter type-id='type-id-4' name='cpu_affinity' filepath='src/urcu-call-rcu-impl.h' line='490' column='1'/>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- pthread_t urcu_signal_get_call_rcu_thread(call_rcu_data*) -->
     <function-decl name='urcu_signal_get_call_rcu_thread' mangled-name='urcu_signal_get_call_rcu_thread' filepath='src/urcu-call-rcu-impl.h' line='471' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_get_call_rcu_thread'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='471' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='471' column='1'/>
       <!-- typedef pthread_t -->
-      <return type-id='type-id-15'/>
+      <return type-id='type-id-9'/>
     </function-decl>
     <!-- call_rcu_data* urcu_signal_get_cpu_call_rcu_data(int) -->
     <function-decl name='urcu_signal_get_cpu_call_rcu_data' mangled-name='urcu_signal_get_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='449' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_get_cpu_call_rcu_data'>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='449' column='1'/>
+      <parameter type-id='type-id-4' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='449' column='1'/>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- void urcu_signal_exit() -->
     <function-decl name='urcu_signal_exit' mangled-name='urcu_signal_exit' filepath='src/urcu.c' line='643' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_exit'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void urcu_signal_init() -->
     <function-decl name='urcu_signal_init' mangled-name='urcu_signal_init' filepath='src/urcu.c' line='626' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_init'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void urcu_signal_unregister_thread() -->
     <function-decl name='urcu_signal_unregister_thread' mangled-name='urcu_signal_unregister_thread' filepath='src/urcu.c' line='546' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_unregister_thread'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void urcu_signal_register_thread() -->
     <function-decl name='urcu_signal_register_thread' mangled-name='urcu_signal_register_thread' filepath='src/urcu.c' line='532' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_register_thread'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- int urcu_signal_read_ongoing() -->
     <function-decl name='urcu_signal_read_ongoing' mangled-name='urcu_signal_read_ongoing' filepath='src/urcu.c' line='527' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_read_ongoing'>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-decl>
     <!-- void urcu_signal_read_unlock() -->
     <function-decl name='urcu_signal_read_unlock' mangled-name='urcu_signal_read_unlock' filepath='src/urcu.c' line='522' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_read_unlock'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void urcu_signal_read_lock() -->
     <function-decl name='urcu_signal_read_lock' mangled-name='urcu_signal_read_lock' filepath='src/urcu.c' line='517' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_read_lock'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void urcu_signal_synchronize_rcu() -->
     <function-decl name='urcu_signal_synchronize_rcu' mangled-name='urcu_signal_synchronize_rcu' filepath='src/urcu.c' line='396' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_synchronize_rcu'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- int () -->
-    <function-type size-in-bits='64' id='type-id-41'>
+    <function-type size-in-bits='64' id='type-id-20'>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-type>
     <!-- void () -->
-    <function-type size-in-bits='64' id='type-id-44'>
+    <function-type size-in-bits='64' id='type-id-19'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (rcu_head*) -->
-    <function-type size-in-bits='64' id='type-id-45'>
+    <function-type size-in-bits='64' id='type-id-26'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42'/>
+      <parameter type-id='type-id-25'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (rcu_head*, void (rcu_head*)*) -->
-    <function-type size-in-bits='64' id='type-id-46'>
+    <function-type size-in-bits='64' id='type-id-27'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42'/>
-      <!-- parameter of type 'void (rcu_head*)*' -->
       <parameter type-id='type-id-25'/>
+      <!-- parameter of type 'void (rcu_head*)*' -->
+      <parameter type-id='type-id-23'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (urcu_atfork*) -->
-    <function-type size-in-bits='64' id='type-id-47'>
+    <function-type size-in-bits='64' id='type-id-34'>
       <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-43'/>
+      <parameter type-id='type-id-33'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (void (void*)*, void*) -->
-    <function-type size-in-bits='64' id='type-id-48'>
+    <function-type size-in-bits='64' id='type-id-31'>
       <!-- parameter of type 'void (void*)*' -->
-      <parameter type-id='type-id-28'/>
+      <parameter type-id='type-id-30'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29'/>
+      <parameter type-id='type-id-28'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (void*) -->
-    <function-type size-in-bits='64' id='type-id-49'>
+    <function-type size-in-bits='64' id='type-id-29'>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29'/>
+      <parameter type-id='type-id-28'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='urcu-pointer.c' comp-dir-path='src' language='LANG_C99'>
     <!-- void** -->
-    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-50'/>
+    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-50'/>
     <!-- void* rcu_cmpxchg_pointer_sym(void**, void*, void*) -->
     <function-decl name='rcu_cmpxchg_pointer_sym' mangled-name='rcu_cmpxchg_pointer_sym' filepath='src/urcu-pointer.c' line='53' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_cmpxchg_pointer_sym'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='53' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='old' filepath='src/urcu-pointer.c' line='53' column='1'/>
+      <parameter type-id='type-id-28' name='old' filepath='src/urcu-pointer.c' line='53' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='_new' filepath='src/urcu-pointer.c' line='53' column='1'/>
+      <parameter type-id='type-id-28' name='_new' filepath='src/urcu-pointer.c' line='53' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-28'/>
     </function-decl>
     <!-- void* rcu_xchg_pointer_sym(void**, void*) -->
     <function-decl name='rcu_xchg_pointer_sym' mangled-name='rcu_xchg_pointer_sym' filepath='src/urcu-pointer.c' line='47' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_xchg_pointer_sym'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='47' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='v' filepath='src/urcu-pointer.c' line='47' column='1'/>
+      <parameter type-id='type-id-28' name='v' filepath='src/urcu-pointer.c' line='47' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-28'/>
     </function-decl>
     <!-- void* rcu_set_pointer_sym(void**, void*) -->
     <function-decl name='rcu_set_pointer_sym' mangled-name='rcu_set_pointer_sym' filepath='src/urcu-pointer.c' line='40' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_set_pointer_sym'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='40' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='v' filepath='src/urcu-pointer.c' line='40' column='1'/>
+      <parameter type-id='type-id-28' name='v' filepath='src/urcu-pointer.c' line='40' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-28'/>
     </function-decl>
     <!-- void* rcu_dereference_sym(void*) -->
     <function-decl name='rcu_dereference_sym' mangled-name='rcu_dereference_sym' filepath='src/urcu-pointer.c' line='35' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_dereference_sym'>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='p' filepath='src/urcu-pointer.c' line='35' column='1'/>
+      <parameter type-id='type-id-28' name='p' filepath='src/urcu-pointer.c' line='35' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-28'/>
     </function-decl>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='compat_futex.c' comp-dir-path='src' language='LANG_C99'>
-
-
-    <!-- char[48] -->
-    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='384' id='type-id-51'>
-      <!-- <anonymous range>[48] -->
-      <subrange length='48' type-id='type-id-3' id='type-id-52'/>
-
-    </array-type-def>
-    <!-- long long int -->
-    <type-decl name='long long int' size-in-bits='64' id='type-id-53'/>
-    <!-- long long unsigned int -->
-    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-54'/>
-    <!-- unsigned int[2] -->
-    <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='64' id='type-id-55'>
-      <!-- <anonymous range>[2] -->
-      <subrange length='2' type-id='type-id-3' id='type-id-56'/>
-
-    </array-type-def>
-    <!-- typedef __anonymous_union__ pthread_cond_t -->
-    <typedef-decl name='pthread_cond_t' type-id='type-id-57' filepath='/usr/include/bits/pthreadtypes.h' line='80' column='1' id='type-id-58'/>
-    <!-- union {__pthread_cond_s __data; char __size[48]; long long int __align;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='75' column='1' id='type-id-57'>
+    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
+    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-39' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='75' column='1' id='type-id-51'>
       <data-member access='private'>
-        <!-- __pthread_cond_s __data -->
-        <var-decl name='__data' type-id='type-id-59' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='77' column='1'/>
+        <!-- __pthread_cond_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-52' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='77' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- char __size[48] -->
-        <var-decl name='__size' type-id='type-id-51' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='78' column='1'/>
+        <!-- char __anonymous_union__::__size[48] -->
+        <var-decl name='__size' type-id='type-id-53' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='78' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- long long int __align -->
-        <var-decl name='__align' type-id='type-id-53' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='79' column='1'/>
+        <!-- long long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-54' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='79' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __pthread_cond_s -->
-    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='92' column='1' id='type-id-59'>
+    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='171' column='1' id='type-id-52'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <!-- union {long long unsigned int __wseq; struct {unsigned int __low; unsigned int __high;} __wseq32;} -->
-        <var-decl name='' type-id='type-id-60' visibility='default'/>
+        <!-- __anonymous_union__  -->
+        <var-decl name='' type-id='type-id-55' visibility='default'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- unsigned int __pthread_cond_s::__g_refs[2] -->
-        <var-decl name='__g_refs' type-id='type-id-55' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='112' column='1'/>
+        <var-decl name='__g_refs' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='191' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- unsigned int __pthread_cond_s::__g_size[2] -->
-        <var-decl name='__g_size' type-id='type-id-55' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='113' column='1'/>
+        <var-decl name='__g_size' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='192' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- unsigned int __pthread_cond_s::__g1_orig_size -->
-        <var-decl name='__g1_orig_size' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='114' column='1'/>
+        <var-decl name='__g1_orig_size' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='193' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='288'>
         <!-- unsigned int __pthread_cond_s::__wrefs -->
-        <var-decl name='__wrefs' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='115' column='1'/>
+        <var-decl name='__wrefs' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='194' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
         <!-- unsigned int __pthread_cond_s::__g_signals[2] -->
-        <var-decl name='__g_signals' type-id='type-id-55' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='116' column='1'/>
+        <var-decl name='__g_signals' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='195' column='1'/>
       </data-member>
     </class-decl>
-    <!-- union {long long unsigned int __wseq; struct {unsigned int __low; unsigned int __high;} __wseq32;} -->
-    <union-decl name='__anonymous_union__1' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='94' column='1' id='type-id-60'>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='173' column='1' id='type-id-55'>
       <data-member access='private'>
-        <!-- long long unsigned int __wseq -->
-        <var-decl name='__wseq' type-id='type-id-54' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='96' column='1'/>
+        <!-- long long unsigned int __anonymous_union__::__wseq -->
+        <var-decl name='__wseq' type-id='type-id-57' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='175' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- struct {unsigned int __low; unsigned int __high;} __wseq32 -->
-        <var-decl name='__wseq32' type-id='type-id-61' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='101' column='1'/>
+        <!-- __anonymous_struct__ __anonymous_union__::__wseq32 -->
+        <var-decl name='__wseq32' type-id='type-id-58' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='180' column='1'/>
       </data-member>
     </union-decl>
-    <!-- struct {unsigned int __low; unsigned int __high;} -->
-    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='97' column='1' id='type-id-61'>
+    <!-- long long unsigned int -->
+    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-57'/>
+    <!-- struct __anonymous_struct__ -->
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='176' column='1' id='type-id-58'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <!-- unsigned int __low -->
-        <var-decl name='__low' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='99' column='1'/>
+        <!-- unsigned int __anonymous_struct__::__low -->
+        <var-decl name='__low' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='178' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='32'>
-        <!-- unsigned int __high -->
-        <var-decl name='__high' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='100' column='1'/>
+        <!-- unsigned int __anonymous_struct__::__high -->
+        <var-decl name='__high' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='179' column='1'/>
       </data-member>
     </class-decl>
+
+    <!-- unsigned int[2] -->
+    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='64' id='type-id-56'>
+      <!-- <anonymous range>[2] -->
+      <subrange length='2' type-id='type-id-2' id='type-id-59'/>
+
+    </array-type-def>
+
+    <!-- char[48] -->
+    <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='384' id='type-id-53'>
+      <!-- <anonymous range>[48] -->
+      <subrange length='48' type-id='type-id-2' id='type-id-60'/>
+
+    </array-type-def>
+    <!-- long long int -->
+    <type-decl name='long long int' size-in-bits='64' id='type-id-54'/>
+    <!-- typedef __anonymous_union__ pthread_cond_t -->
+    <typedef-decl name='pthread_cond_t' type-id='type-id-51' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='80' column='1' id='type-id-61'/>
+    <!-- pthread_cond_t __urcu_compat_futex_cond -->
+    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-61' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
+    <!-- int32_t* -->
+    <pointer-type-def type-id='type-id-3' size-in-bits='64' id='type-id-62'/>
     <!-- struct timespec -->
-    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='10' column='1' id='type-id-62'>
+    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='9' column='1' id='type-id-63'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- __time_t timespec::tv_sec -->
-        <var-decl name='tv_sec' type-id='type-id-63' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='12' column='1'/>
+        <var-decl name='tv_sec' type-id='type-id-64' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='11' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- __syscall_slong_t timespec::tv_nsec -->
-        <var-decl name='tv_nsec' type-id='type-id-64' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='16' column='1'/>
+        <var-decl name='tv_nsec' type-id='type-id-65' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='12' column='1'/>
       </data-member>
     </class-decl>
     <!-- typedef long int __time_t -->
-    <typedef-decl name='__time_t' type-id='type-id-6' filepath='/usr/include/bits/types.h' line='160' column='1' id='type-id-63'/>
+    <typedef-decl name='__time_t' type-id='type-id-43' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='148' column='1' id='type-id-64'/>
     <!-- typedef long int __syscall_slong_t -->
-    <typedef-decl name='__syscall_slong_t' type-id='type-id-6' filepath='/usr/include/bits/types.h' line='197' column='1' id='type-id-64'/>
+    <typedef-decl name='__syscall_slong_t' type-id='type-id-43' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='184' column='1' id='type-id-65'/>
     <!-- const timespec -->
-    <qualified-type-def type-id='type-id-62' const='yes' id='type-id-65'/>
+    <qualified-type-def type-id='type-id-63' const='yes' id='type-id-66'/>
     <!-- const timespec* -->
-    <pointer-type-def type-id='type-id-65' size-in-bits='64' id='type-id-66'/>
-    <!-- int32_t* -->
-    <pointer-type-def type-id='type-id-11' size-in-bits='64' id='type-id-67'/>
-    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
-    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-33' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
-    <!-- pthread_cond_t __urcu_compat_futex_cond -->
-    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-58' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
+    <pointer-type-def type-id='type-id-66' size-in-bits='64' id='type-id-67'/>
     <!-- int compat_futex_async(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
     <function-decl name='compat_futex_async' mangled-name='compat_futex_async' filepath='src/compat_futex.c' line='118' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_async'>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-4' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-3' name='val' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'const timespec*' -->
-      <parameter type-id='type-id-66' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-67' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val3' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-3' name='val3' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-decl>
     <!-- int compat_futex_noasync(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
     <function-decl name='compat_futex_noasync' mangled-name='compat_futex_noasync' filepath='src/compat_futex.c' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_noasync'>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-4' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-3' name='val' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'const timespec*' -->
-      <parameter type-id='type-id-66' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-67' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val3' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-3' name='val3' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
     </function-decl>
   </abi-instr>
 </abi-corpus>
index 98ff729c79bb39118192bfdc927418de421cb315..c0d117d864ebe938cb62dcd681c8cb9bece8a884 100644 (file)
@@ -1,11 +1,14 @@
 <abi-corpus architecture='elf-amd-x86_64' soname='liburcu.so.8'>
   <elf-needed>
-    <dependency name='liburcu-common.so.8'/>
     <dependency name='libpthread.so.0'/>
     <dependency name='libc.so.6'/>
     <dependency name='ld-linux-x86-64.so.2'/>
   </elf-needed>
   <elf-function-symbols>
+    <!-- _fini -->
+    <elf-symbol name='_fini' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- _init -->
+    <elf-symbol name='_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- compat_futex_async -->
     <elf-symbol name='compat_futex_async' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <!-- compat_futex_noasync -->
     <elf-symbol name='urcu_memb_reader' size='256' type='tls-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
   </elf-variable-symbols>
   <abi-instr version='1.0' address-size='64' path='urcu.c' comp-dir-path='src' language='LANG_C99'>
-
-    <!-- char -->
-    <type-decl name='char' size-in-bits='8' id='type-id-1'/>
-    <!-- char[40] -->
-    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='320' id='type-id-2'>
-      <!-- <anonymous range>[40] -->
-      <subrange length='40' type-id='type-id-3' id='type-id-4'/>
-
-    </array-type-def>
     <!-- int -->
-    <type-decl name='int' size-in-bits='32' id='type-id-5'/>
-    <!-- long int -->
-    <type-decl name='long int' size-in-bits='64' id='type-id-6'/>
-    <!-- short int -->
-    <type-decl name='short int' size-in-bits='16' id='type-id-7'/>
-    <!-- unsigned int -->
-    <type-decl name='unsigned int' size-in-bits='32' id='type-id-8'/>
-    <!-- unsigned long int -->
-    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-3'/>
-    <!-- void -->
-    <type-decl name='void' id='type-id-9'/>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <!-- int urcu_memb_has_sys_membarrier -->
+    <var-decl name='urcu_memb_has_sys_membarrier' type-id='type-id-1' mangled-name='urcu_memb_has_sys_membarrier' visibility='default' filepath='../include/urcu/static/urcu-memb.h' line='72' column='1' elf-symbol-id='urcu_memb_has_sys_membarrier'/>
     <!-- struct urcu_gp -->
-    <class-decl name='urcu_gp' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='67' column='1' id='type-id-10'>
+    <class-decl name='urcu_gp' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='67' column='1' id='type-id-2'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned long int urcu_gp::ctr -->
         <var-decl name='ctr' type-id='type-id-3' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='75' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- int32_t urcu_gp::futex -->
-        <var-decl name='futex' type-id='type-id-11' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='77' column='1'/>
+        <var-decl name='futex' type-id='type-id-4' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='77' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __int32_t int32_t -->
-    <typedef-decl name='int32_t' type-id='type-id-12' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-11'/>
+    <!-- unsigned long int -->
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-3'/>
     <!-- typedef int __int32_t -->
-    <typedef-decl name='__int32_t' type-id='type-id-5' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-12'/>
+    <typedef-decl name='__int32_t' type-id='type-id-1' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='40' column='1' id='type-id-5'/>
+    <!-- typedef __int32_t int32_t -->
+    <typedef-decl name='int32_t' type-id='type-id-5' filepath='/usr/include/x86_64-linux-gnu/bits/stdint-intn.h' line='26' column='1' id='type-id-4'/>
+    <!-- urcu_gp urcu_memb_gp -->
+    <var-decl name='urcu_memb_gp' type-id='type-id-2' mangled-name='urcu_memb_gp' visibility='default' filepath='../include/urcu/static/urcu-memb.h' line='83' column='1' elf-symbol-id='urcu_memb_gp'/>
     <!-- struct urcu_reader -->
-    <class-decl name='urcu_reader' size-in-bits='2048' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='80' column='1' id='type-id-13'>
+    <class-decl name='urcu_reader' size-in-bits='2048' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='80' column='1' id='type-id-6'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned long int urcu_reader::ctr -->
         <var-decl name='ctr' type-id='type-id-3' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='82' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- char urcu_reader::need_mb -->
-        <var-decl name='need_mb' type-id='type-id-1' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='83' column='1'/>
+        <var-decl name='need_mb' type-id='type-id-7' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='83' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1024'>
         <!-- cds_list_head urcu_reader::node -->
-        <var-decl name='node' type-id='type-id-14' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='85' column='1'/>
+        <var-decl name='node' type-id='type-id-8' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='85' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1152'>
         <!-- pthread_t urcu_reader::tid -->
-        <var-decl name='tid' type-id='type-id-15' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='86' column='1'/>
+        <var-decl name='tid' type-id='type-id-9' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='86' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='31'>
         <!-- unsigned int urcu_reader::registered -->
-        <var-decl name='registered' type-id='type-id-8' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='88' column='1'/>
+        <var-decl name='registered' type-id='type-id-10' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='88' column='1'/>
       </data-member>
     </class-decl>
+    <!-- char -->
+    <type-decl name='char' size-in-bits='8' id='type-id-7'/>
     <!-- struct cds_list_head -->
-    <class-decl name='cds_list_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/list.h' line='37' column='1' id='type-id-14'>
+    <class-decl name='cds_list_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/list.h' line='37' column='1' id='type-id-8'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_list_head* cds_list_head::next -->
-        <var-decl name='next' type-id='type-id-16' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
+        <var-decl name='next' type-id='type-id-11' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- cds_list_head* cds_list_head::prev -->
-        <var-decl name='prev' type-id='type-id-16' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
+        <var-decl name='prev' type-id='type-id-11' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_list_head* -->
+    <pointer-type-def type-id='type-id-8' size-in-bits='64' id='type-id-11'/>
     <!-- typedef unsigned long int pthread_t -->
-    <typedef-decl name='pthread_t' type-id='type-id-3' filepath='/usr/include/bits/pthreadtypes.h' line='27' column='1' id='type-id-15'/>
+    <typedef-decl name='pthread_t' type-id='type-id-3' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='27' column='1' id='type-id-9'/>
+    <!-- unsigned int -->
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-10'/>
+    <!-- urcu_reader urcu_memb_reader -->
+    <var-decl name='urcu_memb_reader' type-id='type-id-6' mangled-name='urcu_memb_reader' visibility='default' filepath='../include/urcu/static/urcu-memb.h' line='85' column='1' elf-symbol-id='urcu_memb_reader'/>
     <!-- struct rcu_flavor_struct -->
-    <class-decl name='rcu_flavor_struct' size-in-bits='896' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='42' column='1' id='type-id-17'>
+    <class-decl name='rcu_flavor_struct' size-in-bits='896' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='42' column='1' id='type-id-12'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- void ()* rcu_flavor_struct::read_lock -->
-        <var-decl name='read_lock' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='43' column='1'/>
+        <var-decl name='read_lock' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='43' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void ()* rcu_flavor_struct::read_unlock -->
-        <var-decl name='read_unlock' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='44' column='1'/>
+        <var-decl name='read_unlock' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='44' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- int ()* rcu_flavor_struct::read_ongoing -->
-        <var-decl name='read_ongoing' type-id='type-id-19' visibility='default' filepath='../include/urcu/flavor.h' line='45' column='1'/>
+        <var-decl name='read_ongoing' type-id='type-id-14' visibility='default' filepath='../include/urcu/flavor.h' line='45' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- void ()* rcu_flavor_struct::read_quiescent_state -->
-        <var-decl name='read_quiescent_state' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='46' column='1'/>
+        <var-decl name='read_quiescent_state' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='46' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- void (rcu_head*, void (rcu_head*)*)* rcu_flavor_struct::update_call_rcu -->
-        <var-decl name='update_call_rcu' type-id='type-id-20' visibility='default' filepath='../include/urcu/flavor.h' line='47' column='1'/>
+        <var-decl name='update_call_rcu' type-id='type-id-15' visibility='default' filepath='../include/urcu/flavor.h' line='47' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
         <!-- void ()* rcu_flavor_struct::update_synchronize_rcu -->
-        <var-decl name='update_synchronize_rcu' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='49' column='1'/>
+        <var-decl name='update_synchronize_rcu' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='49' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='384'>
         <!-- void (void (void*)*, void*)* rcu_flavor_struct::update_defer_rcu -->
-        <var-decl name='update_defer_rcu' type-id='type-id-21' visibility='default' filepath='../include/urcu/flavor.h' line='50' column='1'/>
+        <var-decl name='update_defer_rcu' type-id='type-id-16' visibility='default' filepath='../include/urcu/flavor.h' line='50' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='448'>
         <!-- void ()* rcu_flavor_struct::thread_offline -->
-        <var-decl name='thread_offline' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='52' column='1'/>
+        <var-decl name='thread_offline' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='52' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='512'>
         <!-- void ()* rcu_flavor_struct::thread_online -->
-        <var-decl name='thread_online' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='53' column='1'/>
+        <var-decl name='thread_online' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='53' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='576'>
         <!-- void ()* rcu_flavor_struct::register_thread -->
-        <var-decl name='register_thread' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='54' column='1'/>
+        <var-decl name='register_thread' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='54' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='640'>
         <!-- void ()* rcu_flavor_struct::unregister_thread -->
-        <var-decl name='unregister_thread' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='55' column='1'/>
+        <var-decl name='unregister_thread' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='55' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='704'>
         <!-- void ()* rcu_flavor_struct::barrier -->
-        <var-decl name='barrier' type-id='type-id-18' visibility='default' filepath='../include/urcu/flavor.h' line='57' column='1'/>
+        <var-decl name='barrier' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='57' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='768'>
         <!-- void (urcu_atfork*)* rcu_flavor_struct::register_rculfhash_atfork -->
-        <var-decl name='register_rculfhash_atfork' type-id='type-id-22' visibility='default' filepath='../include/urcu/flavor.h' line='59' column='1'/>
+        <var-decl name='register_rculfhash_atfork' type-id='type-id-17' visibility='default' filepath='../include/urcu/flavor.h' line='59' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='832'>
         <!-- void (urcu_atfork*)* rcu_flavor_struct::unregister_rculfhash_atfork -->
-        <var-decl name='unregister_rculfhash_atfork' type-id='type-id-22' visibility='default' filepath='../include/urcu/flavor.h' line='60' column='1'/>
+        <var-decl name='unregister_rculfhash_atfork' type-id='type-id-17' visibility='default' filepath='../include/urcu/flavor.h' line='60' column='1'/>
       </data-member>
     </class-decl>
+    <!-- void -->
+    <type-decl name='void' id='type-id-18'/>
+    <!-- void ()* -->
+    <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-13'/>
+    <!-- int ()* -->
+    <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-14'/>
     <!-- struct rcu_head -->
-    <class-decl name='rcu_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/call-rcu.h' line='57' column='1' id='type-id-23'>
+    <class-decl name='rcu_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/call-rcu.h' line='57' column='1' id='type-id-21'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node rcu_head::next -->
-        <var-decl name='next' type-id='type-id-24' visibility='default' filepath='../include/urcu/call-rcu.h' line='58' column='1'/>
+        <var-decl name='next' type-id='type-id-22' visibility='default' filepath='../include/urcu/call-rcu.h' line='58' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void (rcu_head*)* rcu_head::func -->
-        <var-decl name='func' type-id='type-id-25' visibility='default' filepath='../include/urcu/call-rcu.h' line='59' column='1'/>
+        <var-decl name='func' type-id='type-id-23' visibility='default' filepath='../include/urcu/call-rcu.h' line='59' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_node -->
-    <class-decl name='cds_wfcq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='59' column='1' id='type-id-24'>
+    <class-decl name='cds_wfcq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='59' column='1' id='type-id-22'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node* cds_wfcq_node::next -->
-        <var-decl name='next' type-id='type-id-26' visibility='default' filepath='../include/urcu/wfcqueue.h' line='60' column='1'/>
+        <var-decl name='next' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='60' column='1'/>
       </data-member>
     </class-decl>
+    <!-- cds_wfcq_node* -->
+    <pointer-type-def type-id='type-id-22' size-in-bits='64' id='type-id-24'/>
+    <!-- rcu_head* -->
+    <pointer-type-def type-id='type-id-21' size-in-bits='64' id='type-id-25'/>
+    <!-- void (rcu_head*)* -->
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-23'/>
+    <!-- void (rcu_head*, void (rcu_head*)*)* -->
+    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-15'/>
+    <!-- void* -->
+    <pointer-type-def type-id='type-id-18' size-in-bits='64' id='type-id-28'/>
+    <!-- void (void*)* -->
+    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-30'/>
+    <!-- void (void (void*)*, void*)* -->
+    <pointer-type-def type-id='type-id-31' size-in-bits='64' id='type-id-16'/>
     <!-- struct urcu_atfork -->
-    <class-decl name='urcu_atfork' size-in-bits='256' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='32' column='1' id='type-id-27'>
+    <class-decl name='urcu_atfork' size-in-bits='256' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='32' column='1' id='type-id-32'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- void (void*)* urcu_atfork::before_fork -->
-        <var-decl name='before_fork' type-id='type-id-28' visibility='default' filepath='../include/urcu/flavor.h' line='33' column='1'/>
+        <var-decl name='before_fork' type-id='type-id-30' visibility='default' filepath='../include/urcu/flavor.h' line='33' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- void (void*)* urcu_atfork::after_fork_parent -->
-        <var-decl name='after_fork_parent' type-id='type-id-28' visibility='default' filepath='../include/urcu/flavor.h' line='34' column='1'/>
+        <var-decl name='after_fork_parent' type-id='type-id-30' visibility='default' filepath='../include/urcu/flavor.h' line='34' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- void (void*)* urcu_atfork::after_fork_child -->
-        <var-decl name='after_fork_child' type-id='type-id-28' visibility='default' filepath='../include/urcu/flavor.h' line='35' column='1'/>
+        <var-decl name='after_fork_child' type-id='type-id-30' visibility='default' filepath='../include/urcu/flavor.h' line='35' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- void* urcu_atfork::priv -->
-        <var-decl name='priv' type-id='type-id-29' visibility='default' filepath='../include/urcu/flavor.h' line='36' column='1'/>
+        <var-decl name='priv' type-id='type-id-28' visibility='default' filepath='../include/urcu/flavor.h' line='36' column='1'/>
       </data-member>
     </class-decl>
+    <!-- urcu_atfork* -->
+    <pointer-type-def type-id='type-id-32' size-in-bits='64' id='type-id-33'/>
+    <!-- void (urcu_atfork*)* -->
+    <pointer-type-def type-id='type-id-34' size-in-bits='64' id='type-id-17'/>
+    <!-- const rcu_flavor_struct -->
+    <qualified-type-def type-id='type-id-12' const='yes' id='type-id-35'/>
+    <!-- const rcu_flavor_struct urcu_memb_flavor -->
+    <var-decl name='urcu_memb_flavor' type-id='type-id-35' mangled-name='urcu_memb_flavor' visibility='default' filepath='../include/urcu/flavor.h' line='81' column='1' elf-symbol-id='urcu_memb_flavor'/>
+    <!-- void urcu_memb_defer_exit() -->
+    <function-decl name='urcu_memb_defer_exit' mangled-name='urcu_memb_defer_exit' filepath='src/urcu-defer-impl.h' line='467' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_defer_exit'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_defer_unregister_thread() -->
+    <function-decl name='urcu_memb_defer_unregister_thread' mangled-name='urcu_memb_defer_unregister_thread' filepath='src/urcu-defer-impl.h' line='449' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_defer_unregister_thread'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- int urcu_memb_defer_register_thread() -->
+    <function-decl name='urcu_memb_defer_register_thread' mangled-name='urcu_memb_defer_register_thread' filepath='src/urcu-defer-impl.h' line='427' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_defer_register_thread'>
+      <!-- int -->
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <!-- void urcu_memb_defer_rcu(void (void*)*, void*) -->
+    <function-decl name='urcu_memb_defer_rcu' mangled-name='urcu_memb_defer_rcu' filepath='src/urcu-defer-impl.h' line='396' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_defer_rcu'>
+      <!-- parameter of type 'void (void*)*' -->
+      <parameter type-id='type-id-30' name='fct' filepath='src/urcu-defer-impl.h' line='396' column='1'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-28' name='p' filepath='src/urcu-defer-impl.h' line='396' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_defer_barrier() -->
+    <function-decl name='urcu_memb_defer_barrier' mangled-name='urcu_memb_defer_barrier' filepath='src/urcu-defer-impl.h' line='282' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_defer_barrier'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_defer_barrier_thread() -->
+    <function-decl name='urcu_memb_defer_barrier_thread' mangled-name='urcu_memb_defer_barrier_thread' filepath='src/urcu-defer-impl.h' line='262' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_defer_barrier_thread'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_unregister_rculfhash_atfork(urcu_atfork*) -->
+    <function-decl name='urcu_memb_unregister_rculfhash_atfork' mangled-name='urcu_memb_unregister_rculfhash_atfork' filepath='src/urcu-call-rcu-impl.h' line='1012' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_unregister_rculfhash_atfork'>
+      <!-- parameter of type 'urcu_atfork*' -->
+      <parameter type-id='type-id-33' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1012' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_register_rculfhash_atfork(urcu_atfork*) -->
+    <function-decl name='urcu_memb_register_rculfhash_atfork' mangled-name='urcu_memb_register_rculfhash_atfork' filepath='src/urcu-call-rcu-impl.h' line='1002' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_register_rculfhash_atfork'>
+      <!-- parameter of type 'urcu_atfork*' -->
+      <parameter type-id='type-id-33' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1012' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_call_rcu_after_fork_child() -->
+    <function-decl name='urcu_memb_call_rcu_after_fork_child' mangled-name='urcu_memb_call_rcu_after_fork_child' filepath='src/urcu-call-rcu-impl.h' line='960' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_call_rcu_after_fork_child'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_call_rcu_after_fork_parent() -->
+    <function-decl name='urcu_memb_call_rcu_after_fork_parent' mangled-name='urcu_memb_call_rcu_after_fork_parent' filepath='src/urcu-call-rcu-impl.h' line='938' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_call_rcu_after_fork_parent'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_call_rcu_before_fork() -->
+    <function-decl name='urcu_memb_call_rcu_before_fork' mangled-name='urcu_memb_call_rcu_before_fork' filepath='src/urcu-call-rcu-impl.h' line='911' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_call_rcu_before_fork'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_barrier() -->
+    <function-decl name='urcu_memb_barrier' mangled-name='urcu_memb_barrier' filepath='src/urcu-call-rcu-impl.h' line='840' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_barrier'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_free_all_cpu_call_rcu_data() -->
+    <function-decl name='urcu_memb_free_all_cpu_call_rcu_data' mangled-name='urcu_memb_free_all_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='777' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_free_all_cpu_call_rcu_data'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
     <!-- struct call_rcu_data -->
-    <class-decl name='call_rcu_data' size-in-bits='1024' is-struct='yes' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='53' column='1' id='type-id-30'>
+    <class-decl name='call_rcu_data' size-in-bits='1024' is-struct='yes' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='53' column='1' id='type-id-36'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_tail call_rcu_data::cbs_tail -->
-        <var-decl name='cbs_tail' type-id='type-id-31' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='61' column='1'/>
+        <var-decl name='cbs_tail' type-id='type-id-37' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='61' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- cds_wfcq_head call_rcu_data::cbs_head -->
-        <var-decl name='cbs_head' type-id='type-id-32' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='62' column='1'/>
+        <var-decl name='cbs_head' type-id='type-id-38' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='62' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='448'>
         <!-- unsigned long int call_rcu_data::flags -->
       </data-member>
       <data-member access='public' layout-offset-in-bits='512'>
         <!-- int32_t call_rcu_data::futex -->
-        <var-decl name='futex' type-id='type-id-11' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='64' column='1'/>
+        <var-decl name='futex' type-id='type-id-4' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='64' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='576'>
         <!-- unsigned long int call_rcu_data::qlen -->
       </data-member>
       <data-member access='public' layout-offset-in-bits='640'>
         <!-- pthread_t call_rcu_data::tid -->
-        <var-decl name='tid' type-id='type-id-15' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='66' column='1'/>
+        <var-decl name='tid' type-id='type-id-9' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='66' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='704'>
         <!-- int call_rcu_data::cpu_affinity -->
-        <var-decl name='cpu_affinity' type-id='type-id-5' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='67' column='1'/>
+        <var-decl name='cpu_affinity' type-id='type-id-1' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='67' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='768'>
         <!-- unsigned long int call_rcu_data::gp_count -->
       </data-member>
       <data-member access='public' layout-offset-in-bits='832'>
         <!-- cds_list_head call_rcu_data::list -->
-        <var-decl name='list' type-id='type-id-14' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='69' column='1'/>
+        <var-decl name='list' type-id='type-id-8' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='69' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_tail -->
-    <class-decl name='cds_wfcq_tail' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='127' column='1' id='type-id-31'>
+    <class-decl name='cds_wfcq_tail' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='127' column='1' id='type-id-37'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node* cds_wfcq_tail::p -->
-        <var-decl name='p' type-id='type-id-26' visibility='default' filepath='../include/urcu/wfcqueue.h' line='128' column='1'/>
+        <var-decl name='p' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='128' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct cds_wfcq_head -->
-    <class-decl name='cds_wfcq_head' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='72' column='1' id='type-id-32'>
+    <class-decl name='cds_wfcq_head' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='72' column='1' id='type-id-38'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- cds_wfcq_node cds_wfcq_head::node -->
-        <var-decl name='node' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='73' column='1'/>
+        <var-decl name='node' type-id='type-id-22' visibility='default' filepath='../include/urcu/wfcqueue.h' line='73' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- pthread_mutex_t cds_wfcq_head::lock -->
-        <var-decl name='lock' type-id='type-id-33' visibility='default' filepath='../include/urcu/wfcqueue.h' line='74' column='1'/>
+        <var-decl name='lock' type-id='type-id-39' visibility='default' filepath='../include/urcu/wfcqueue.h' line='74' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __anonymous_union__ pthread_mutex_t -->
-    <typedef-decl name='pthread_mutex_t' type-id='type-id-34' filepath='/usr/include/bits/pthreadtypes.h' line='72' column='1' id='type-id-33'/>
-    <!-- union {__pthread_mutex_s __data; char __size[40]; long int __align;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='67' column='1' id='type-id-34'>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='67' column='1' id='type-id-40'>
       <data-member access='private'>
-        <!-- __pthread_mutex_s __data -->
-        <var-decl name='__data' type-id='type-id-35' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='69' column='1'/>
+        <!-- __pthread_mutex_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-41' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='69' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- char __size[40] -->
-        <var-decl name='__size' type-id='type-id-2' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='70' column='1'/>
+        <!-- char __anonymous_union__::__size[40] -->
+        <var-decl name='__size' type-id='type-id-42' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='70' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- long int __align -->
-        <var-decl name='__align' type-id='type-id-6' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='71' column='1'/>
+        <!-- long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-43' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='71' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __pthread_mutex_s -->
-    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='22' column='1' id='type-id-35'>
+    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='118' column='1' id='type-id-41'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- int __pthread_mutex_s::__lock -->
-        <var-decl name='__lock' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='24' column='1'/>
+        <var-decl name='__lock' type-id='type-id-1' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='120' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='32'>
         <!-- unsigned int __pthread_mutex_s::__count -->
-        <var-decl name='__count' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='25' column='1'/>
+        <var-decl name='__count' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='121' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- int __pthread_mutex_s::__owner -->
-        <var-decl name='__owner' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='26' column='1'/>
+        <var-decl name='__owner' type-id='type-id-1' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='122' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='96'>
         <!-- unsigned int __pthread_mutex_s::__nusers -->
-        <var-decl name='__nusers' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='28' column='1'/>
+        <var-decl name='__nusers' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='124' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- int __pthread_mutex_s::__kind -->
-        <var-decl name='__kind' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='32' column='1'/>
+        <var-decl name='__kind' type-id='type-id-1' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='148' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='160'>
         <!-- short int __pthread_mutex_s::__spins -->
-        <var-decl name='__spins' type-id='type-id-7' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='34' column='1'/>
+        <var-decl name='__spins' type-id='type-id-44' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='176'>
         <!-- short int __pthread_mutex_s::__elision -->
-        <var-decl name='__elision' type-id='type-id-7' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='35' column='1'/>
+        <var-decl name='__elision' type-id='type-id-44' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- __pthread_list_t __pthread_mutex_s::__list -->
-        <var-decl name='__list' type-id='type-id-36' visibility='default' filepath='/usr/include/bits/struct_mutex.h' line='36' column='1'/>
+        <var-decl name='__list' type-id='type-id-45' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='155' column='1'/>
       </data-member>
     </class-decl>
-    <!-- typedef __pthread_internal_list __pthread_list_t -->
-    <typedef-decl name='__pthread_list_t' type-id='type-id-37' filepath='/usr/include/bits/thread-shared-types.h' line='53' column='1' id='type-id-36'/>
+    <!-- short int -->
+    <type-decl name='short int' size-in-bits='16' id='type-id-44'/>
     <!-- struct __pthread_internal_list -->
-    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='49' column='1' id='type-id-37'>
+    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='82' column='1' id='type-id-46'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- __pthread_internal_list* __pthread_internal_list::__prev -->
-        <var-decl name='__prev' type-id='type-id-38' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='51' column='1'/>
+        <var-decl name='__prev' type-id='type-id-47' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='84' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- __pthread_internal_list* __pthread_internal_list::__next -->
-        <var-decl name='__next' type-id='type-id-38' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='52' column='1'/>
+        <var-decl name='__next' type-id='type-id-47' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='85' column='1'/>
       </data-member>
     </class-decl>
     <!-- __pthread_internal_list* -->
-    <pointer-type-def type-id='type-id-37' size-in-bits='64' id='type-id-38'/>
+    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-47'/>
+    <!-- typedef __pthread_internal_list __pthread_list_t -->
+    <typedef-decl name='__pthread_list_t' type-id='type-id-46' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='86' column='1' id='type-id-45'/>
+
+    <!-- char[40] -->
+    <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='320' id='type-id-42'>
+      <!-- <anonymous range>[40] -->
+      <subrange length='40' type-id='type-id-3' id='type-id-48'/>
+
+    </array-type-def>
+    <!-- long int -->
+    <type-decl name='long int' size-in-bits='64' id='type-id-43'/>
+    <!-- typedef __anonymous_union__ pthread_mutex_t -->
+    <typedef-decl name='pthread_mutex_t' type-id='type-id-40' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='72' column='1' id='type-id-39'/>
     <!-- call_rcu_data* -->
-    <pointer-type-def type-id='type-id-30' size-in-bits='64' id='type-id-39'/>
-    <!-- cds_list_head* -->
-    <pointer-type-def type-id='type-id-14' size-in-bits='64' id='type-id-16'/>
-    <!-- cds_wfcq_node* -->
-    <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-26'/>
-    <!-- const rcu_flavor_struct -->
-    <qualified-type-def type-id='type-id-17' const='yes' id='type-id-40'/>
-    <!-- int ()* -->
-    <pointer-type-def type-id='type-id-41' size-in-bits='64' id='type-id-19'/>
-    <!-- rcu_head* -->
-    <pointer-type-def type-id='type-id-23' size-in-bits='64' id='type-id-42'/>
-    <!-- urcu_atfork* -->
-    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-43'/>
-    <!-- void ()* -->
-    <pointer-type-def type-id='type-id-44' size-in-bits='64' id='type-id-18'/>
-    <!-- void (rcu_head*)* -->
-    <pointer-type-def type-id='type-id-45' size-in-bits='64' id='type-id-25'/>
-    <!-- void (rcu_head*, void (rcu_head*)*)* -->
-    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-20'/>
-    <!-- void (urcu_atfork*)* -->
-    <pointer-type-def type-id='type-id-47' size-in-bits='64' id='type-id-22'/>
-    <!-- void (void (void*)*, void*)* -->
-    <pointer-type-def type-id='type-id-48' size-in-bits='64' id='type-id-21'/>
-    <!-- void (void*)* -->
-    <pointer-type-def type-id='type-id-49' size-in-bits='64' id='type-id-28'/>
-    <!-- void* -->
-    <pointer-type-def type-id='type-id-9' size-in-bits='64' id='type-id-29'/>
-    <!-- int urcu_memb_has_sys_membarrier -->
-    <var-decl name='urcu_memb_has_sys_membarrier' type-id='type-id-5' mangled-name='urcu_memb_has_sys_membarrier' visibility='default' filepath='../include/urcu/static/urcu-memb.h' line='72' column='1' elf-symbol-id='urcu_memb_has_sys_membarrier'/>
-    <!-- urcu_gp urcu_memb_gp -->
-    <var-decl name='urcu_memb_gp' type-id='type-id-10' mangled-name='urcu_memb_gp' visibility='default' filepath='../include/urcu/static/urcu-memb.h' line='83' column='1' elf-symbol-id='urcu_memb_gp'/>
-    <!-- urcu_reader urcu_memb_reader -->
-    <var-decl name='urcu_memb_reader' type-id='type-id-13' mangled-name='urcu_memb_reader' visibility='default' filepath='../include/urcu/static/urcu-memb.h' line='85' column='1' elf-symbol-id='urcu_memb_reader'/>
-    <!-- const rcu_flavor_struct urcu_memb_flavor -->
-    <var-decl name='urcu_memb_flavor' type-id='type-id-40' mangled-name='urcu_memb_flavor' visibility='default' filepath='../include/urcu/flavor.h' line='81' column='1' elf-symbol-id='urcu_memb_flavor'/>
-    <!-- void urcu_memb_defer_exit() -->
-    <function-decl name='urcu_memb_defer_exit' mangled-name='urcu_memb_defer_exit' filepath='src/urcu-defer-impl.h' line='467' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_defer_exit'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_memb_defer_unregister_thread() -->
-    <function-decl name='urcu_memb_defer_unregister_thread' mangled-name='urcu_memb_defer_unregister_thread' filepath='src/urcu-defer-impl.h' line='449' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_defer_unregister_thread'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- int urcu_memb_defer_register_thread() -->
-    <function-decl name='urcu_memb_defer_register_thread' mangled-name='urcu_memb_defer_register_thread' filepath='src/urcu-defer-impl.h' line='427' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_defer_register_thread'>
-      <!-- int -->
-      <return type-id='type-id-5'/>
-    </function-decl>
-    <!-- void urcu_memb_defer_rcu(void (void*)*, void*) -->
-    <function-decl name='urcu_memb_defer_rcu' mangled-name='urcu_memb_defer_rcu' filepath='src/urcu-defer-impl.h' line='396' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_defer_rcu'>
-      <!-- parameter of type 'void (void*)*' -->
-      <parameter type-id='type-id-28' name='fct' filepath='src/urcu-defer-impl.h' line='396' column='1'/>
-      <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='p' filepath='src/urcu-defer-impl.h' line='396' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_memb_defer_barrier() -->
-    <function-decl name='urcu_memb_defer_barrier' mangled-name='urcu_memb_defer_barrier' filepath='src/urcu-defer-impl.h' line='282' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_defer_barrier'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_memb_defer_barrier_thread() -->
-    <function-decl name='urcu_memb_defer_barrier_thread' mangled-name='urcu_memb_defer_barrier_thread' filepath='src/urcu-defer-impl.h' line='262' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_defer_barrier_thread'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_memb_unregister_rculfhash_atfork(urcu_atfork*) -->
-    <function-decl name='urcu_memb_unregister_rculfhash_atfork' mangled-name='urcu_memb_unregister_rculfhash_atfork' filepath='src/urcu-call-rcu-impl.h' line='1012' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_unregister_rculfhash_atfork'>
-      <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-43' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1012' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_memb_register_rculfhash_atfork(urcu_atfork*) -->
-    <function-decl name='urcu_memb_register_rculfhash_atfork' mangled-name='urcu_memb_register_rculfhash_atfork' filepath='src/urcu-call-rcu-impl.h' line='1002' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_register_rculfhash_atfork'>
-      <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-43' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1002' column='1'/>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_memb_call_rcu_after_fork_child() -->
-    <function-decl name='urcu_memb_call_rcu_after_fork_child' mangled-name='urcu_memb_call_rcu_after_fork_child' filepath='src/urcu-call-rcu-impl.h' line='960' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_call_rcu_after_fork_child'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_memb_call_rcu_after_fork_parent() -->
-    <function-decl name='urcu_memb_call_rcu_after_fork_parent' mangled-name='urcu_memb_call_rcu_after_fork_parent' filepath='src/urcu-call-rcu-impl.h' line='938' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_call_rcu_after_fork_parent'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_memb_call_rcu_before_fork() -->
-    <function-decl name='urcu_memb_call_rcu_before_fork' mangled-name='urcu_memb_call_rcu_before_fork' filepath='src/urcu-call-rcu-impl.h' line='911' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_call_rcu_before_fork'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_memb_barrier() -->
-    <function-decl name='urcu_memb_barrier' mangled-name='urcu_memb_barrier' filepath='src/urcu-call-rcu-impl.h' line='840' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_barrier'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
-    <!-- void urcu_memb_free_all_cpu_call_rcu_data() -->
-    <function-decl name='urcu_memb_free_all_cpu_call_rcu_data' mangled-name='urcu_memb_free_all_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='777' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_free_all_cpu_call_rcu_data'>
-      <!-- void -->
-      <return type-id='type-id-9'/>
-    </function-decl>
+    <pointer-type-def type-id='type-id-36' size-in-bits='64' id='type-id-49'/>
     <!-- void urcu_memb_call_rcu_data_free(call_rcu_data*) -->
     <function-decl name='urcu_memb_call_rcu_data_free' mangled-name='urcu_memb_call_rcu_data_free' filepath='src/urcu-call-rcu-impl.h' line='742' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_call_rcu_data_free'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='742' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='742' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void urcu_memb_call_rcu(rcu_head*, void (rcu_head*)*) -->
     <function-decl name='urcu_memb_call_rcu' mangled-name='urcu_memb_call_rcu' filepath='src/urcu-call-rcu-impl.h' line='704' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_call_rcu'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42' name='head' filepath='src/urcu-call-rcu-impl.h' line='704' column='1'/>
+      <parameter type-id='type-id-25' name='head' filepath='src/urcu-call-rcu-impl.h' line='704' column='1'/>
       <!-- parameter of type 'void (rcu_head*)*' -->
-      <parameter type-id='type-id-25' name='func' filepath='src/urcu-call-rcu-impl.h' line='705' column='1'/>
+      <parameter type-id='type-id-23' name='func' filepath='src/urcu-call-rcu-impl.h' line='705' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- int urcu_memb_create_all_cpu_call_rcu_data(unsigned long int) -->
     <function-decl name='urcu_memb_create_all_cpu_call_rcu_data' mangled-name='urcu_memb_create_all_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='626' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_create_all_cpu_call_rcu_data'>
       <!-- parameter of type 'unsigned long int' -->
       <parameter type-id='type-id-3' name='flags' filepath='src/urcu-call-rcu-impl.h' line='626' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
     </function-decl>
     <!-- void urcu_memb_set_thread_call_rcu_data(call_rcu_data*) -->
     <function-decl name='urcu_memb_set_thread_call_rcu_data' mangled-name='urcu_memb_set_thread_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='613' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_set_thread_call_rcu_data'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='613' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='613' column='1'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- call_rcu_data* urcu_memb_get_thread_call_rcu_data() -->
     <function-decl name='urcu_memb_get_thread_call_rcu_data' mangled-name='urcu_memb_get_thread_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='597' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_get_thread_call_rcu_data'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- call_rcu_data* urcu_memb_get_call_rcu_data() -->
     <function-decl name='urcu_memb_get_call_rcu_data' mangled-name='urcu_memb_get_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='577' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_get_call_rcu_data'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- call_rcu_data* urcu_memb_get_default_call_rcu_data() -->
     <function-decl name='urcu_memb_get_default_call_rcu_data' mangled-name='urcu_memb_get_default_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='552' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_get_default_call_rcu_data'>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- int urcu_memb_set_cpu_call_rcu_data(int, call_rcu_data*) -->
     <function-decl name='urcu_memb_set_cpu_call_rcu_data' mangled-name='urcu_memb_set_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='513' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_set_cpu_call_rcu_data'>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='513' column='1'/>
+      <parameter type-id='type-id-1' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='513' column='1'/>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='513' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='513' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
     </function-decl>
     <!-- call_rcu_data* urcu_memb_create_call_rcu_data(unsigned long int, int) -->
     <function-decl name='urcu_memb_create_call_rcu_data' mangled-name='urcu_memb_create_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='489' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_create_call_rcu_data'>
       <!-- parameter of type 'unsigned long int' -->
       <parameter type-id='type-id-3' name='flags' filepath='src/urcu-call-rcu-impl.h' line='489' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu_affinity' filepath='src/urcu-call-rcu-impl.h' line='490' column='1'/>
+      <parameter type-id='type-id-1' name='cpu_affinity' filepath='src/urcu-call-rcu-impl.h' line='490' column='1'/>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- pthread_t urcu_memb_get_call_rcu_thread(call_rcu_data*) -->
     <function-decl name='urcu_memb_get_call_rcu_thread' mangled-name='urcu_memb_get_call_rcu_thread' filepath='src/urcu-call-rcu-impl.h' line='471' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_get_call_rcu_thread'>
       <!-- parameter of type 'call_rcu_data*' -->
-      <parameter type-id='type-id-39' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='471' column='1'/>
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='471' column='1'/>
       <!-- typedef pthread_t -->
-      <return type-id='type-id-15'/>
+      <return type-id='type-id-9'/>
     </function-decl>
     <!-- call_rcu_data* urcu_memb_get_cpu_call_rcu_data(int) -->
     <function-decl name='urcu_memb_get_cpu_call_rcu_data' mangled-name='urcu_memb_get_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='449' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_get_cpu_call_rcu_data'>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='449' column='1'/>
+      <parameter type-id='type-id-1' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='449' column='1'/>
       <!-- call_rcu_data* -->
-      <return type-id='type-id-39'/>
+      <return type-id='type-id-49'/>
     </function-decl>
     <!-- void urcu_memb_init() -->
     <function-decl name='urcu_memb_init' mangled-name='urcu_memb_init' filepath='src/urcu.c' line='594' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_init'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void urcu_memb_unregister_thread() -->
     <function-decl name='urcu_memb_unregister_thread' mangled-name='urcu_memb_unregister_thread' filepath='src/urcu.c' line='546' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_unregister_thread'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void urcu_memb_register_thread() -->
     <function-decl name='urcu_memb_register_thread' mangled-name='urcu_memb_register_thread' filepath='src/urcu.c' line='532' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_register_thread'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- int urcu_memb_read_ongoing() -->
     <function-decl name='urcu_memb_read_ongoing' mangled-name='urcu_memb_read_ongoing' filepath='src/urcu.c' line='527' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_read_ongoing'>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
     </function-decl>
     <!-- void urcu_memb_read_unlock() -->
     <function-decl name='urcu_memb_read_unlock' mangled-name='urcu_memb_read_unlock' filepath='src/urcu.c' line='522' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_read_unlock'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void urcu_memb_read_lock() -->
     <function-decl name='urcu_memb_read_lock' mangled-name='urcu_memb_read_lock' filepath='src/urcu.c' line='517' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_read_lock'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- void urcu_memb_synchronize_rcu() -->
     <function-decl name='urcu_memb_synchronize_rcu' mangled-name='urcu_memb_synchronize_rcu' filepath='src/urcu.c' line='396' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_synchronize_rcu'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-decl>
     <!-- int () -->
-    <function-type size-in-bits='64' id='type-id-41'>
+    <function-type size-in-bits='64' id='type-id-20'>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
     </function-type>
     <!-- void () -->
-    <function-type size-in-bits='64' id='type-id-44'>
+    <function-type size-in-bits='64' id='type-id-19'>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (rcu_head*) -->
-    <function-type size-in-bits='64' id='type-id-45'>
+    <function-type size-in-bits='64' id='type-id-26'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42'/>
+      <parameter type-id='type-id-25'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (rcu_head*, void (rcu_head*)*) -->
-    <function-type size-in-bits='64' id='type-id-46'>
+    <function-type size-in-bits='64' id='type-id-27'>
       <!-- parameter of type 'rcu_head*' -->
-      <parameter type-id='type-id-42'/>
-      <!-- parameter of type 'void (rcu_head*)*' -->
       <parameter type-id='type-id-25'/>
+      <!-- parameter of type 'void (rcu_head*)*' -->
+      <parameter type-id='type-id-23'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (urcu_atfork*) -->
-    <function-type size-in-bits='64' id='type-id-47'>
+    <function-type size-in-bits='64' id='type-id-34'>
       <!-- parameter of type 'urcu_atfork*' -->
-      <parameter type-id='type-id-43'/>
+      <parameter type-id='type-id-33'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (void (void*)*, void*) -->
-    <function-type size-in-bits='64' id='type-id-48'>
+    <function-type size-in-bits='64' id='type-id-31'>
       <!-- parameter of type 'void (void*)*' -->
-      <parameter type-id='type-id-28'/>
+      <parameter type-id='type-id-30'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29'/>
+      <parameter type-id='type-id-28'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
     <!-- void (void*) -->
-    <function-type size-in-bits='64' id='type-id-49'>
+    <function-type size-in-bits='64' id='type-id-29'>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29'/>
+      <parameter type-id='type-id-28'/>
       <!-- void -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-18'/>
     </function-type>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='urcu-pointer.c' comp-dir-path='src' language='LANG_C99'>
     <!-- void** -->
-    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-50'/>
+    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-50'/>
     <!-- void* rcu_cmpxchg_pointer_sym(void**, void*, void*) -->
     <function-decl name='rcu_cmpxchg_pointer_sym' mangled-name='rcu_cmpxchg_pointer_sym' filepath='src/urcu-pointer.c' line='53' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_cmpxchg_pointer_sym'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='53' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='old' filepath='src/urcu-pointer.c' line='53' column='1'/>
+      <parameter type-id='type-id-28' name='old' filepath='src/urcu-pointer.c' line='53' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='_new' filepath='src/urcu-pointer.c' line='53' column='1'/>
+      <parameter type-id='type-id-28' name='_new' filepath='src/urcu-pointer.c' line='53' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-28'/>
     </function-decl>
     <!-- void* rcu_xchg_pointer_sym(void**, void*) -->
     <function-decl name='rcu_xchg_pointer_sym' mangled-name='rcu_xchg_pointer_sym' filepath='src/urcu-pointer.c' line='47' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_xchg_pointer_sym'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='47' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='v' filepath='src/urcu-pointer.c' line='47' column='1'/>
+      <parameter type-id='type-id-28' name='v' filepath='src/urcu-pointer.c' line='47' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-28'/>
     </function-decl>
     <!-- void* rcu_set_pointer_sym(void**, void*) -->
     <function-decl name='rcu_set_pointer_sym' mangled-name='rcu_set_pointer_sym' filepath='src/urcu-pointer.c' line='40' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_set_pointer_sym'>
       <!-- parameter of type 'void**' -->
       <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='40' column='1'/>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='v' filepath='src/urcu-pointer.c' line='40' column='1'/>
+      <parameter type-id='type-id-28' name='v' filepath='src/urcu-pointer.c' line='40' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-28'/>
     </function-decl>
     <!-- void* rcu_dereference_sym(void*) -->
     <function-decl name='rcu_dereference_sym' mangled-name='rcu_dereference_sym' filepath='src/urcu-pointer.c' line='35' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_dereference_sym'>
       <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-29' name='p' filepath='src/urcu-pointer.c' line='35' column='1'/>
+      <parameter type-id='type-id-28' name='p' filepath='src/urcu-pointer.c' line='35' column='1'/>
       <!-- void* -->
-      <return type-id='type-id-29'/>
+      <return type-id='type-id-28'/>
     </function-decl>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='compat_futex.c' comp-dir-path='src' language='LANG_C99'>
-
-
-    <!-- char[48] -->
-    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='384' id='type-id-51'>
-      <!-- <anonymous range>[48] -->
-      <subrange length='48' type-id='type-id-3' id='type-id-52'/>
-
-    </array-type-def>
-    <!-- long long int -->
-    <type-decl name='long long int' size-in-bits='64' id='type-id-53'/>
-    <!-- long long unsigned int -->
-    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-54'/>
-    <!-- unsigned int[2] -->
-    <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='64' id='type-id-55'>
-      <!-- <anonymous range>[2] -->
-      <subrange length='2' type-id='type-id-3' id='type-id-56'/>
-
-    </array-type-def>
-    <!-- typedef __anonymous_union__ pthread_cond_t -->
-    <typedef-decl name='pthread_cond_t' type-id='type-id-57' filepath='/usr/include/bits/pthreadtypes.h' line='80' column='1' id='type-id-58'/>
-    <!-- union {__pthread_cond_s __data; char __size[48]; long long int __align;} -->
-    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='75' column='1' id='type-id-57'>
+    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
+    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-39' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='75' column='1' id='type-id-51'>
       <data-member access='private'>
-        <!-- __pthread_cond_s __data -->
-        <var-decl name='__data' type-id='type-id-59' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='77' column='1'/>
+        <!-- __pthread_cond_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-52' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='77' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- char __size[48] -->
-        <var-decl name='__size' type-id='type-id-51' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='78' column='1'/>
+        <!-- char __anonymous_union__::__size[48] -->
+        <var-decl name='__size' type-id='type-id-53' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='78' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- long long int __align -->
-        <var-decl name='__align' type-id='type-id-53' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='79' column='1'/>
+        <!-- long long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-54' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='79' column='1'/>
       </data-member>
     </union-decl>
     <!-- struct __pthread_cond_s -->
-    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='92' column='1' id='type-id-59'>
+    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='171' column='1' id='type-id-52'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <!-- union {long long unsigned int __wseq; struct {unsigned int __low; unsigned int __high;} __wseq32;} -->
-        <var-decl name='' type-id='type-id-60' visibility='default'/>
+        <!-- __anonymous_union__  -->
+        <var-decl name='' type-id='type-id-55' visibility='default'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- unsigned int __pthread_cond_s::__g_refs[2] -->
-        <var-decl name='__g_refs' type-id='type-id-55' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='112' column='1'/>
+        <var-decl name='__g_refs' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='191' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- unsigned int __pthread_cond_s::__g_size[2] -->
-        <var-decl name='__g_size' type-id='type-id-55' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='113' column='1'/>
+        <var-decl name='__g_size' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='192' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- unsigned int __pthread_cond_s::__g1_orig_size -->
-        <var-decl name='__g1_orig_size' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='114' column='1'/>
+        <var-decl name='__g1_orig_size' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='193' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='288'>
         <!-- unsigned int __pthread_cond_s::__wrefs -->
-        <var-decl name='__wrefs' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='115' column='1'/>
+        <var-decl name='__wrefs' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='194' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
         <!-- unsigned int __pthread_cond_s::__g_signals[2] -->
-        <var-decl name='__g_signals' type-id='type-id-55' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='116' column='1'/>
+        <var-decl name='__g_signals' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='195' column='1'/>
       </data-member>
     </class-decl>
-    <!-- union {long long unsigned int __wseq; struct {unsigned int __low; unsigned int __high;} __wseq32;} -->
-    <union-decl name='__anonymous_union__1' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='94' column='1' id='type-id-60'>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='173' column='1' id='type-id-55'>
       <data-member access='private'>
-        <!-- long long unsigned int __wseq -->
-        <var-decl name='__wseq' type-id='type-id-54' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='96' column='1'/>
+        <!-- long long unsigned int __anonymous_union__::__wseq -->
+        <var-decl name='__wseq' type-id='type-id-57' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='175' column='1'/>
       </data-member>
       <data-member access='private'>
-        <!-- struct {unsigned int __low; unsigned int __high;} __wseq32 -->
-        <var-decl name='__wseq32' type-id='type-id-61' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='101' column='1'/>
+        <!-- __anonymous_struct__ __anonymous_union__::__wseq32 -->
+        <var-decl name='__wseq32' type-id='type-id-58' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='180' column='1'/>
       </data-member>
     </union-decl>
-    <!-- struct {unsigned int __low; unsigned int __high;} -->
-    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='97' column='1' id='type-id-61'>
+    <!-- long long unsigned int -->
+    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-57'/>
+    <!-- struct __anonymous_struct__ -->
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='176' column='1' id='type-id-58'>
       <data-member access='public' layout-offset-in-bits='0'>
-        <!-- unsigned int __low -->
-        <var-decl name='__low' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='99' column='1'/>
+        <!-- unsigned int __anonymous_struct__::__low -->
+        <var-decl name='__low' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='178' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='32'>
-        <!-- unsigned int __high -->
-        <var-decl name='__high' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='100' column='1'/>
+        <!-- unsigned int __anonymous_struct__::__high -->
+        <var-decl name='__high' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='179' column='1'/>
       </data-member>
     </class-decl>
+
+    <!-- unsigned int[2] -->
+    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='64' id='type-id-56'>
+      <!-- <anonymous range>[2] -->
+      <subrange length='2' type-id='type-id-3' id='type-id-59'/>
+
+    </array-type-def>
+
+    <!-- char[48] -->
+    <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='384' id='type-id-53'>
+      <!-- <anonymous range>[48] -->
+      <subrange length='48' type-id='type-id-3' id='type-id-60'/>
+
+    </array-type-def>
+    <!-- long long int -->
+    <type-decl name='long long int' size-in-bits='64' id='type-id-54'/>
+    <!-- typedef __anonymous_union__ pthread_cond_t -->
+    <typedef-decl name='pthread_cond_t' type-id='type-id-51' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='80' column='1' id='type-id-61'/>
+    <!-- pthread_cond_t __urcu_compat_futex_cond -->
+    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-61' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
+    <!-- int32_t* -->
+    <pointer-type-def type-id='type-id-4' size-in-bits='64' id='type-id-62'/>
     <!-- struct timespec -->
-    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='10' column='1' id='type-id-62'>
+    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='9' column='1' id='type-id-63'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- __time_t timespec::tv_sec -->
-        <var-decl name='tv_sec' type-id='type-id-63' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='12' column='1'/>
+        <var-decl name='tv_sec' type-id='type-id-64' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='11' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- __syscall_slong_t timespec::tv_nsec -->
-        <var-decl name='tv_nsec' type-id='type-id-64' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='16' column='1'/>
+        <var-decl name='tv_nsec' type-id='type-id-65' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='12' column='1'/>
       </data-member>
     </class-decl>
     <!-- typedef long int __time_t -->
-    <typedef-decl name='__time_t' type-id='type-id-6' filepath='/usr/include/bits/types.h' line='160' column='1' id='type-id-63'/>
+    <typedef-decl name='__time_t' type-id='type-id-43' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='148' column='1' id='type-id-64'/>
     <!-- typedef long int __syscall_slong_t -->
-    <typedef-decl name='__syscall_slong_t' type-id='type-id-6' filepath='/usr/include/bits/types.h' line='197' column='1' id='type-id-64'/>
+    <typedef-decl name='__syscall_slong_t' type-id='type-id-43' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='184' column='1' id='type-id-65'/>
     <!-- const timespec -->
-    <qualified-type-def type-id='type-id-62' const='yes' id='type-id-65'/>
+    <qualified-type-def type-id='type-id-63' const='yes' id='type-id-66'/>
     <!-- const timespec* -->
-    <pointer-type-def type-id='type-id-65' size-in-bits='64' id='type-id-66'/>
-    <!-- int32_t* -->
-    <pointer-type-def type-id='type-id-11' size-in-bits='64' id='type-id-67'/>
-    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
-    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-33' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
-    <!-- pthread_cond_t __urcu_compat_futex_cond -->
-    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-58' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
+    <pointer-type-def type-id='type-id-66' size-in-bits='64' id='type-id-67'/>
     <!-- int compat_futex_async(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
     <function-decl name='compat_futex_async' mangled-name='compat_futex_async' filepath='src/compat_futex.c' line='118' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_async'>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-1' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val' filepath='src/compat_futex.c' line='118' column='1'/>
+      <parameter type-id='type-id-4' name='val' filepath='src/compat_futex.c' line='118' column='1'/>
       <!-- parameter of type 'const timespec*' -->
-      <parameter type-id='type-id-66' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-67' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val3' filepath='src/compat_futex.c' line='119' column='1'/>
+      <parameter type-id='type-id-4' name='val3' filepath='src/compat_futex.c' line='119' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
     </function-decl>
     <!-- int compat_futex_noasync(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
     <function-decl name='compat_futex_noasync' mangled-name='compat_futex_noasync' filepath='src/compat_futex.c' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_noasync'>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-5' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-1' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val' filepath='src/compat_futex.c' line='54' column='1'/>
+      <parameter type-id='type-id-4' name='val' filepath='src/compat_futex.c' line='54' column='1'/>
       <!-- parameter of type 'const timespec*' -->
-      <parameter type-id='type-id-66' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-67' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- parameter of type 'int32_t*' -->
-      <parameter type-id='type-id-67' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-62' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- parameter of type 'typedef int32_t' -->
-      <parameter type-id='type-id-11' name='val3' filepath='src/compat_futex.c' line='55' column='1'/>
+      <parameter type-id='type-id-4' name='val3' filepath='src/compat_futex.c' line='55' column='1'/>
       <!-- int -->
-      <return type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
     </function-decl>
   </abi-instr>
 </abi-corpus>
diff --git a/extras/abi/0.14/x86_64-pc-linux-gnu/liburcu-bp.so.8.xml b/extras/abi/0.14/x86_64-pc-linux-gnu/liburcu-bp.so.8.xml
new file mode 100644 (file)
index 0000000..e08a087
--- /dev/null
@@ -0,0 +1,902 @@
+<abi-corpus architecture='elf-amd-x86_64' soname='liburcu-bp.so.8'>
+  <elf-needed>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <!-- _fini -->
+    <elf-symbol name='_fini' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- _init -->
+    <elf-symbol name='_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- compat_futex_async -->
+    <elf-symbol name='compat_futex_async' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- compat_futex_noasync -->
+    <elf-symbol name='compat_futex_noasync' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- rcu_cmpxchg_pointer_sym -->
+    <elf-symbol name='rcu_cmpxchg_pointer_sym' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- rcu_dereference_sym -->
+    <elf-symbol name='rcu_dereference_sym' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- rcu_set_pointer_sym -->
+    <elf-symbol name='rcu_set_pointer_sym' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- rcu_xchg_pointer_sym -->
+    <elf-symbol name='rcu_xchg_pointer_sym' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_bp_after_fork_child -->
+    <elf-symbol name='urcu_bp_after_fork_child' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_bp_after_fork_parent -->
+    <elf-symbol name='urcu_bp_after_fork_parent' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_bp_barrier -->
+    <elf-symbol name='urcu_bp_barrier' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_bp_before_fork -->
+    <elf-symbol name='urcu_bp_before_fork' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_bp_call_rcu -->
+    <elf-symbol name='urcu_bp_call_rcu' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_bp_call_rcu_after_fork_child -->
+    <elf-symbol name='urcu_bp_call_rcu_after_fork_child' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_bp_call_rcu_after_fork_parent -->
+    <elf-symbol name='urcu_bp_call_rcu_after_fork_parent' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_bp_call_rcu_before_fork -->
+    <elf-symbol name='urcu_bp_call_rcu_before_fork' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_bp_call_rcu_data_free -->
+    <elf-symbol name='urcu_bp_call_rcu_data_free' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_bp_cmpxchg_pointer_sym -->
+    <elf-symbol name='urcu_bp_cmpxchg_pointer_sym' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_bp_create_all_cpu_call_rcu_data -->
+    <elf-symbol name='urcu_bp_create_all_cpu_call_rcu_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_bp_create_call_rcu_data -->
+    <elf-symbol name='urcu_bp_create_call_rcu_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_bp_defer_barrier -->
+    <elf-symbol name='urcu_bp_defer_barrier' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_bp_defer_barrier_thread -->
+    <elf-symbol name='urcu_bp_defer_barrier_thread' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_bp_defer_exit -->
+    <elf-symbol name='urcu_bp_defer_exit' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_bp_defer_rcu -->
+    <elf-symbol name='urcu_bp_defer_rcu' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_bp_defer_register_thread -->
+    <elf-symbol name='urcu_bp_defer_register_thread' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_bp_defer_unregister_thread -->
+    <elf-symbol name='urcu_bp_defer_unregister_thread' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_bp_dereference_sym -->
+    <elf-symbol name='urcu_bp_dereference_sym' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_bp_free_all_cpu_call_rcu_data -->
+    <elf-symbol name='urcu_bp_free_all_cpu_call_rcu_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_bp_get_call_rcu_data -->
+    <elf-symbol name='urcu_bp_get_call_rcu_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_bp_get_call_rcu_thread -->
+    <elf-symbol name='urcu_bp_get_call_rcu_thread' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_bp_get_cpu_call_rcu_data -->
+    <elf-symbol name='urcu_bp_get_cpu_call_rcu_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_bp_get_default_call_rcu_data -->
+    <elf-symbol name='urcu_bp_get_default_call_rcu_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_bp_get_thread_call_rcu_data -->
+    <elf-symbol name='urcu_bp_get_thread_call_rcu_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_bp_read_lock -->
+    <elf-symbol name='urcu_bp_read_lock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_bp_read_ongoing -->
+    <elf-symbol name='urcu_bp_read_ongoing' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_bp_read_unlock -->
+    <elf-symbol name='urcu_bp_read_unlock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_bp_register -->
+    <elf-symbol name='urcu_bp_register' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_bp_register_rculfhash_atfork -->
+    <elf-symbol name='urcu_bp_register_rculfhash_atfork' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_bp_register_thread -->
+    <elf-symbol name='urcu_bp_register_thread' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_bp_set_cpu_call_rcu_data -->
+    <elf-symbol name='urcu_bp_set_cpu_call_rcu_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_bp_set_pointer_sym -->
+    <elf-symbol name='urcu_bp_set_pointer_sym' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_bp_set_thread_call_rcu_data -->
+    <elf-symbol name='urcu_bp_set_thread_call_rcu_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_bp_synchronize_rcu -->
+    <elf-symbol name='urcu_bp_synchronize_rcu' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_bp_unregister_rculfhash_atfork -->
+    <elf-symbol name='urcu_bp_unregister_rculfhash_atfork' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_bp_xchg_pointer_sym -->
+    <elf-symbol name='urcu_bp_xchg_pointer_sym' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <elf-variable-symbols>
+    <!-- __urcu_compat_futex_cond -->
+    <elf-symbol name='__urcu_compat_futex_cond' size='48' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- __urcu_compat_futex_lock -->
+    <elf-symbol name='__urcu_compat_futex_lock' size='40' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_bp_flavor -->
+    <elf-symbol name='urcu_bp_flavor' size='112' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_bp_gp -->
+    <elf-symbol name='urcu_bp_gp' size='128' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_bp_has_sys_membarrier -->
+    <elf-symbol name='urcu_bp_has_sys_membarrier' size='4' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_bp_reader -->
+    <elf-symbol name='urcu_bp_reader' size='8' type='tls-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-variable-symbols>
+  <abi-instr version='1.0' address-size='64' path='urcu-bp.c' comp-dir-path='src' language='LANG_C99'>
+    <!-- int -->
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <!-- int urcu_bp_has_sys_membarrier -->
+    <var-decl name='urcu_bp_has_sys_membarrier' type-id='type-id-1' mangled-name='urcu_bp_has_sys_membarrier' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='109' column='1' elf-symbol-id='urcu_bp_has_sys_membarrier'/>
+    <!-- struct urcu_bp_gp -->
+    <class-decl name='urcu_bp_gp' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='77' column='1' id='type-id-2'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- unsigned long int urcu_bp_gp::ctr -->
+        <var-decl name='ctr' type-id='type-id-3' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='85' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- unsigned long int -->
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-3'/>
+    <!-- urcu_bp_gp urcu_bp_gp -->
+    <var-decl name='urcu_bp_gp' type-id='type-id-2' mangled-name='urcu_bp_gp' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='88' column='1' elf-symbol-id='urcu_bp_gp'/>
+    <!-- struct urcu_bp_reader -->
+    <class-decl name='urcu_bp_reader' size-in-bits='2048' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='90' column='1' id='type-id-4'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- unsigned long int urcu_bp_reader::ctr -->
+        <var-decl name='ctr' type-id='type-id-3' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='92' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <!-- cds_list_head urcu_bp_reader::node -->
+        <var-decl name='node' type-id='type-id-5' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='94' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <!-- pthread_t urcu_bp_reader::tid -->
+        <var-decl name='tid' type-id='type-id-6' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='95' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <!-- int urcu_bp_reader::alloc -->
+        <var-decl name='alloc' type-id='type-id-1' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='96' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- struct cds_list_head -->
+    <class-decl name='cds_list_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/list.h' line='37' column='1' id='type-id-5'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_list_head* cds_list_head::next -->
+        <var-decl name='next' type-id='type-id-7' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- cds_list_head* cds_list_head::prev -->
+        <var-decl name='prev' type-id='type-id-7' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- cds_list_head* -->
+    <pointer-type-def type-id='type-id-5' size-in-bits='64' id='type-id-7'/>
+    <!-- typedef unsigned long int pthread_t -->
+    <typedef-decl name='pthread_t' type-id='type-id-3' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='27' column='1' id='type-id-6'/>
+    <!-- urcu_bp_reader* -->
+    <pointer-type-def type-id='type-id-4' size-in-bits='64' id='type-id-8'/>
+    <!-- urcu_bp_reader* urcu_bp_reader -->
+    <var-decl name='urcu_bp_reader' type-id='type-id-8' mangled-name='urcu_bp_reader' visibility='default' filepath='../include/urcu/static/urcu-bp.h' line='104' column='1' elf-symbol-id='urcu_bp_reader'/>
+    <!-- struct rcu_flavor_struct -->
+    <class-decl name='rcu_flavor_struct' size-in-bits='896' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='42' column='1' id='type-id-9'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- void ()* rcu_flavor_struct::read_lock -->
+        <var-decl name='read_lock' type-id='type-id-10' visibility='default' filepath='../include/urcu/flavor.h' line='43' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- void ()* rcu_flavor_struct::read_unlock -->
+        <var-decl name='read_unlock' type-id='type-id-10' visibility='default' filepath='../include/urcu/flavor.h' line='44' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <!-- int ()* rcu_flavor_struct::read_ongoing -->
+        <var-decl name='read_ongoing' type-id='type-id-11' visibility='default' filepath='../include/urcu/flavor.h' line='45' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <!-- void ()* rcu_flavor_struct::read_quiescent_state -->
+        <var-decl name='read_quiescent_state' type-id='type-id-10' visibility='default' filepath='../include/urcu/flavor.h' line='46' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <!-- void (rcu_head*, void (rcu_head*)*)* rcu_flavor_struct::update_call_rcu -->
+        <var-decl name='update_call_rcu' type-id='type-id-12' visibility='default' filepath='../include/urcu/flavor.h' line='47' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <!-- void ()* rcu_flavor_struct::update_synchronize_rcu -->
+        <var-decl name='update_synchronize_rcu' type-id='type-id-10' visibility='default' filepath='../include/urcu/flavor.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <!-- void (void (void*)*, void*)* rcu_flavor_struct::update_defer_rcu -->
+        <var-decl name='update_defer_rcu' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='50' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <!-- void ()* rcu_flavor_struct::thread_offline -->
+        <var-decl name='thread_offline' type-id='type-id-10' visibility='default' filepath='../include/urcu/flavor.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <!-- void ()* rcu_flavor_struct::thread_online -->
+        <var-decl name='thread_online' type-id='type-id-10' visibility='default' filepath='../include/urcu/flavor.h' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <!-- void ()* rcu_flavor_struct::register_thread -->
+        <var-decl name='register_thread' type-id='type-id-10' visibility='default' filepath='../include/urcu/flavor.h' line='54' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <!-- void ()* rcu_flavor_struct::unregister_thread -->
+        <var-decl name='unregister_thread' type-id='type-id-10' visibility='default' filepath='../include/urcu/flavor.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <!-- void ()* rcu_flavor_struct::barrier -->
+        <var-decl name='barrier' type-id='type-id-10' visibility='default' filepath='../include/urcu/flavor.h' line='57' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <!-- void (urcu_atfork*)* rcu_flavor_struct::register_rculfhash_atfork -->
+        <var-decl name='register_rculfhash_atfork' type-id='type-id-14' visibility='default' filepath='../include/urcu/flavor.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <!-- void (urcu_atfork*)* rcu_flavor_struct::unregister_rculfhash_atfork -->
+        <var-decl name='unregister_rculfhash_atfork' type-id='type-id-14' visibility='default' filepath='../include/urcu/flavor.h' line='60' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- void -->
+    <type-decl name='void' id='type-id-15'/>
+    <!-- void ()* -->
+    <pointer-type-def type-id='type-id-16' size-in-bits='64' id='type-id-10'/>
+    <!-- int ()* -->
+    <pointer-type-def type-id='type-id-17' size-in-bits='64' id='type-id-11'/>
+    <!-- struct rcu_head -->
+    <class-decl name='rcu_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/call-rcu.h' line='57' column='1' id='type-id-18'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_wfcq_node rcu_head::next -->
+        <var-decl name='next' type-id='type-id-19' visibility='default' filepath='../include/urcu/call-rcu.h' line='58' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- void (rcu_head*)* rcu_head::func -->
+        <var-decl name='func' type-id='type-id-20' visibility='default' filepath='../include/urcu/call-rcu.h' line='59' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- struct cds_wfcq_node -->
+    <class-decl name='cds_wfcq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='58' column='1' id='type-id-19'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_wfcq_node* cds_wfcq_node::next -->
+        <var-decl name='next' type-id='type-id-21' visibility='default' filepath='../include/urcu/wfcqueue.h' line='59' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- cds_wfcq_node* -->
+    <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-21'/>
+    <!-- rcu_head* -->
+    <pointer-type-def type-id='type-id-18' size-in-bits='64' id='type-id-22'/>
+    <!-- void (rcu_head*)* -->
+    <pointer-type-def type-id='type-id-23' size-in-bits='64' id='type-id-20'/>
+    <!-- void (rcu_head*, void (rcu_head*)*)* -->
+    <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-12'/>
+    <!-- void* -->
+    <pointer-type-def type-id='type-id-15' size-in-bits='64' id='type-id-25'/>
+    <!-- void (void*)* -->
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-27'/>
+    <!-- void (void (void*)*, void*)* -->
+    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-13'/>
+    <!-- struct urcu_atfork -->
+    <class-decl name='urcu_atfork' size-in-bits='256' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='32' column='1' id='type-id-29'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- void (void*)* urcu_atfork::before_fork -->
+        <var-decl name='before_fork' type-id='type-id-27' visibility='default' filepath='../include/urcu/flavor.h' line='33' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- void (void*)* urcu_atfork::after_fork_parent -->
+        <var-decl name='after_fork_parent' type-id='type-id-27' visibility='default' filepath='../include/urcu/flavor.h' line='34' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <!-- void (void*)* urcu_atfork::after_fork_child -->
+        <var-decl name='after_fork_child' type-id='type-id-27' visibility='default' filepath='../include/urcu/flavor.h' line='35' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <!-- void* urcu_atfork::priv -->
+        <var-decl name='priv' type-id='type-id-25' visibility='default' filepath='../include/urcu/flavor.h' line='36' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- urcu_atfork* -->
+    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-30'/>
+    <!-- void (urcu_atfork*)* -->
+    <pointer-type-def type-id='type-id-31' size-in-bits='64' id='type-id-14'/>
+    <!-- const rcu_flavor_struct -->
+    <qualified-type-def type-id='type-id-9' const='yes' id='type-id-32'/>
+    <!-- const rcu_flavor_struct urcu_bp_flavor -->
+    <var-decl name='urcu_bp_flavor' type-id='type-id-32' mangled-name='urcu_bp_flavor' visibility='default' filepath='../include/urcu/flavor.h' line='81' column='1' elf-symbol-id='urcu_bp_flavor'/>
+    <!-- void urcu_bp_defer_exit() -->
+    <function-decl name='urcu_bp_defer_exit' mangled-name='urcu_bp_defer_exit' filepath='src/urcu-defer-impl.h' line='467' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_defer_exit'>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <!-- void urcu_bp_defer_unregister_thread() -->
+    <function-decl name='urcu_bp_defer_unregister_thread' mangled-name='urcu_bp_defer_unregister_thread' filepath='src/urcu-defer-impl.h' line='449' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_defer_unregister_thread'>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <!-- int urcu_bp_defer_register_thread() -->
+    <function-decl name='urcu_bp_defer_register_thread' mangled-name='urcu_bp_defer_register_thread' filepath='src/urcu-defer-impl.h' line='427' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_defer_register_thread'>
+      <!-- int -->
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <!-- void urcu_bp_defer_rcu(void (void*)*, void*) -->
+    <function-decl name='urcu_bp_defer_rcu' mangled-name='urcu_bp_defer_rcu' filepath='src/urcu-defer-impl.h' line='396' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_defer_rcu'>
+      <!-- parameter of type 'void (void*)*' -->
+      <parameter type-id='type-id-27' name='fct' filepath='src/urcu-defer-impl.h' line='396' column='1'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-25' name='p' filepath='src/urcu-defer-impl.h' line='396' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <!-- void urcu_bp_defer_barrier() -->
+    <function-decl name='urcu_bp_defer_barrier' mangled-name='urcu_bp_defer_barrier' filepath='src/urcu-defer-impl.h' line='282' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_defer_barrier'>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <!-- void urcu_bp_defer_barrier_thread() -->
+    <function-decl name='urcu_bp_defer_barrier_thread' mangled-name='urcu_bp_defer_barrier_thread' filepath='src/urcu-defer-impl.h' line='262' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_defer_barrier_thread'>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <!-- void urcu_bp_unregister_rculfhash_atfork(urcu_atfork*) -->
+    <function-decl name='urcu_bp_unregister_rculfhash_atfork' mangled-name='urcu_bp_unregister_rculfhash_atfork' filepath='src/urcu-call-rcu-impl.h' line='1012' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_unregister_rculfhash_atfork'>
+      <!-- parameter of type 'urcu_atfork*' -->
+      <parameter type-id='type-id-30' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1012' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <!-- void urcu_bp_register_rculfhash_atfork(urcu_atfork*) -->
+    <function-decl name='urcu_bp_register_rculfhash_atfork' mangled-name='urcu_bp_register_rculfhash_atfork' filepath='src/urcu-call-rcu-impl.h' line='1002' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_register_rculfhash_atfork'>
+      <!-- parameter of type 'urcu_atfork*' -->
+      <parameter type-id='type-id-30' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1012' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <!-- void urcu_bp_call_rcu_after_fork_child() -->
+    <function-decl name='urcu_bp_call_rcu_after_fork_child' mangled-name='urcu_bp_call_rcu_after_fork_child' filepath='src/urcu-call-rcu-impl.h' line='960' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_call_rcu_after_fork_child'>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <!-- void urcu_bp_call_rcu_after_fork_parent() -->
+    <function-decl name='urcu_bp_call_rcu_after_fork_parent' mangled-name='urcu_bp_call_rcu_after_fork_parent' filepath='src/urcu-call-rcu-impl.h' line='938' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_call_rcu_after_fork_parent'>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <!-- void urcu_bp_call_rcu_before_fork() -->
+    <function-decl name='urcu_bp_call_rcu_before_fork' mangled-name='urcu_bp_call_rcu_before_fork' filepath='src/urcu-call-rcu-impl.h' line='911' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_call_rcu_before_fork'>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <!-- void urcu_bp_barrier() -->
+    <function-decl name='urcu_bp_barrier' mangled-name='urcu_bp_barrier' filepath='src/urcu-call-rcu-impl.h' line='840' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_barrier'>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <!-- void urcu_bp_free_all_cpu_call_rcu_data() -->
+    <function-decl name='urcu_bp_free_all_cpu_call_rcu_data' mangled-name='urcu_bp_free_all_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='777' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_free_all_cpu_call_rcu_data'>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <!-- struct call_rcu_data -->
+    <class-decl name='call_rcu_data' size-in-bits='1024' is-struct='yes' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='53' column='1' id='type-id-33'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_wfcq_tail call_rcu_data::cbs_tail -->
+        <var-decl name='cbs_tail' type-id='type-id-34' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='61' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- cds_wfcq_head call_rcu_data::cbs_head -->
+        <var-decl name='cbs_head' type-id='type-id-35' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <!-- unsigned long int call_rcu_data::flags -->
+        <var-decl name='flags' type-id='type-id-3' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <!-- int32_t call_rcu_data::futex -->
+        <var-decl name='futex' type-id='type-id-36' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <!-- unsigned long int call_rcu_data::qlen -->
+        <var-decl name='qlen' type-id='type-id-3' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <!-- pthread_t call_rcu_data::tid -->
+        <var-decl name='tid' type-id='type-id-6' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <!-- int call_rcu_data::cpu_affinity -->
+        <var-decl name='cpu_affinity' type-id='type-id-1' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='67' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <!-- unsigned long int call_rcu_data::gp_count -->
+        <var-decl name='gp_count' type-id='type-id-3' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <!-- cds_list_head call_rcu_data::list -->
+        <var-decl name='list' type-id='type-id-5' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='69' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- struct cds_wfcq_tail -->
+    <class-decl name='cds_wfcq_tail' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='140' column='1' id='type-id-34'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_wfcq_node* cds_wfcq_tail::p -->
+        <var-decl name='p' type-id='type-id-21' visibility='default' filepath='../include/urcu/wfcqueue.h' line='141' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- struct cds_wfcq_head -->
+    <class-decl name='cds_wfcq_head' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='71' column='1' id='type-id-35'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_wfcq_node cds_wfcq_head::node -->
+        <var-decl name='node' type-id='type-id-19' visibility='default' filepath='../include/urcu/wfcqueue.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- pthread_mutex_t cds_wfcq_head::lock -->
+        <var-decl name='lock' type-id='type-id-37' visibility='default' filepath='../include/urcu/wfcqueue.h' line='73' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='67' column='1' id='type-id-38'>
+      <data-member access='private'>
+        <!-- __pthread_mutex_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-39' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='69' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <!-- char __anonymous_union__::__size[40] -->
+        <var-decl name='__size' type-id='type-id-40' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <!-- long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-41' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='71' column='1'/>
+      </data-member>
+    </union-decl>
+    <!-- struct __pthread_mutex_s -->
+    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='118' column='1' id='type-id-39'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- int __pthread_mutex_s::__lock -->
+        <var-decl name='__lock' type-id='type-id-1' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='120' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <!-- unsigned int __pthread_mutex_s::__count -->
+        <var-decl name='__count' type-id='type-id-42' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='121' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- int __pthread_mutex_s::__owner -->
+        <var-decl name='__owner' type-id='type-id-1' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='122' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <!-- unsigned int __pthread_mutex_s::__nusers -->
+        <var-decl name='__nusers' type-id='type-id-42' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='124' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <!-- int __pthread_mutex_s::__kind -->
+        <var-decl name='__kind' type-id='type-id-1' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='148' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <!-- short int __pthread_mutex_s::__spins -->
+        <var-decl name='__spins' type-id='type-id-43' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <!-- short int __pthread_mutex_s::__elision -->
+        <var-decl name='__elision' type-id='type-id-43' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <!-- __pthread_list_t __pthread_mutex_s::__list -->
+        <var-decl name='__list' type-id='type-id-44' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='155' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- unsigned int -->
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-42'/>
+    <!-- short int -->
+    <type-decl name='short int' size-in-bits='16' id='type-id-43'/>
+    <!-- struct __pthread_internal_list -->
+    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='82' column='1' id='type-id-45'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- __pthread_internal_list* __pthread_internal_list::__prev -->
+        <var-decl name='__prev' type-id='type-id-46' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- __pthread_internal_list* __pthread_internal_list::__next -->
+        <var-decl name='__next' type-id='type-id-46' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='85' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- __pthread_internal_list* -->
+    <pointer-type-def type-id='type-id-45' size-in-bits='64' id='type-id-46'/>
+    <!-- typedef __pthread_internal_list __pthread_list_t -->
+    <typedef-decl name='__pthread_list_t' type-id='type-id-45' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='86' column='1' id='type-id-44'/>
+    <!-- char -->
+    <type-decl name='char' size-in-bits='8' id='type-id-47'/>
+
+    <!-- char[40] -->
+    <array-type-def dimensions='1' type-id='type-id-47' size-in-bits='320' id='type-id-40'>
+      <!-- <anonymous range>[40] -->
+      <subrange length='40' type-id='type-id-3' id='type-id-48'/>
+
+    </array-type-def>
+    <!-- long int -->
+    <type-decl name='long int' size-in-bits='64' id='type-id-41'/>
+    <!-- typedef __anonymous_union__ pthread_mutex_t -->
+    <typedef-decl name='pthread_mutex_t' type-id='type-id-38' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='72' column='1' id='type-id-37'/>
+    <!-- typedef int __int32_t -->
+    <typedef-decl name='__int32_t' type-id='type-id-1' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='40' column='1' id='type-id-49'/>
+    <!-- typedef __int32_t int32_t -->
+    <typedef-decl name='int32_t' type-id='type-id-49' filepath='/usr/include/x86_64-linux-gnu/bits/stdint-intn.h' line='26' column='1' id='type-id-36'/>
+    <!-- call_rcu_data* -->
+    <pointer-type-def type-id='type-id-33' size-in-bits='64' id='type-id-50'/>
+    <!-- void urcu_bp_call_rcu_data_free(call_rcu_data*) -->
+    <function-decl name='urcu_bp_call_rcu_data_free' mangled-name='urcu_bp_call_rcu_data_free' filepath='src/urcu-call-rcu-impl.h' line='742' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_call_rcu_data_free'>
+      <!-- parameter of type 'call_rcu_data*' -->
+      <parameter type-id='type-id-50' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='742' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <!-- void urcu_bp_call_rcu(rcu_head*, void (rcu_head*)*) -->
+    <function-decl name='urcu_bp_call_rcu' mangled-name='urcu_bp_call_rcu' filepath='src/urcu-call-rcu-impl.h' line='704' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_call_rcu'>
+      <!-- parameter of type 'rcu_head*' -->
+      <parameter type-id='type-id-22' name='head' filepath='src/urcu-call-rcu-impl.h' line='704' column='1'/>
+      <!-- parameter of type 'void (rcu_head*)*' -->
+      <parameter type-id='type-id-20' name='func' filepath='src/urcu-call-rcu-impl.h' line='705' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <!-- int urcu_bp_create_all_cpu_call_rcu_data(unsigned long int) -->
+    <function-decl name='urcu_bp_create_all_cpu_call_rcu_data' mangled-name='urcu_bp_create_all_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='626' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_create_all_cpu_call_rcu_data'>
+      <!-- parameter of type 'unsigned long int' -->
+      <parameter type-id='type-id-3' name='flags' filepath='src/urcu-call-rcu-impl.h' line='626' column='1'/>
+      <!-- int -->
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <!-- void urcu_bp_set_thread_call_rcu_data(call_rcu_data*) -->
+    <function-decl name='urcu_bp_set_thread_call_rcu_data' mangled-name='urcu_bp_set_thread_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='613' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_set_thread_call_rcu_data'>
+      <!-- parameter of type 'call_rcu_data*' -->
+      <parameter type-id='type-id-50' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='613' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <!-- call_rcu_data* urcu_bp_get_thread_call_rcu_data() -->
+    <function-decl name='urcu_bp_get_thread_call_rcu_data' mangled-name='urcu_bp_get_thread_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='597' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_get_thread_call_rcu_data'>
+      <!-- call_rcu_data* -->
+      <return type-id='type-id-50'/>
+    </function-decl>
+    <!-- call_rcu_data* urcu_bp_get_call_rcu_data() -->
+    <function-decl name='urcu_bp_get_call_rcu_data' mangled-name='urcu_bp_get_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='577' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_get_call_rcu_data'>
+      <!-- call_rcu_data* -->
+      <return type-id='type-id-50'/>
+    </function-decl>
+    <!-- call_rcu_data* urcu_bp_get_default_call_rcu_data() -->
+    <function-decl name='urcu_bp_get_default_call_rcu_data' mangled-name='urcu_bp_get_default_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='552' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_get_default_call_rcu_data'>
+      <!-- call_rcu_data* -->
+      <return type-id='type-id-50'/>
+    </function-decl>
+    <!-- int urcu_bp_set_cpu_call_rcu_data(int, call_rcu_data*) -->
+    <function-decl name='urcu_bp_set_cpu_call_rcu_data' mangled-name='urcu_bp_set_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='513' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_set_cpu_call_rcu_data'>
+      <!-- parameter of type 'int' -->
+      <parameter type-id='type-id-1' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='513' column='1'/>
+      <!-- parameter of type 'call_rcu_data*' -->
+      <parameter type-id='type-id-50' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='513' column='1'/>
+      <!-- int -->
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <!-- call_rcu_data* urcu_bp_create_call_rcu_data(unsigned long int, int) -->
+    <function-decl name='urcu_bp_create_call_rcu_data' mangled-name='urcu_bp_create_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='489' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_create_call_rcu_data'>
+      <!-- parameter of type 'unsigned long int' -->
+      <parameter type-id='type-id-3' name='flags' filepath='src/urcu-call-rcu-impl.h' line='489' column='1'/>
+      <!-- parameter of type 'int' -->
+      <parameter type-id='type-id-1' name='cpu_affinity' filepath='src/urcu-call-rcu-impl.h' line='490' column='1'/>
+      <!-- call_rcu_data* -->
+      <return type-id='type-id-50'/>
+    </function-decl>
+    <!-- pthread_t urcu_bp_get_call_rcu_thread(call_rcu_data*) -->
+    <function-decl name='urcu_bp_get_call_rcu_thread' mangled-name='urcu_bp_get_call_rcu_thread' filepath='src/urcu-call-rcu-impl.h' line='471' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_get_call_rcu_thread'>
+      <!-- parameter of type 'call_rcu_data*' -->
+      <parameter type-id='type-id-50' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='471' column='1'/>
+      <!-- typedef pthread_t -->
+      <return type-id='type-id-6'/>
+    </function-decl>
+    <!-- call_rcu_data* urcu_bp_get_cpu_call_rcu_data(int) -->
+    <function-decl name='urcu_bp_get_cpu_call_rcu_data' mangled-name='urcu_bp_get_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='449' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_get_cpu_call_rcu_data'>
+      <!-- parameter of type 'int' -->
+      <parameter type-id='type-id-1' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='449' column='1'/>
+      <!-- call_rcu_data* -->
+      <return type-id='type-id-50'/>
+    </function-decl>
+    <!-- void** -->
+    <pointer-type-def type-id='type-id-25' size-in-bits='64' id='type-id-51'/>
+    <!-- void* urcu_bp_cmpxchg_pointer_sym(void**, void*, void*) -->
+    <function-decl name='urcu_bp_cmpxchg_pointer_sym' mangled-name='urcu_bp_cmpxchg_pointer_sym' filepath='src/urcu-bp.c' line='762' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_cmpxchg_pointer_sym'>
+      <!-- parameter of type 'void**' -->
+      <parameter type-id='type-id-51' name='p' filepath='src/urcu-bp.c' line='762' column='1'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-25' name='old' filepath='src/urcu-bp.c' line='762' column='1'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-25' name='_new' filepath='src/urcu-bp.c' line='762' column='1'/>
+      <!-- void* -->
+      <return type-id='type-id-25'/>
+    </function-decl>
+    <!-- void* urcu_bp_xchg_pointer_sym(void**, void*) -->
+    <function-decl name='urcu_bp_xchg_pointer_sym' mangled-name='urcu_bp_xchg_pointer_sym' filepath='src/urcu-bp.c' line='756' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_xchg_pointer_sym'>
+      <!-- parameter of type 'void**' -->
+      <parameter type-id='type-id-51' name='p' filepath='src/urcu-bp.c' line='756' column='1'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-25' name='v' filepath='src/urcu-bp.c' line='756' column='1'/>
+      <!-- void* -->
+      <return type-id='type-id-25'/>
+    </function-decl>
+    <!-- void* urcu_bp_set_pointer_sym(void**, void*) -->
+    <function-decl name='urcu_bp_set_pointer_sym' mangled-name='urcu_bp_set_pointer_sym' filepath='src/urcu-bp.c' line='749' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_set_pointer_sym'>
+      <!-- parameter of type 'void**' -->
+      <parameter type-id='type-id-51' name='p' filepath='src/urcu-bp.c' line='749' column='1'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-25' name='v' filepath='src/urcu-bp.c' line='749' column='1'/>
+      <!-- void* -->
+      <return type-id='type-id-25'/>
+    </function-decl>
+    <!-- void* urcu_bp_dereference_sym(void*) -->
+    <function-decl name='urcu_bp_dereference_sym' mangled-name='urcu_bp_dereference_sym' filepath='src/urcu-bp.c' line='744' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_dereference_sym'>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-25' name='p' filepath='src/urcu-bp.c' line='744' column='1'/>
+      <!-- void* -->
+      <return type-id='type-id-25'/>
+    </function-decl>
+    <!-- void urcu_bp_after_fork_child() -->
+    <function-decl name='urcu_bp_after_fork_child' mangled-name='urcu_bp_after_fork_child' filepath='src/urcu-bp.c' line='731' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_after_fork_child'>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <!-- void urcu_bp_after_fork_parent() -->
+    <function-decl name='urcu_bp_after_fork_parent' mangled-name='urcu_bp_after_fork_parent' filepath='src/urcu-bp.c' line='696' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_after_fork_parent'>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <!-- void urcu_bp_before_fork() -->
+    <function-decl name='urcu_bp_before_fork' mangled-name='urcu_bp_before_fork' filepath='src/urcu-bp.c' line='682' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_before_fork'>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <!-- void urcu_bp_register_thread() -->
+    <function-decl name='urcu_bp_register_thread' mangled-name='urcu_bp_register_thread' filepath='src/urcu-bp.c' line='565' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_register_thread'>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <!-- void urcu_bp_register() -->
+    <function-decl name='urcu_bp_register' mangled-name='urcu_bp_register' filepath='src/urcu-bp.c' line='532' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_register'>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <!-- int urcu_bp_read_ongoing() -->
+    <function-decl name='urcu_bp_read_ongoing' mangled-name='urcu_bp_read_ongoing' filepath='src/urcu-bp.c' line='365' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_read_ongoing'>
+      <!-- int -->
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <!-- void urcu_bp_read_unlock() -->
+    <function-decl name='urcu_bp_read_unlock' mangled-name='urcu_bp_read_unlock' filepath='src/urcu-bp.c' line='360' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_read_unlock'>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <!-- void urcu_bp_read_lock() -->
+    <function-decl name='urcu_bp_read_lock' mangled-name='urcu_bp_read_lock' filepath='src/urcu-bp.c' line='355' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_read_lock'>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <!-- void urcu_bp_synchronize_rcu() -->
+    <function-decl name='urcu_bp_synchronize_rcu' mangled-name='urcu_bp_synchronize_rcu' filepath='src/urcu-bp.c' line='272' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_bp_synchronize_rcu'>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <!-- int () -->
+    <function-type size-in-bits='64' id='type-id-17'>
+      <!-- int -->
+      <return type-id='type-id-1'/>
+    </function-type>
+    <!-- void () -->
+    <function-type size-in-bits='64' id='type-id-16'>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-type>
+    <!-- void (rcu_head*) -->
+    <function-type size-in-bits='64' id='type-id-23'>
+      <!-- parameter of type 'rcu_head*' -->
+      <parameter type-id='type-id-22'/>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-type>
+    <!-- void (rcu_head*, void (rcu_head*)*) -->
+    <function-type size-in-bits='64' id='type-id-24'>
+      <!-- parameter of type 'rcu_head*' -->
+      <parameter type-id='type-id-22'/>
+      <!-- parameter of type 'void (rcu_head*)*' -->
+      <parameter type-id='type-id-20'/>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-type>
+    <!-- void (urcu_atfork*) -->
+    <function-type size-in-bits='64' id='type-id-31'>
+      <!-- parameter of type 'urcu_atfork*' -->
+      <parameter type-id='type-id-30'/>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-type>
+    <!-- void (void (void*)*, void*) -->
+    <function-type size-in-bits='64' id='type-id-28'>
+      <!-- parameter of type 'void (void*)*' -->
+      <parameter type-id='type-id-27'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-25'/>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-type>
+    <!-- void (void*) -->
+    <function-type size-in-bits='64' id='type-id-26'>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-25'/>
+      <!-- void -->
+      <return type-id='type-id-15'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='urcu-pointer.c' comp-dir-path='src' language='LANG_C99'>
+    <!-- void* rcu_cmpxchg_pointer_sym(void**, void*, void*) -->
+    <function-decl name='rcu_cmpxchg_pointer_sym' mangled-name='rcu_cmpxchg_pointer_sym' filepath='src/urcu-pointer.c' line='53' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_cmpxchg_pointer_sym'>
+      <!-- parameter of type 'void**' -->
+      <parameter type-id='type-id-51' name='p' filepath='src/urcu-bp.c' line='762' column='1'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-25' name='old' filepath='src/urcu-bp.c' line='762' column='1'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-25' name='_new' filepath='src/urcu-bp.c' line='762' column='1'/>
+      <!-- void* -->
+      <return type-id='type-id-25'/>
+    </function-decl>
+    <!-- void* rcu_xchg_pointer_sym(void**, void*) -->
+    <function-decl name='rcu_xchg_pointer_sym' mangled-name='rcu_xchg_pointer_sym' filepath='src/urcu-pointer.c' line='47' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_xchg_pointer_sym'>
+      <!-- parameter of type 'void**' -->
+      <parameter type-id='type-id-51' name='p' filepath='src/urcu-bp.c' line='756' column='1'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-25' name='v' filepath='src/urcu-bp.c' line='756' column='1'/>
+      <!-- void* -->
+      <return type-id='type-id-25'/>
+    </function-decl>
+    <!-- void* rcu_set_pointer_sym(void**, void*) -->
+    <function-decl name='rcu_set_pointer_sym' mangled-name='rcu_set_pointer_sym' filepath='src/urcu-pointer.c' line='40' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_set_pointer_sym'>
+      <!-- parameter of type 'void**' -->
+      <parameter type-id='type-id-51' name='p' filepath='src/urcu-bp.c' line='749' column='1'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-25' name='v' filepath='src/urcu-bp.c' line='749' column='1'/>
+      <!-- void* -->
+      <return type-id='type-id-25'/>
+    </function-decl>
+    <!-- void* rcu_dereference_sym(void*) -->
+    <function-decl name='rcu_dereference_sym' mangled-name='rcu_dereference_sym' filepath='src/urcu-pointer.c' line='35' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_dereference_sym'>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-25' name='p' filepath='src/urcu-bp.c' line='744' column='1'/>
+      <!-- void* -->
+      <return type-id='type-id-25'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='compat_futex.c' comp-dir-path='src' language='LANG_C99'>
+    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
+    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-37' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='75' column='1' id='type-id-52'>
+      <data-member access='private'>
+        <!-- __pthread_cond_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-53' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <!-- char __anonymous_union__::__size[48] -->
+        <var-decl name='__size' type-id='type-id-54' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <!-- long long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-55' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='79' column='1'/>
+      </data-member>
+    </union-decl>
+    <!-- struct __pthread_cond_s -->
+    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='171' column='1' id='type-id-53'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- __anonymous_union__  -->
+        <var-decl name='' type-id='type-id-56' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <!-- unsigned int __pthread_cond_s::__g_refs[2] -->
+        <var-decl name='__g_refs' type-id='type-id-57' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <!-- unsigned int __pthread_cond_s::__g_size[2] -->
+        <var-decl name='__g_size' type-id='type-id-57' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='192' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <!-- unsigned int __pthread_cond_s::__g1_orig_size -->
+        <var-decl name='__g1_orig_size' type-id='type-id-42' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='193' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <!-- unsigned int __pthread_cond_s::__wrefs -->
+        <var-decl name='__wrefs' type-id='type-id-42' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <!-- unsigned int __pthread_cond_s::__g_signals[2] -->
+        <var-decl name='__g_signals' type-id='type-id-57' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='195' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='173' column='1' id='type-id-56'>
+      <data-member access='private'>
+        <!-- long long unsigned int __anonymous_union__::__wseq -->
+        <var-decl name='__wseq' type-id='type-id-58' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='175' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <!-- __anonymous_struct__ __anonymous_union__::__wseq32 -->
+        <var-decl name='__wseq32' type-id='type-id-59' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='180' column='1'/>
+      </data-member>
+    </union-decl>
+    <!-- long long unsigned int -->
+    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-58'/>
+    <!-- struct __anonymous_struct__ -->
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='176' column='1' id='type-id-59'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- unsigned int __anonymous_struct__::__low -->
+        <var-decl name='__low' type-id='type-id-42' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='178' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <!-- unsigned int __anonymous_struct__::__high -->
+        <var-decl name='__high' type-id='type-id-42' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='179' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <!-- unsigned int[2] -->
+    <array-type-def dimensions='1' type-id='type-id-42' size-in-bits='64' id='type-id-57'>
+      <!-- <anonymous range>[2] -->
+      <subrange length='2' type-id='type-id-3' id='type-id-60'/>
+
+    </array-type-def>
+
+    <!-- char[48] -->
+    <array-type-def dimensions='1' type-id='type-id-47' size-in-bits='384' id='type-id-54'>
+      <!-- <anonymous range>[48] -->
+      <subrange length='48' type-id='type-id-3' id='type-id-61'/>
+
+    </array-type-def>
+    <!-- long long int -->
+    <type-decl name='long long int' size-in-bits='64' id='type-id-55'/>
+    <!-- typedef __anonymous_union__ pthread_cond_t -->
+    <typedef-decl name='pthread_cond_t' type-id='type-id-52' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='80' column='1' id='type-id-62'/>
+    <!-- pthread_cond_t __urcu_compat_futex_cond -->
+    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-62' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
+    <!-- int32_t* -->
+    <pointer-type-def type-id='type-id-36' size-in-bits='64' id='type-id-63'/>
+    <!-- struct timespec -->
+    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='9' column='1' id='type-id-64'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- __time_t timespec::tv_sec -->
+        <var-decl name='tv_sec' type-id='type-id-65' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='11' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- __syscall_slong_t timespec::tv_nsec -->
+        <var-decl name='tv_nsec' type-id='type-id-66' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='12' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- typedef long int __time_t -->
+    <typedef-decl name='__time_t' type-id='type-id-41' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='148' column='1' id='type-id-65'/>
+    <!-- typedef long int __syscall_slong_t -->
+    <typedef-decl name='__syscall_slong_t' type-id='type-id-41' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='184' column='1' id='type-id-66'/>
+    <!-- const timespec -->
+    <qualified-type-def type-id='type-id-64' const='yes' id='type-id-67'/>
+    <!-- const timespec* -->
+    <pointer-type-def type-id='type-id-67' size-in-bits='64' id='type-id-68'/>
+    <!-- int compat_futex_async(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
+    <function-decl name='compat_futex_async' mangled-name='compat_futex_async' filepath='src/compat_futex.c' line='118' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_async'>
+      <!-- parameter of type 'int32_t*' -->
+      <parameter type-id='type-id-63' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
+      <!-- parameter of type 'int' -->
+      <parameter type-id='type-id-1' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
+      <!-- parameter of type 'typedef int32_t' -->
+      <parameter type-id='type-id-36' name='val' filepath='src/compat_futex.c' line='118' column='1'/>
+      <!-- parameter of type 'const timespec*' -->
+      <parameter type-id='type-id-68' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
+      <!-- parameter of type 'int32_t*' -->
+      <parameter type-id='type-id-63' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
+      <!-- parameter of type 'typedef int32_t' -->
+      <parameter type-id='type-id-36' name='val3' filepath='src/compat_futex.c' line='119' column='1'/>
+      <!-- int -->
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <!-- int compat_futex_noasync(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
+    <function-decl name='compat_futex_noasync' mangled-name='compat_futex_noasync' filepath='src/compat_futex.c' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_noasync'>
+      <!-- parameter of type 'int32_t*' -->
+      <parameter type-id='type-id-63' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
+      <!-- parameter of type 'int' -->
+      <parameter type-id='type-id-1' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
+      <!-- parameter of type 'typedef int32_t' -->
+      <parameter type-id='type-id-36' name='val' filepath='src/compat_futex.c' line='54' column='1'/>
+      <!-- parameter of type 'const timespec*' -->
+      <parameter type-id='type-id-68' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
+      <!-- parameter of type 'int32_t*' -->
+      <parameter type-id='type-id-63' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
+      <!-- parameter of type 'typedef int32_t' -->
+      <parameter type-id='type-id-36' name='val3' filepath='src/compat_futex.c' line='55' column='1'/>
+      <!-- int -->
+      <return type-id='type-id-1'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
diff --git a/extras/abi/0.14/x86_64-pc-linux-gnu/liburcu-cds.so.8.xml b/extras/abi/0.14/x86_64-pc-linux-gnu/liburcu-cds.so.8.xml
new file mode 100644 (file)
index 0000000..99cc6b4
--- /dev/null
@@ -0,0 +1,1488 @@
+<abi-corpus architecture='elf-amd-x86_64' soname='liburcu-cds.so.8'>
+  <elf-needed>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <!-- __cds_lfs_init -->
+    <elf-symbol name='__cds_lfs_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- __cds_lfs_pop -->
+    <elf-symbol name='__cds_lfs_pop' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- __cds_lfs_pop_all -->
+    <elf-symbol name='__cds_lfs_pop_all' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- _cds_lfht_new -->
+    <elf-symbol name='_cds_lfht_new' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- _fini -->
+    <elf-symbol name='_fini' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- _init -->
+    <elf-symbol name='_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- cds_lfht_add -->
+    <elf-symbol name='cds_lfht_add' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- cds_lfht_add_replace -->
+    <elf-symbol name='cds_lfht_add_replace' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- cds_lfht_add_unique -->
+    <elf-symbol name='cds_lfht_add_unique' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- cds_lfht_count_nodes -->
+    <elf-symbol name='cds_lfht_count_nodes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- cds_lfht_del -->
+    <elf-symbol name='cds_lfht_del' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- cds_lfht_destroy -->
+    <elf-symbol name='cds_lfht_destroy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- cds_lfht_first -->
+    <elf-symbol name='cds_lfht_first' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- cds_lfht_fls_ulong -->
+    <elf-symbol name='cds_lfht_fls_ulong' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- cds_lfht_get_count_order_ulong -->
+    <elf-symbol name='cds_lfht_get_count_order_ulong' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- cds_lfht_is_node_deleted -->
+    <elf-symbol name='cds_lfht_is_node_deleted' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- cds_lfht_lookup -->
+    <elf-symbol name='cds_lfht_lookup' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- cds_lfht_next -->
+    <elf-symbol name='cds_lfht_next' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- cds_lfht_next_duplicate -->
+    <elf-symbol name='cds_lfht_next_duplicate' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- cds_lfht_node_init_deleted -->
+    <elf-symbol name='cds_lfht_node_init_deleted' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- cds_lfht_replace -->
+    <elf-symbol name='cds_lfht_replace' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- cds_lfht_resize -->
+    <elf-symbol name='cds_lfht_resize' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- cds_lfq_dequeue_rcu -->
+    <elf-symbol name='cds_lfq_dequeue_rcu' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- cds_lfq_destroy_rcu -->
+    <elf-symbol name='cds_lfq_destroy_rcu' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- cds_lfq_enqueue_rcu -->
+    <elf-symbol name='cds_lfq_enqueue_rcu' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- cds_lfq_init_rcu -->
+    <elf-symbol name='cds_lfq_init_rcu' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- cds_lfq_node_init_rcu -->
+    <elf-symbol name='cds_lfq_node_init_rcu' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- cds_lfs_destroy -->
+    <elf-symbol name='cds_lfs_destroy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- cds_lfs_empty -->
+    <elf-symbol name='cds_lfs_empty' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- cds_lfs_init -->
+    <elf-symbol name='cds_lfs_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- cds_lfs_init_rcu -->
+    <elf-symbol name='cds_lfs_init_rcu' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- cds_lfs_node_init -->
+    <elf-symbol name='cds_lfs_node_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- cds_lfs_node_init_rcu -->
+    <elf-symbol name='cds_lfs_node_init_rcu' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- cds_lfs_pop_all_blocking -->
+    <elf-symbol name='cds_lfs_pop_all_blocking' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- cds_lfs_pop_blocking -->
+    <elf-symbol name='cds_lfs_pop_blocking' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- cds_lfs_pop_lock -->
+    <elf-symbol name='cds_lfs_pop_lock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- cds_lfs_pop_rcu -->
+    <elf-symbol name='cds_lfs_pop_rcu' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- cds_lfs_pop_unlock -->
+    <elf-symbol name='cds_lfs_pop_unlock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- cds_lfs_push -->
+    <elf-symbol name='cds_lfs_push' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- cds_lfs_push_rcu -->
+    <elf-symbol name='cds_lfs_push_rcu' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- compat_futex_async -->
+    <elf-symbol name='compat_futex_async' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- compat_futex_noasync -->
+    <elf-symbol name='compat_futex_noasync' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_workqueue_create -->
+    <elf-symbol name='urcu_workqueue_create' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_workqueue_create_completion -->
+    <elf-symbol name='urcu_workqueue_create_completion' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_workqueue_create_worker -->
+    <elf-symbol name='urcu_workqueue_create_worker' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_workqueue_destroy -->
+    <elf-symbol name='urcu_workqueue_destroy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_workqueue_destroy_completion -->
+    <elf-symbol name='urcu_workqueue_destroy_completion' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_workqueue_flush_queued_work -->
+    <elf-symbol name='urcu_workqueue_flush_queued_work' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_workqueue_pause_worker -->
+    <elf-symbol name='urcu_workqueue_pause_worker' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_workqueue_queue_completion -->
+    <elf-symbol name='urcu_workqueue_queue_completion' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_workqueue_queue_work -->
+    <elf-symbol name='urcu_workqueue_queue_work' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_workqueue_resume_worker -->
+    <elf-symbol name='urcu_workqueue_resume_worker' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_workqueue_wait_completion -->
+    <elf-symbol name='urcu_workqueue_wait_completion' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <elf-variable-symbols>
+    <!-- __urcu_compat_futex_cond -->
+    <elf-symbol name='__urcu_compat_futex_cond' size='48' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- __urcu_compat_futex_lock -->
+    <elf-symbol name='__urcu_compat_futex_lock' size='40' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- cds_lfht_mm_chunk -->
+    <elf-symbol name='cds_lfht_mm_chunk' size='32' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- cds_lfht_mm_mmap -->
+    <elf-symbol name='cds_lfht_mm_mmap' size='32' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- cds_lfht_mm_order -->
+    <elf-symbol name='cds_lfht_mm_order' size='32' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-variable-symbols>
+  <abi-instr version='1.0' address-size='64' path='rculfqueue.c' comp-dir-path='src' language='LANG_C99'>
+    <!-- struct cds_lfq_node_rcu -->
+    <class-decl name='cds_lfq_node_rcu' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/rculfqueue.h' line='34' column='1' id='type-id-1'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_lfq_node_rcu* cds_lfq_node_rcu::next -->
+        <var-decl name='next' type-id='type-id-2' visibility='default' filepath='../include/urcu/rculfqueue.h' line='35' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- int cds_lfq_node_rcu::dummy -->
+        <var-decl name='dummy' type-id='type-id-3' visibility='default' filepath='../include/urcu/rculfqueue.h' line='36' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- cds_lfq_node_rcu* -->
+    <pointer-type-def type-id='type-id-1' size-in-bits='64' id='type-id-2'/>
+    <!-- int -->
+    <type-decl name='int' size-in-bits='32' id='type-id-3'/>
+    <!-- struct cds_lfq_queue_rcu -->
+    <class-decl name='cds_lfq_queue_rcu' size-in-bits='192' is-struct='yes' visibility='default' filepath='../include/urcu/rculfqueue.h' line='39' column='1' id='type-id-4'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_lfq_node_rcu* cds_lfq_queue_rcu::head -->
+        <var-decl name='head' type-id='type-id-2' visibility='default' filepath='../include/urcu/rculfqueue.h' line='40' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- cds_lfq_node_rcu* cds_lfq_queue_rcu::tail -->
+        <var-decl name='tail' type-id='type-id-2' visibility='default' filepath='../include/urcu/rculfqueue.h' line='40' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <!-- void (rcu_head*, void (rcu_head*)*)* cds_lfq_queue_rcu::queue_call_rcu -->
+        <var-decl name='queue_call_rcu' type-id='type-id-5' visibility='default' filepath='../include/urcu/rculfqueue.h' line='41' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- void -->
+    <type-decl name='void' id='type-id-6'/>
+    <!-- struct rcu_head -->
+    <class-decl name='rcu_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/call-rcu.h' line='57' column='1' id='type-id-7'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_wfcq_node rcu_head::next -->
+        <var-decl name='next' type-id='type-id-8' visibility='default' filepath='../include/urcu/call-rcu.h' line='58' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- void (rcu_head*)* rcu_head::func -->
+        <var-decl name='func' type-id='type-id-9' visibility='default' filepath='../include/urcu/call-rcu.h' line='59' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- struct cds_wfcq_node -->
+    <class-decl name='cds_wfcq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='58' column='1' id='type-id-8'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_wfcq_node* cds_wfcq_node::next -->
+        <var-decl name='next' type-id='type-id-10' visibility='default' filepath='../include/urcu/wfcqueue.h' line='59' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- cds_wfcq_node* -->
+    <pointer-type-def type-id='type-id-8' size-in-bits='64' id='type-id-10'/>
+    <!-- rcu_head* -->
+    <pointer-type-def type-id='type-id-7' size-in-bits='64' id='type-id-11'/>
+    <!-- void (rcu_head*)* -->
+    <pointer-type-def type-id='type-id-12' size-in-bits='64' id='type-id-9'/>
+    <!-- void (rcu_head*, void (rcu_head*)*)* -->
+    <pointer-type-def type-id='type-id-13' size-in-bits='64' id='type-id-5'/>
+    <!-- cds_lfq_queue_rcu* -->
+    <pointer-type-def type-id='type-id-4' size-in-bits='64' id='type-id-14'/>
+    <!-- cds_lfq_node_rcu* cds_lfq_dequeue_rcu(cds_lfq_queue_rcu*) -->
+    <function-decl name='cds_lfq_dequeue_rcu' mangled-name='cds_lfq_dequeue_rcu' filepath='src/rculfqueue.c' line='56' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfq_dequeue_rcu'>
+      <!-- parameter of type 'cds_lfq_queue_rcu*' -->
+      <parameter type-id='type-id-14' name='q' filepath='src/rculfqueue.c' line='56' column='1'/>
+      <!-- cds_lfq_node_rcu* -->
+      <return type-id='type-id-2'/>
+    </function-decl>
+    <!-- void cds_lfq_enqueue_rcu(cds_lfq_queue_rcu*, cds_lfq_node_rcu*) -->
+    <function-decl name='cds_lfq_enqueue_rcu' mangled-name='cds_lfq_enqueue_rcu' filepath='src/rculfqueue.c' line='50' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfq_enqueue_rcu'>
+      <!-- parameter of type 'cds_lfq_queue_rcu*' -->
+      <parameter type-id='type-id-14' name='q' filepath='src/rculfqueue.c' line='50' column='1'/>
+      <!-- parameter of type 'cds_lfq_node_rcu*' -->
+      <parameter type-id='type-id-2' name='node' filepath='src/rculfqueue.c' line='50' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-6'/>
+    </function-decl>
+    <!-- int cds_lfq_destroy_rcu(cds_lfq_queue_rcu*) -->
+    <function-decl name='cds_lfq_destroy_rcu' mangled-name='cds_lfq_destroy_rcu' filepath='src/rculfqueue.c' line='45' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfq_destroy_rcu'>
+      <!-- parameter of type 'cds_lfq_queue_rcu*' -->
+      <parameter type-id='type-id-14' name='q' filepath='src/rculfqueue.c' line='45' column='1'/>
+      <!-- int -->
+      <return type-id='type-id-3'/>
+    </function-decl>
+    <!-- void cds_lfq_init_rcu(cds_lfq_queue_rcu*, void (rcu_head*, void (rcu_head*)*)*) -->
+    <function-decl name='cds_lfq_init_rcu' mangled-name='cds_lfq_init_rcu' filepath='src/rculfqueue.c' line='38' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfq_init_rcu'>
+      <!-- parameter of type 'cds_lfq_queue_rcu*' -->
+      <parameter type-id='type-id-14' name='q' filepath='src/rculfqueue.c' line='38' column='1'/>
+      <!-- parameter of type 'void (rcu_head*, void (rcu_head*)*)*' -->
+      <parameter type-id='type-id-5' name='queue_call_rcu' filepath='src/rculfqueue.c' line='39' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-6'/>
+    </function-decl>
+    <!-- void cds_lfq_node_init_rcu(cds_lfq_node_rcu*) -->
+    <function-decl name='cds_lfq_node_init_rcu' mangled-name='cds_lfq_node_init_rcu' filepath='src/rculfqueue.c' line='33' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfq_node_init_rcu'>
+      <!-- parameter of type 'cds_lfq_node_rcu*' -->
+      <parameter type-id='type-id-2' name='node' filepath='src/rculfqueue.c' line='33' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-6'/>
+    </function-decl>
+    <!-- void (rcu_head*) -->
+    <function-type size-in-bits='64' id='type-id-12'>
+      <!-- parameter of type 'rcu_head*' -->
+      <parameter type-id='type-id-11'/>
+      <!-- void -->
+      <return type-id='type-id-6'/>
+    </function-type>
+    <!-- void (rcu_head*, void (rcu_head*)*) -->
+    <function-type size-in-bits='64' id='type-id-13'>
+      <!-- parameter of type 'rcu_head*' -->
+      <parameter type-id='type-id-11'/>
+      <!-- parameter of type 'void (rcu_head*)*' -->
+      <parameter type-id='type-id-9'/>
+      <!-- void -->
+      <return type-id='type-id-6'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='rculfstack.c' comp-dir-path='src' language='LANG_C99'>
+    <!-- struct cds_lfs_node_rcu -->
+    <class-decl name='cds_lfs_node_rcu' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/rculfstack.h' line='37' column='1' id='type-id-15'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_lfs_node_rcu* cds_lfs_node_rcu::next -->
+        <var-decl name='next' type-id='type-id-16' visibility='default' filepath='../include/urcu/rculfstack.h' line='38' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- cds_lfs_node_rcu* -->
+    <pointer-type-def type-id='type-id-15' size-in-bits='64' id='type-id-16'/>
+    <!-- struct cds_lfs_stack_rcu -->
+    <class-decl name='cds_lfs_stack_rcu' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/rculfstack.h' line='41' column='1' id='type-id-17'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_lfs_node_rcu* cds_lfs_stack_rcu::head -->
+        <var-decl name='head' type-id='type-id-16' visibility='default' filepath='../include/urcu/rculfstack.h' line='42' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- cds_lfs_stack_rcu* -->
+    <pointer-type-def type-id='type-id-17' size-in-bits='64' id='type-id-18'/>
+    <!-- cds_lfs_node_rcu* cds_lfs_pop_rcu(cds_lfs_stack_rcu*) -->
+    <function-decl name='cds_lfs_pop_rcu' mangled-name='cds_lfs_pop_rcu' filepath='src/rculfstack.c' line='53' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_pop_rcu'>
+      <!-- parameter of type 'cds_lfs_stack_rcu*' -->
+      <parameter type-id='type-id-18' name='s' filepath='src/rculfstack.c' line='53' column='1'/>
+      <!-- cds_lfs_node_rcu* -->
+      <return type-id='type-id-16'/>
+    </function-decl>
+    <!-- int cds_lfs_push_rcu(cds_lfs_stack_rcu*, cds_lfs_node_rcu*) -->
+    <function-decl name='cds_lfs_push_rcu' mangled-name='cds_lfs_push_rcu' filepath='src/rculfstack.c' line='47' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_push_rcu'>
+      <!-- parameter of type 'cds_lfs_stack_rcu*' -->
+      <parameter type-id='type-id-18' name='s' filepath='src/rculfstack.c' line='47' column='1'/>
+      <!-- parameter of type 'cds_lfs_node_rcu*' -->
+      <parameter type-id='type-id-16' name='node' filepath='src/rculfstack.c' line='48' column='1'/>
+      <!-- int -->
+      <return type-id='type-id-3'/>
+    </function-decl>
+    <!-- void cds_lfs_init_rcu(cds_lfs_stack_rcu*) -->
+    <function-decl name='cds_lfs_init_rcu' mangled-name='cds_lfs_init_rcu' filepath='src/rculfstack.c' line='42' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_init_rcu'>
+      <!-- parameter of type 'cds_lfs_stack_rcu*' -->
+      <parameter type-id='type-id-18' name='s' filepath='src/rculfstack.c' line='42' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-6'/>
+    </function-decl>
+    <!-- void cds_lfs_node_init_rcu(cds_lfs_node_rcu*) -->
+    <function-decl name='cds_lfs_node_init_rcu' mangled-name='cds_lfs_node_init_rcu' filepath='src/rculfstack.c' line='37' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_node_init_rcu'>
+      <!-- parameter of type 'cds_lfs_node_rcu*' -->
+      <parameter type-id='type-id-16' name='node' filepath='src/rculfstack.c' line='37' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-6'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='lfstack.c' comp-dir-path='src' language='LANG_C99'>
+    <!-- struct cds_lfs_head -->
+    <class-decl name='cds_lfs_head' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/lfstack.h' line='69' column='1' id='type-id-19'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_lfs_node cds_lfs_head::node -->
+        <var-decl name='node' type-id='type-id-20' visibility='default' filepath='../include/urcu/lfstack.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- struct cds_lfs_node -->
+    <class-decl name='cds_lfs_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/lfstack.h' line='59' column='1' id='type-id-20'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_lfs_node* cds_lfs_node::next -->
+        <var-decl name='next' type-id='type-id-21' visibility='default' filepath='../include/urcu/lfstack.h' line='60' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- cds_lfs_node* -->
+    <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-21'/>
+    <!-- cds_lfs_head* -->
+    <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-22'/>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../include/urcu/lfstack.h' line='97' column='1' id='type-id-23'>
+      <data-member access='private'>
+        <!-- __cds_lfs_stack* __anonymous_union__::_s -->
+        <var-decl name='_s' type-id='type-id-24' visibility='default' filepath='../include/urcu/lfstack.h' line='98' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <!-- cds_lfs_stack* __anonymous_union__::s -->
+        <var-decl name='s' type-id='type-id-25' visibility='default' filepath='../include/urcu/lfstack.h' line='99' column='1'/>
+      </data-member>
+    </union-decl>
+    <!-- struct __cds_lfs_stack -->
+    <class-decl name='__cds_lfs_stack' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/lfstack.h' line='73' column='1' id='type-id-26'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_lfs_head* __cds_lfs_stack::head -->
+        <var-decl name='head' type-id='type-id-22' visibility='default' filepath='../include/urcu/lfstack.h' line='74' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- __cds_lfs_stack* -->
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-24'/>
+    <!-- struct cds_lfs_stack -->
+    <class-decl name='cds_lfs_stack' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/lfstack.h' line='77' column='1' id='type-id-27'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_lfs_head* cds_lfs_stack::head -->
+        <var-decl name='head' type-id='type-id-22' visibility='default' filepath='../include/urcu/lfstack.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- pthread_mutex_t cds_lfs_stack::lock -->
+        <var-decl name='lock' type-id='type-id-28' visibility='default' filepath='../include/urcu/lfstack.h' line='79' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='67' column='1' id='type-id-29'>
+      <data-member access='private'>
+        <!-- __pthread_mutex_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-30' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='69' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <!-- char __anonymous_union__::__size[40] -->
+        <var-decl name='__size' type-id='type-id-31' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <!-- long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-32' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='71' column='1'/>
+      </data-member>
+    </union-decl>
+    <!-- struct __pthread_mutex_s -->
+    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='118' column='1' id='type-id-30'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- int __pthread_mutex_s::__lock -->
+        <var-decl name='__lock' type-id='type-id-3' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='120' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <!-- unsigned int __pthread_mutex_s::__count -->
+        <var-decl name='__count' type-id='type-id-33' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='121' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- int __pthread_mutex_s::__owner -->
+        <var-decl name='__owner' type-id='type-id-3' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='122' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <!-- unsigned int __pthread_mutex_s::__nusers -->
+        <var-decl name='__nusers' type-id='type-id-33' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='124' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <!-- int __pthread_mutex_s::__kind -->
+        <var-decl name='__kind' type-id='type-id-3' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='148' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <!-- short int __pthread_mutex_s::__spins -->
+        <var-decl name='__spins' type-id='type-id-34' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <!-- short int __pthread_mutex_s::__elision -->
+        <var-decl name='__elision' type-id='type-id-34' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <!-- __pthread_list_t __pthread_mutex_s::__list -->
+        <var-decl name='__list' type-id='type-id-35' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='155' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- unsigned int -->
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-33'/>
+    <!-- short int -->
+    <type-decl name='short int' size-in-bits='16' id='type-id-34'/>
+    <!-- struct __pthread_internal_list -->
+    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='82' column='1' id='type-id-36'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- __pthread_internal_list* __pthread_internal_list::__prev -->
+        <var-decl name='__prev' type-id='type-id-37' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- __pthread_internal_list* __pthread_internal_list::__next -->
+        <var-decl name='__next' type-id='type-id-37' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='85' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- __pthread_internal_list* -->
+    <pointer-type-def type-id='type-id-36' size-in-bits='64' id='type-id-37'/>
+    <!-- typedef __pthread_internal_list __pthread_list_t -->
+    <typedef-decl name='__pthread_list_t' type-id='type-id-36' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='86' column='1' id='type-id-35'/>
+    <!-- char -->
+    <type-decl name='char' size-in-bits='8' id='type-id-38'/>
+    <!-- unsigned long int -->
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-39'/>
+
+    <!-- char[40] -->
+    <array-type-def dimensions='1' type-id='type-id-38' size-in-bits='320' id='type-id-31'>
+      <!-- <anonymous range>[40] -->
+      <subrange length='40' type-id='type-id-39' id='type-id-40'/>
+
+    </array-type-def>
+    <!-- long int -->
+    <type-decl name='long int' size-in-bits='64' id='type-id-32'/>
+    <!-- typedef __anonymous_union__ pthread_mutex_t -->
+    <typedef-decl name='pthread_mutex_t' type-id='type-id-29' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='72' column='1' id='type-id-28'/>
+    <!-- cds_lfs_stack* -->
+    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-25'/>
+    <!-- typedef __anonymous_union__ cds_lfs_stack_ptr_t -->
+    <typedef-decl name='cds_lfs_stack_ptr_t' type-id='type-id-23' filepath='../include/urcu/lfstack.h' line='100' column='1' id='type-id-41'/>
+    <!-- cds_lfs_head* __cds_lfs_pop_all(cds_lfs_stack_ptr_t) -->
+    <function-decl name='__cds_lfs_pop_all' mangled-name='__cds_lfs_pop_all' filepath='src/lfstack.c' line='88' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_lfs_pop_all'>
+      <!-- parameter of type 'typedef cds_lfs_stack_ptr_t' -->
+      <parameter type-id='type-id-41' name='s' filepath='src/lfstack.c' line='88' column='1'/>
+      <!-- cds_lfs_head* -->
+      <return type-id='type-id-22'/>
+    </function-decl>
+    <!-- cds_lfs_node* __cds_lfs_pop(cds_lfs_stack_ptr_t) -->
+    <function-decl name='__cds_lfs_pop' mangled-name='__cds_lfs_pop' filepath='src/lfstack.c' line='83' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_lfs_pop'>
+      <!-- parameter of type 'typedef cds_lfs_stack_ptr_t' -->
+      <parameter type-id='type-id-41' name='s' filepath='src/lfstack.c' line='83' column='1'/>
+      <!-- cds_lfs_node* -->
+      <return type-id='type-id-21'/>
+    </function-decl>
+    <!-- void cds_lfs_pop_unlock(cds_lfs_stack*) -->
+    <function-decl name='cds_lfs_pop_unlock' mangled-name='cds_lfs_pop_unlock' filepath='src/lfstack.c' line='78' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_pop_unlock'>
+      <!-- parameter of type 'cds_lfs_stack*' -->
+      <parameter type-id='type-id-25' name='s' filepath='src/lfstack.c' line='78' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-6'/>
+    </function-decl>
+    <!-- void cds_lfs_pop_lock(cds_lfs_stack*) -->
+    <function-decl name='cds_lfs_pop_lock' mangled-name='cds_lfs_pop_lock' filepath='src/lfstack.c' line='73' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_pop_lock'>
+      <!-- parameter of type 'cds_lfs_stack*' -->
+      <parameter type-id='type-id-25' name='s' filepath='src/lfstack.c' line='78' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-6'/>
+    </function-decl>
+    <!-- cds_lfs_head* cds_lfs_pop_all_blocking(cds_lfs_stack*) -->
+    <function-decl name='cds_lfs_pop_all_blocking' mangled-name='cds_lfs_pop_all_blocking' filepath='src/lfstack.c' line='68' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_pop_all_blocking'>
+      <!-- parameter of type 'cds_lfs_stack*' -->
+      <parameter type-id='type-id-25' name='s' filepath='src/lfstack.c' line='68' column='1'/>
+      <!-- cds_lfs_head* -->
+      <return type-id='type-id-22'/>
+    </function-decl>
+    <!-- cds_lfs_node* cds_lfs_pop_blocking(cds_lfs_stack*) -->
+    <function-decl name='cds_lfs_pop_blocking' mangled-name='cds_lfs_pop_blocking' filepath='src/lfstack.c' line='63' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_pop_blocking'>
+      <!-- parameter of type 'cds_lfs_stack*' -->
+      <parameter type-id='type-id-25' name='s' filepath='src/lfstack.c' line='63' column='1'/>
+      <!-- cds_lfs_node* -->
+      <return type-id='type-id-21'/>
+    </function-decl>
+    <!-- bool -->
+    <type-decl name='bool' size-in-bits='8' id='type-id-42'/>
+    <!-- bool cds_lfs_push(cds_lfs_stack_ptr_t, cds_lfs_node*) -->
+    <function-decl name='cds_lfs_push' mangled-name='cds_lfs_push' filepath='src/lfstack.c' line='58' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_push'>
+      <!-- parameter of type 'typedef cds_lfs_stack_ptr_t' -->
+      <parameter type-id='type-id-41' name='s' filepath='src/lfstack.c' line='58' column='1'/>
+      <!-- parameter of type 'cds_lfs_node*' -->
+      <parameter type-id='type-id-21' name='node' filepath='src/lfstack.c' line='58' column='1'/>
+      <!-- bool -->
+      <return type-id='type-id-42'/>
+    </function-decl>
+    <!-- bool cds_lfs_empty(cds_lfs_stack_ptr_t) -->
+    <function-decl name='cds_lfs_empty' mangled-name='cds_lfs_empty' filepath='src/lfstack.c' line='53' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_empty'>
+      <!-- parameter of type 'typedef cds_lfs_stack_ptr_t' -->
+      <parameter type-id='type-id-41' name='s' filepath='src/lfstack.c' line='53' column='1'/>
+      <!-- bool -->
+      <return type-id='type-id-42'/>
+    </function-decl>
+    <!-- void __cds_lfs_init(__cds_lfs_stack*) -->
+    <function-decl name='__cds_lfs_init' mangled-name='__cds_lfs_init' filepath='src/lfstack.c' line='48' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_lfs_init'>
+      <!-- parameter of type '__cds_lfs_stack*' -->
+      <parameter type-id='type-id-24' name='s' filepath='src/lfstack.c' line='48' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-6'/>
+    </function-decl>
+    <!-- void cds_lfs_destroy(cds_lfs_stack*) -->
+    <function-decl name='cds_lfs_destroy' mangled-name='cds_lfs_destroy' filepath='src/lfstack.c' line='43' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_destroy'>
+      <!-- parameter of type 'cds_lfs_stack*' -->
+      <parameter type-id='type-id-25' name='s' filepath='src/lfstack.c' line='78' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-6'/>
+    </function-decl>
+    <!-- void cds_lfs_init(cds_lfs_stack*) -->
+    <function-decl name='cds_lfs_init' mangled-name='cds_lfs_init' filepath='src/lfstack.c' line='38' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_init'>
+      <!-- parameter of type 'cds_lfs_stack*' -->
+      <parameter type-id='type-id-25' name='s' filepath='src/lfstack.c' line='78' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-6'/>
+    </function-decl>
+    <!-- void cds_lfs_node_init(cds_lfs_node*) -->
+    <function-decl name='cds_lfs_node_init' mangled-name='cds_lfs_node_init' filepath='src/lfstack.c' line='33' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfs_node_init'>
+      <!-- parameter of type 'cds_lfs_node*' -->
+      <parameter type-id='type-id-21' name='node' filepath='src/lfstack.c' line='33' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-6'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='workqueue.c' comp-dir-path='src' language='LANG_C99'>
+    <!-- struct urcu_workqueue -->
+    <class-decl name='urcu_workqueue' size-in-bits='2048' is-struct='yes' visibility='default' filepath='src/workqueue.c' line='54' column='1' id='type-id-43'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_wfcq_tail urcu_workqueue::cbs_tail -->
+        <var-decl name='cbs_tail' type-id='type-id-44' visibility='default' filepath='src/workqueue.c' line='61' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- cds_wfcq_head urcu_workqueue::cbs_head -->
+        <var-decl name='cbs_head' type-id='type-id-45' visibility='default' filepath='src/workqueue.c' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <!-- unsigned long int urcu_workqueue::flags -->
+        <var-decl name='flags' type-id='type-id-39' visibility='default' filepath='src/workqueue.c' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <!-- int32_t urcu_workqueue::futex -->
+        <var-decl name='futex' type-id='type-id-46' visibility='default' filepath='src/workqueue.c' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <!-- unsigned long int urcu_workqueue::qlen -->
+        <var-decl name='qlen' type-id='type-id-39' visibility='default' filepath='src/workqueue.c' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <!-- pthread_t urcu_workqueue::tid -->
+        <var-decl name='tid' type-id='type-id-47' visibility='default' filepath='src/workqueue.c' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <!-- int urcu_workqueue::cpu_affinity -->
+        <var-decl name='cpu_affinity' type-id='type-id-3' visibility='default' filepath='src/workqueue.c' line='67' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <!-- unsigned long int urcu_workqueue::loop_count -->
+        <var-decl name='loop_count' type-id='type-id-39' visibility='default' filepath='src/workqueue.c' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <!-- void* urcu_workqueue::priv -->
+        <var-decl name='priv' type-id='type-id-48' visibility='default' filepath='src/workqueue.c' line='69' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <!-- void (urcu_workqueue*, void*)* urcu_workqueue::grace_period_fct -->
+        <var-decl name='grace_period_fct' type-id='type-id-49' visibility='default' filepath='src/workqueue.c' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <!-- void (urcu_workqueue*, void*)* urcu_workqueue::initialize_worker_fct -->
+        <var-decl name='initialize_worker_fct' type-id='type-id-49' visibility='default' filepath='src/workqueue.c' line='71' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <!-- void (urcu_workqueue*, void*)* urcu_workqueue::finalize_worker_fct -->
+        <var-decl name='finalize_worker_fct' type-id='type-id-49' visibility='default' filepath='src/workqueue.c' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <!-- void (urcu_workqueue*, void*)* urcu_workqueue::worker_before_pause_fct -->
+        <var-decl name='worker_before_pause_fct' type-id='type-id-49' visibility='default' filepath='src/workqueue.c' line='73' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <!-- void (urcu_workqueue*, void*)* urcu_workqueue::worker_after_resume_fct -->
+        <var-decl name='worker_after_resume_fct' type-id='type-id-49' visibility='default' filepath='src/workqueue.c' line='74' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <!-- void (urcu_workqueue*, void*)* urcu_workqueue::worker_before_wait_fct -->
+        <var-decl name='worker_before_wait_fct' type-id='type-id-49' visibility='default' filepath='src/workqueue.c' line='75' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <!-- void (urcu_workqueue*, void*)* urcu_workqueue::worker_after_wake_up_fct -->
+        <var-decl name='worker_after_wake_up_fct' type-id='type-id-49' visibility='default' filepath='src/workqueue.c' line='76' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- struct cds_wfcq_tail -->
+    <class-decl name='cds_wfcq_tail' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='140' column='1' id='type-id-44'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_wfcq_node* cds_wfcq_tail::p -->
+        <var-decl name='p' type-id='type-id-10' visibility='default' filepath='../include/urcu/wfcqueue.h' line='141' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- struct cds_wfcq_head -->
+    <class-decl name='cds_wfcq_head' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='71' column='1' id='type-id-45'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_wfcq_node cds_wfcq_head::node -->
+        <var-decl name='node' type-id='type-id-8' visibility='default' filepath='../include/urcu/wfcqueue.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- pthread_mutex_t cds_wfcq_head::lock -->
+        <var-decl name='lock' type-id='type-id-28' visibility='default' filepath='../include/urcu/wfcqueue.h' line='73' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- typedef int __int32_t -->
+    <typedef-decl name='__int32_t' type-id='type-id-3' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='40' column='1' id='type-id-50'/>
+    <!-- typedef __int32_t int32_t -->
+    <typedef-decl name='int32_t' type-id='type-id-50' filepath='/usr/include/x86_64-linux-gnu/bits/stdint-intn.h' line='26' column='1' id='type-id-46'/>
+    <!-- typedef unsigned long int pthread_t -->
+    <typedef-decl name='pthread_t' type-id='type-id-39' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='27' column='1' id='type-id-47'/>
+    <!-- void* -->
+    <pointer-type-def type-id='type-id-6' size-in-bits='64' id='type-id-48'/>
+    <!-- urcu_workqueue* -->
+    <pointer-type-def type-id='type-id-43' size-in-bits='64' id='type-id-51'/>
+    <!-- void (urcu_workqueue*, void*)* -->
+    <pointer-type-def type-id='type-id-52' size-in-bits='64' id='type-id-49'/>
+    <!-- void urcu_workqueue_create_worker(urcu_workqueue*) -->
+    <function-decl name='urcu_workqueue_create_worker' mangled-name='urcu_workqueue_create_worker' filepath='src/workqueue.c' line='455' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_workqueue_create_worker'>
+      <!-- parameter of type 'urcu_workqueue*' -->
+      <parameter type-id='type-id-51' name='workqueue' filepath='src/workqueue.c' line='455' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-6'/>
+    </function-decl>
+    <!-- void urcu_workqueue_resume_worker(urcu_workqueue*) -->
+    <function-decl name='urcu_workqueue_resume_worker' mangled-name='urcu_workqueue_resume_worker' filepath='src/workqueue.c' line='448' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_workqueue_resume_worker'>
+      <!-- parameter of type 'urcu_workqueue*' -->
+      <parameter type-id='type-id-51' name='workqueue' filepath='src/workqueue.c' line='448' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-6'/>
+    </function-decl>
+    <!-- void urcu_workqueue_pause_worker(urcu_workqueue*) -->
+    <function-decl name='urcu_workqueue_pause_worker' mangled-name='urcu_workqueue_pause_worker' filepath='src/workqueue.c' line='437' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_workqueue_pause_worker'>
+      <!-- parameter of type 'urcu_workqueue*' -->
+      <parameter type-id='type-id-51' name='workqueue' filepath='src/workqueue.c' line='448' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-6'/>
+    </function-decl>
+    <!-- void urcu_workqueue_flush_queued_work(urcu_workqueue*) -->
+    <function-decl name='urcu_workqueue_flush_queued_work' mangled-name='urcu_workqueue_flush_queued_work' filepath='src/workqueue.c' line='424' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_workqueue_flush_queued_work'>
+      <!-- parameter of type 'urcu_workqueue*' -->
+      <parameter type-id='type-id-51' name='workqueue' filepath='src/workqueue.c' line='455' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-6'/>
+    </function-decl>
+    <!-- struct urcu_workqueue_completion -->
+    <class-decl name='urcu_workqueue_completion' size-in-bits='128' is-struct='yes' visibility='default' filepath='src/workqueue.c' line='79' column='1' id='type-id-53'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- int urcu_workqueue_completion::barrier_count -->
+        <var-decl name='barrier_count' type-id='type-id-3' visibility='default' filepath='src/workqueue.c' line='80' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <!-- int32_t urcu_workqueue_completion::futex -->
+        <var-decl name='futex' type-id='type-id-46' visibility='default' filepath='src/workqueue.c' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- urcu_ref urcu_workqueue_completion::ref -->
+        <var-decl name='ref' type-id='type-id-54' visibility='default' filepath='src/workqueue.c' line='82' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- struct urcu_ref -->
+    <class-decl name='urcu_ref' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/ref.h' line='23' column='1' id='type-id-54'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- long int urcu_ref::refcount -->
+        <var-decl name='refcount' type-id='type-id-32' visibility='default' filepath='../include/urcu/ref.h' line='24' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- urcu_workqueue_completion* -->
+    <pointer-type-def type-id='type-id-53' size-in-bits='64' id='type-id-55'/>
+    <!-- void urcu_workqueue_queue_completion(urcu_workqueue*, urcu_workqueue_completion*) -->
+    <function-decl name='urcu_workqueue_queue_completion' mangled-name='urcu_workqueue_queue_completion' filepath='src/workqueue.c' line='407' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_workqueue_queue_completion'>
+      <!-- parameter of type 'urcu_workqueue*' -->
+      <parameter type-id='type-id-51' name='workqueue' filepath='src/workqueue.c' line='407' column='1'/>
+      <!-- parameter of type 'urcu_workqueue_completion*' -->
+      <parameter type-id='type-id-55' name='completion' filepath='src/workqueue.c' line='408' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-6'/>
+    </function-decl>
+    <!-- void urcu_workqueue_wait_completion(urcu_workqueue_completion*) -->
+    <function-decl name='urcu_workqueue_wait_completion' mangled-name='urcu_workqueue_wait_completion' filepath='src/workqueue.c' line='394' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_workqueue_wait_completion'>
+      <!-- parameter of type 'urcu_workqueue_completion*' -->
+      <parameter type-id='type-id-55' name='completion' filepath='src/workqueue.c' line='394' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-6'/>
+    </function-decl>
+    <!-- void urcu_workqueue_destroy_completion(urcu_workqueue_completion*) -->
+    <function-decl name='urcu_workqueue_destroy_completion' mangled-name='urcu_workqueue_destroy_completion' filepath='src/workqueue.c' line='389' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_workqueue_destroy_completion'>
+      <!-- parameter of type 'urcu_workqueue_completion*' -->
+      <parameter type-id='type-id-55' name='completion' filepath='src/workqueue.c' line='389' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-6'/>
+    </function-decl>
+    <!-- urcu_workqueue_completion* urcu_workqueue_create_completion() -->
+    <function-decl name='urcu_workqueue_create_completion' mangled-name='urcu_workqueue_create_completion' filepath='src/workqueue.c' line='377' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_workqueue_create_completion'>
+      <!-- urcu_workqueue_completion* -->
+      <return type-id='type-id-55'/>
+    </function-decl>
+    <!-- struct urcu_work -->
+    <class-decl name='urcu_work' size-in-bits='128' is-struct='yes' visibility='default' filepath='src/workqueue.h' line='53' column='1' id='type-id-56'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_wfcq_node urcu_work::next -->
+        <var-decl name='next' type-id='type-id-8' visibility='default' filepath='src/workqueue.h' line='54' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- void (urcu_work*)* urcu_work::func -->
+        <var-decl name='func' type-id='type-id-57' visibility='default' filepath='src/workqueue.h' line='55' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- urcu_work* -->
+    <pointer-type-def type-id='type-id-56' size-in-bits='64' id='type-id-58'/>
+    <!-- void (urcu_work*)* -->
+    <pointer-type-def type-id='type-id-59' size-in-bits='64' id='type-id-57'/>
+    <!-- void urcu_workqueue_queue_work(urcu_workqueue*, urcu_work*, void (urcu_work*)*) -->
+    <function-decl name='urcu_workqueue_queue_work' mangled-name='urcu_workqueue_queue_work' filepath='src/workqueue.c' line='343' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_workqueue_queue_work'>
+      <!-- parameter of type 'urcu_workqueue*' -->
+      <parameter type-id='type-id-51' name='workqueue' filepath='src/workqueue.c' line='343' column='1'/>
+      <!-- parameter of type 'urcu_work*' -->
+      <parameter type-id='type-id-58' name='work' filepath='src/workqueue.c' line='344' column='1'/>
+      <!-- parameter of type 'void (urcu_work*)*' -->
+      <parameter type-id='type-id-57' name='func' filepath='src/workqueue.c' line='345' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-6'/>
+    </function-decl>
+    <!-- void urcu_workqueue_destroy(urcu_workqueue*) -->
+    <function-decl name='urcu_workqueue_destroy' mangled-name='urcu_workqueue_destroy' filepath='src/workqueue.c' line='331' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_workqueue_destroy'>
+      <!-- parameter of type 'urcu_workqueue*' -->
+      <parameter type-id='type-id-51' name='workqueue' filepath='src/workqueue.c' line='455' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-6'/>
+    </function-decl>
+    <!-- urcu_workqueue* urcu_workqueue_create(unsigned long int, int, void*, void (urcu_workqueue*, void*)*, void (urcu_workqueue*, void*)*, void (urcu_workqueue*, void*)*, void (urcu_workqueue*, void*)*, void (urcu_workqueue*, void*)*, void (urcu_workqueue*, void*)*, void (urcu_workqueue*, void*)*) -->
+    <function-decl name='urcu_workqueue_create' mangled-name='urcu_workqueue_create' filepath='src/workqueue.c' line='266' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_workqueue_create'>
+      <!-- parameter of type 'unsigned long int' -->
+      <parameter type-id='type-id-39' name='flags' filepath='src/workqueue.c' line='266' column='1'/>
+      <!-- parameter of type 'int' -->
+      <parameter type-id='type-id-3' name='cpu_affinity' filepath='src/workqueue.c' line='267' column='1'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-48' name='priv' filepath='src/workqueue.c' line='267' column='1'/>
+      <!-- parameter of type 'void (urcu_workqueue*, void*)*' -->
+      <parameter type-id='type-id-49' name='grace_period_fct' filepath='src/workqueue.c' line='268' column='1'/>
+      <!-- parameter of type 'void (urcu_workqueue*, void*)*' -->
+      <parameter type-id='type-id-49' name='initialize_worker_fct' filepath='src/workqueue.c' line='269' column='1'/>
+      <!-- parameter of type 'void (urcu_workqueue*, void*)*' -->
+      <parameter type-id='type-id-49' name='finalize_worker_fct' filepath='src/workqueue.c' line='270' column='1'/>
+      <!-- parameter of type 'void (urcu_workqueue*, void*)*' -->
+      <parameter type-id='type-id-49' name='worker_before_wait_fct' filepath='src/workqueue.c' line='271' column='1'/>
+      <!-- parameter of type 'void (urcu_workqueue*, void*)*' -->
+      <parameter type-id='type-id-49' name='worker_after_wake_up_fct' filepath='src/workqueue.c' line='272' column='1'/>
+      <!-- parameter of type 'void (urcu_workqueue*, void*)*' -->
+      <parameter type-id='type-id-49' name='worker_before_pause_fct' filepath='src/workqueue.c' line='273' column='1'/>
+      <!-- parameter of type 'void (urcu_workqueue*, void*)*' -->
+      <parameter type-id='type-id-49' name='worker_after_resume_fct' filepath='src/workqueue.c' line='274' column='1'/>
+      <!-- urcu_workqueue* -->
+      <return type-id='type-id-51'/>
+    </function-decl>
+    <!-- void (urcu_work*) -->
+    <function-type size-in-bits='64' id='type-id-59'>
+      <!-- parameter of type 'urcu_work*' -->
+      <parameter type-id='type-id-58'/>
+      <!-- void -->
+      <return type-id='type-id-6'/>
+    </function-type>
+    <!-- void (urcu_workqueue*, void*) -->
+    <function-type size-in-bits='64' id='type-id-52'>
+      <!-- parameter of type 'urcu_workqueue*' -->
+      <parameter type-id='type-id-51'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-48'/>
+      <!-- void -->
+      <return type-id='type-id-6'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='rculfhash.c' comp-dir-path='src' language='LANG_C99'>
+    <!-- struct cds_lfht -->
+    <class-decl name='cds_lfht' size-in-bits='5248' is-struct='yes' visibility='default' filepath='../src/rculfhash-internal.h' line='70' column='1' id='type-id-60'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- unsigned long int cds_lfht::max_nr_buckets -->
+        <var-decl name='max_nr_buckets' type-id='type-id-39' visibility='default' filepath='../src/rculfhash-internal.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- const cds_lfht_mm_type* cds_lfht::mm -->
+        <var-decl name='mm' type-id='type-id-61' visibility='default' filepath='../src/rculfhash-internal.h' line='73' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <!-- const rcu_flavor_struct* cds_lfht::flavor -->
+        <var-decl name='flavor' type-id='type-id-62' visibility='default' filepath='../src/rculfhash-internal.h' line='74' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <!-- long int cds_lfht::count -->
+        <var-decl name='count' type-id='type-id-32' visibility='default' filepath='../src/rculfhash-internal.h' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <!-- pthread_mutex_t cds_lfht::resize_mutex -->
+        <var-decl name='resize_mutex' type-id='type-id-28' visibility='default' filepath='../src/rculfhash-internal.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <!-- pthread_attr_t* cds_lfht::resize_attr -->
+        <var-decl name='resize_attr' type-id='type-id-63' visibility='default' filepath='../src/rculfhash-internal.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <!-- unsigned int cds_lfht::in_progress_destroy -->
+        <var-decl name='in_progress_destroy' type-id='type-id-33' visibility='default' filepath='../src/rculfhash-internal.h' line='87' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <!-- unsigned long int cds_lfht::resize_target -->
+        <var-decl name='resize_target' type-id='type-id-39' visibility='default' filepath='../src/rculfhash-internal.h' line='88' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <!-- int cds_lfht::resize_initiated -->
+        <var-decl name='resize_initiated' type-id='type-id-3' visibility='default' filepath='../src/rculfhash-internal.h' line='89' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='800'>
+        <!-- int cds_lfht::flags -->
+        <var-decl name='flags' type-id='type-id-3' visibility='default' filepath='../src/rculfhash-internal.h' line='94' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <!-- unsigned long int cds_lfht::min_alloc_buckets_order -->
+        <var-decl name='min_alloc_buckets_order' type-id='type-id-39' visibility='default' filepath='../src/rculfhash-internal.h' line='95' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <!-- unsigned long int cds_lfht::min_nr_alloc_buckets -->
+        <var-decl name='min_nr_alloc_buckets' type-id='type-id-39' visibility='default' filepath='../src/rculfhash-internal.h' line='96' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <!-- ht_items_count* cds_lfht::split_count -->
+        <var-decl name='split_count' type-id='type-id-64' visibility='default' filepath='../src/rculfhash-internal.h' line='97' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <!-- unsigned long int cds_lfht::size -->
+        <var-decl name='size' type-id='type-id-39' visibility='default' filepath='../src/rculfhash-internal.h' line='102' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <!-- cds_lfht_node* (cds_lfht*, unsigned long int)* cds_lfht::bucket_at -->
+        <var-decl name='bucket_at' type-id='type-id-65' visibility='default' filepath='../src/rculfhash-internal.h' line='107' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <!-- __anonymous_union__  -->
+        <var-decl name='' type-id='type-id-66' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <!-- struct cds_lfht_mm_type -->
+    <class-decl name='cds_lfht_mm_type' size-in-bits='256' is-struct='yes' visibility='default' filepath='../include/urcu/rculfhash.h' line='130' column='1' id='type-id-67'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_lfht* (unsigned long int, unsigned long int)* cds_lfht_mm_type::alloc_cds_lfht -->
+        <var-decl name='alloc_cds_lfht' type-id='type-id-68' visibility='default' filepath='../include/urcu/rculfhash.h' line='131' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- void (cds_lfht*, unsigned long int)* cds_lfht_mm_type::alloc_bucket_table -->
+        <var-decl name='alloc_bucket_table' type-id='type-id-69' visibility='default' filepath='../include/urcu/rculfhash.h' line='133' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <!-- void (cds_lfht*, unsigned long int)* cds_lfht_mm_type::free_bucket_table -->
+        <var-decl name='free_bucket_table' type-id='type-id-69' visibility='default' filepath='../include/urcu/rculfhash.h' line='134' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <!-- cds_lfht_node* (cds_lfht*, unsigned long int)* cds_lfht_mm_type::bucket_at -->
+        <var-decl name='bucket_at' type-id='type-id-65' visibility='default' filepath='../include/urcu/rculfhash.h' line='135' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- cds_lfht* -->
+    <pointer-type-def type-id='type-id-60' size-in-bits='64' id='type-id-70'/>
+    <!-- cds_lfht* (unsigned long int, unsigned long int)* -->
+    <pointer-type-def type-id='type-id-71' size-in-bits='64' id='type-id-68'/>
+    <!-- void (cds_lfht*, unsigned long int)* -->
+    <pointer-type-def type-id='type-id-72' size-in-bits='64' id='type-id-69'/>
+    <!-- struct cds_lfht_node -->
+    <class-decl name='cds_lfht_node' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/rculfhash.h' line='63' column='1' id='type-id-73'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_lfht_node* cds_lfht_node::next -->
+        <var-decl name='next' type-id='type-id-74' visibility='default' filepath='../include/urcu/rculfhash.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- unsigned long int cds_lfht_node::reverse_hash -->
+        <var-decl name='reverse_hash' type-id='type-id-39' visibility='default' filepath='../include/urcu/rculfhash.h' line='65' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- cds_lfht_node* -->
+    <pointer-type-def type-id='type-id-73' size-in-bits='64' id='type-id-74'/>
+    <!-- cds_lfht_node* (cds_lfht*, unsigned long int)* -->
+    <pointer-type-def type-id='type-id-75' size-in-bits='64' id='type-id-65'/>
+    <!-- const cds_lfht_mm_type -->
+    <qualified-type-def type-id='type-id-67' const='yes' id='type-id-76'/>
+    <!-- const cds_lfht_mm_type* -->
+    <pointer-type-def type-id='type-id-76' size-in-bits='64' id='type-id-61'/>
+    <!-- struct rcu_flavor_struct -->
+    <class-decl name='rcu_flavor_struct' size-in-bits='896' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='42' column='1' id='type-id-77'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- void ()* rcu_flavor_struct::read_lock -->
+        <var-decl name='read_lock' type-id='type-id-78' visibility='default' filepath='../include/urcu/flavor.h' line='43' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- void ()* rcu_flavor_struct::read_unlock -->
+        <var-decl name='read_unlock' type-id='type-id-78' visibility='default' filepath='../include/urcu/flavor.h' line='44' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <!-- int ()* rcu_flavor_struct::read_ongoing -->
+        <var-decl name='read_ongoing' type-id='type-id-79' visibility='default' filepath='../include/urcu/flavor.h' line='45' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <!-- void ()* rcu_flavor_struct::read_quiescent_state -->
+        <var-decl name='read_quiescent_state' type-id='type-id-78' visibility='default' filepath='../include/urcu/flavor.h' line='46' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <!-- void (rcu_head*, void (rcu_head*)*)* rcu_flavor_struct::update_call_rcu -->
+        <var-decl name='update_call_rcu' type-id='type-id-5' visibility='default' filepath='../include/urcu/flavor.h' line='47' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <!-- void ()* rcu_flavor_struct::update_synchronize_rcu -->
+        <var-decl name='update_synchronize_rcu' type-id='type-id-78' visibility='default' filepath='../include/urcu/flavor.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <!-- void (void (void*)*, void*)* rcu_flavor_struct::update_defer_rcu -->
+        <var-decl name='update_defer_rcu' type-id='type-id-80' visibility='default' filepath='../include/urcu/flavor.h' line='50' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <!-- void ()* rcu_flavor_struct::thread_offline -->
+        <var-decl name='thread_offline' type-id='type-id-78' visibility='default' filepath='../include/urcu/flavor.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <!-- void ()* rcu_flavor_struct::thread_online -->
+        <var-decl name='thread_online' type-id='type-id-78' visibility='default' filepath='../include/urcu/flavor.h' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <!-- void ()* rcu_flavor_struct::register_thread -->
+        <var-decl name='register_thread' type-id='type-id-78' visibility='default' filepath='../include/urcu/flavor.h' line='54' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <!-- void ()* rcu_flavor_struct::unregister_thread -->
+        <var-decl name='unregister_thread' type-id='type-id-78' visibility='default' filepath='../include/urcu/flavor.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <!-- void ()* rcu_flavor_struct::barrier -->
+        <var-decl name='barrier' type-id='type-id-78' visibility='default' filepath='../include/urcu/flavor.h' line='57' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <!-- void (urcu_atfork*)* rcu_flavor_struct::register_rculfhash_atfork -->
+        <var-decl name='register_rculfhash_atfork' type-id='type-id-81' visibility='default' filepath='../include/urcu/flavor.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <!-- void (urcu_atfork*)* rcu_flavor_struct::unregister_rculfhash_atfork -->
+        <var-decl name='unregister_rculfhash_atfork' type-id='type-id-81' visibility='default' filepath='../include/urcu/flavor.h' line='60' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- void ()* -->
+    <pointer-type-def type-id='type-id-82' size-in-bits='64' id='type-id-78'/>
+    <!-- int ()* -->
+    <pointer-type-def type-id='type-id-83' size-in-bits='64' id='type-id-79'/>
+    <!-- void (void*)* -->
+    <pointer-type-def type-id='type-id-84' size-in-bits='64' id='type-id-85'/>
+    <!-- void (void (void*)*, void*)* -->
+    <pointer-type-def type-id='type-id-86' size-in-bits='64' id='type-id-80'/>
+    <!-- struct urcu_atfork -->
+    <class-decl name='urcu_atfork' size-in-bits='256' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='32' column='1' id='type-id-87'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- void (void*)* urcu_atfork::before_fork -->
+        <var-decl name='before_fork' type-id='type-id-85' visibility='default' filepath='../include/urcu/flavor.h' line='33' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- void (void*)* urcu_atfork::after_fork_parent -->
+        <var-decl name='after_fork_parent' type-id='type-id-85' visibility='default' filepath='../include/urcu/flavor.h' line='34' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <!-- void (void*)* urcu_atfork::after_fork_child -->
+        <var-decl name='after_fork_child' type-id='type-id-85' visibility='default' filepath='../include/urcu/flavor.h' line='35' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <!-- void* urcu_atfork::priv -->
+        <var-decl name='priv' type-id='type-id-48' visibility='default' filepath='../include/urcu/flavor.h' line='36' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- urcu_atfork* -->
+    <pointer-type-def type-id='type-id-87' size-in-bits='64' id='type-id-88'/>
+    <!-- void (urcu_atfork*)* -->
+    <pointer-type-def type-id='type-id-89' size-in-bits='64' id='type-id-81'/>
+    <!-- const rcu_flavor_struct -->
+    <qualified-type-def type-id='type-id-77' const='yes' id='type-id-90'/>
+    <!-- const rcu_flavor_struct* -->
+    <pointer-type-def type-id='type-id-90' size-in-bits='64' id='type-id-62'/>
+    <!-- union pthread_attr_t -->
+    <union-decl name='pthread_attr_t' size-in-bits='448' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='56' column='1' id='type-id-91'>
+      <data-member access='private'>
+        <!-- char pthread_attr_t::__size[56] -->
+        <var-decl name='__size' type-id='type-id-92' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='58' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <!-- long int pthread_attr_t::__align -->
+        <var-decl name='__align' type-id='type-id-32' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='59' column='1'/>
+      </data-member>
+    </union-decl>
+
+    <!-- char[56] -->
+    <array-type-def dimensions='1' type-id='type-id-38' size-in-bits='448' id='type-id-92'>
+      <!-- <anonymous range>[56] -->
+      <subrange length='56' type-id='type-id-39' id='type-id-93'/>
+
+    </array-type-def>
+    <!-- typedef pthread_attr_t pthread_attr_t -->
+    <typedef-decl name='pthread_attr_t' type-id='type-id-91' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='62' column='1' id='type-id-94'/>
+    <!-- pthread_attr_t* -->
+    <pointer-type-def type-id='type-id-94' size-in-bits='64' id='type-id-63'/>
+    <!-- struct ht_items_count -->
+    <class-decl name='ht_items_count' size-in-bits='1024' is-struct='yes' visibility='default' filepath='src/rculfhash.c' line='338' column='1' id='type-id-95'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- unsigned long int ht_items_count::add -->
+        <var-decl name='add' type-id='type-id-39' visibility='default' filepath='src/rculfhash.c' line='339' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- unsigned long int ht_items_count::del -->
+        <var-decl name='del' type-id='type-id-39' visibility='default' filepath='src/rculfhash.c' line='339' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- ht_items_count* -->
+    <pointer-type-def type-id='type-id-95' size-in-bits='64' id='type-id-64'/>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='4096' is-anonymous='yes' visibility='default' filepath='../src/rculfhash-internal.h' line='113' column='1' id='type-id-66'>
+      <data-member access='private'>
+        <!-- cds_lfht_node* __anonymous_union__::tbl_order[64] -->
+        <var-decl name='tbl_order' type-id='type-id-96' visibility='default' filepath='../src/rculfhash-internal.h' line='122' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <!-- cds_lfht_node* __anonymous_union__::tbl_chunk[1] -->
+        <var-decl name='tbl_chunk' type-id='type-id-97' visibility='default' filepath='../src/rculfhash-internal.h' line='134' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <!-- cds_lfht_node* __anonymous_union__::tbl_mmap -->
+        <var-decl name='tbl_mmap' type-id='type-id-74' visibility='default' filepath='../src/rculfhash-internal.h' line='140' column='1'/>
+      </data-member>
+    </union-decl>
+
+    <!-- cds_lfht_node*[64] -->
+    <array-type-def dimensions='1' type-id='type-id-74' size-in-bits='4096' id='type-id-96'>
+      <!-- <anonymous range>[64] -->
+      <subrange length='64' type-id='type-id-39' id='type-id-98'/>
+
+    </array-type-def>
+
+    <!-- cds_lfht_node*[1] -->
+    <array-type-def dimensions='1' type-id='type-id-74' size-in-bits='64' id='type-id-97'>
+      <!-- <anonymous range>[1] -->
+      <subrange length='1' type-id='type-id-39' id='type-id-99'/>
+
+    </array-type-def>
+    <!-- void cds_lfht_resize(cds_lfht*, unsigned long int) -->
+    <function-decl name='cds_lfht_resize' mangled-name='cds_lfht_resize' filepath='src/rculfhash.c' line='2040' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_resize'>
+      <!-- parameter of type 'cds_lfht*' -->
+      <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='2040' column='1'/>
+      <!-- parameter of type 'unsigned long int' -->
+      <parameter type-id='type-id-39' name='new_size' filepath='src/rculfhash.c' line='2040' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-6'/>
+    </function-decl>
+    <!-- long int* -->
+    <pointer-type-def type-id='type-id-32' size-in-bits='64' id='type-id-100'/>
+    <!-- unsigned long int* -->
+    <pointer-type-def type-id='type-id-39' size-in-bits='64' id='type-id-101'/>
+    <!-- void cds_lfht_count_nodes(cds_lfht*, long int*, unsigned long int*, long int*) -->
+    <function-decl name='cds_lfht_count_nodes' mangled-name='cds_lfht_count_nodes' filepath='src/rculfhash.c' line='1918' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_count_nodes'>
+      <!-- parameter of type 'cds_lfht*' -->
+      <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='1918' column='1'/>
+      <!-- parameter of type 'long int*' -->
+      <parameter type-id='type-id-100' name='approx_before' filepath='src/rculfhash.c' line='1919' column='1'/>
+      <!-- parameter of type 'unsigned long int*' -->
+      <parameter type-id='type-id-101' name='count' filepath='src/rculfhash.c' line='1920' column='1'/>
+      <!-- parameter of type 'long int*' -->
+      <parameter type-id='type-id-100' name='approx_after' filepath='src/rculfhash.c' line='1921' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-6'/>
+    </function-decl>
+    <!-- pthread_attr_t** -->
+    <pointer-type-def type-id='type-id-63' size-in-bits='64' id='type-id-102'/>
+    <!-- int cds_lfht_destroy(cds_lfht*, pthread_attr_t**) -->
+    <function-decl name='cds_lfht_destroy' mangled-name='cds_lfht_destroy' filepath='src/rculfhash.c' line='1893' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_destroy'>
+      <!-- parameter of type 'cds_lfht*' -->
+      <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='1893' column='1'/>
+      <!-- parameter of type 'pthread_attr_t**' -->
+      <parameter type-id='type-id-102' name='attr' filepath='src/rculfhash.c' line='1893' column='1'/>
+      <!-- int -->
+      <return type-id='type-id-3'/>
+    </function-decl>
+    <!-- const cds_lfht_node -->
+    <qualified-type-def type-id='type-id-73' const='yes' id='type-id-103'/>
+    <!-- const cds_lfht_node* -->
+    <pointer-type-def type-id='type-id-103' size-in-bits='64' id='type-id-104'/>
+    <!-- int cds_lfht_is_node_deleted(const cds_lfht_node*) -->
+    <function-decl name='cds_lfht_is_node_deleted' mangled-name='cds_lfht_is_node_deleted' filepath='src/rculfhash.c' line='1850' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_is_node_deleted'>
+      <!-- parameter of type 'const cds_lfht_node*' -->
+      <parameter type-id='type-id-104' name='node' filepath='src/rculfhash.c' line='1850' column='1'/>
+      <!-- int -->
+      <return type-id='type-id-3'/>
+    </function-decl>
+    <!-- int cds_lfht_del(cds_lfht*, cds_lfht_node*) -->
+    <function-decl name='cds_lfht_del' mangled-name='cds_lfht_del' filepath='src/rculfhash.c' line='1834' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_del'>
+      <!-- parameter of type 'cds_lfht*' -->
+      <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='1834' column='1'/>
+      <!-- parameter of type 'cds_lfht_node*' -->
+      <parameter type-id='type-id-74' name='node' filepath='src/rculfhash.c' line='1834' column='1'/>
+      <!-- int -->
+      <return type-id='type-id-3'/>
+    </function-decl>
+    <!-- struct cds_lfht_iter -->
+    <class-decl name='cds_lfht_iter' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/rculfhash.h' line='69' column='1' id='type-id-105'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_lfht_node* cds_lfht_iter::node -->
+        <var-decl name='node' type-id='type-id-74' visibility='default' filepath='../include/urcu/rculfhash.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- cds_lfht_node* cds_lfht_iter::next -->
+        <var-decl name='next' type-id='type-id-74' visibility='default' filepath='../include/urcu/rculfhash.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- cds_lfht_iter* -->
+    <pointer-type-def type-id='type-id-105' size-in-bits='64' id='type-id-106'/>
+    <!-- int (cds_lfht_node*, void*)* -->
+    <pointer-type-def type-id='type-id-107' size-in-bits='64' id='type-id-108'/>
+    <!-- typedef int (cds_lfht_node*, void*)* cds_lfht_match_fct -->
+    <typedef-decl name='cds_lfht_match_fct' type-id='type-id-108' filepath='../include/urcu/rculfhash.h' line='98' column='1' id='type-id-109'/>
+    <!-- int cds_lfht_replace(cds_lfht*, cds_lfht_iter*, unsigned long int, cds_lfht_match_fct, void*, cds_lfht_node*) -->
+    <function-decl name='cds_lfht_replace' mangled-name='cds_lfht_replace' filepath='src/rculfhash.c' line='1813' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_replace'>
+      <!-- parameter of type 'cds_lfht*' -->
+      <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='1813' column='1'/>
+      <!-- parameter of type 'cds_lfht_iter*' -->
+      <parameter type-id='type-id-106' name='old_iter' filepath='src/rculfhash.c' line='1814' column='1'/>
+      <!-- parameter of type 'unsigned long int' -->
+      <parameter type-id='type-id-39' name='hash' filepath='src/rculfhash.c' line='1815' column='1'/>
+      <!-- parameter of type 'typedef cds_lfht_match_fct' -->
+      <parameter type-id='type-id-109' name='match' filepath='src/rculfhash.c' line='1816' column='1'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-48' name='key' filepath='src/rculfhash.c' line='1817' column='1'/>
+      <!-- parameter of type 'cds_lfht_node*' -->
+      <parameter type-id='type-id-74' name='new_node' filepath='src/rculfhash.c' line='1818' column='1'/>
+      <!-- int -->
+      <return type-id='type-id-3'/>
+    </function-decl>
+    <!-- cds_lfht_node* cds_lfht_add_replace(cds_lfht*, unsigned long int, cds_lfht_match_fct, void*, cds_lfht_node*) -->
+    <function-decl name='cds_lfht_add_replace' mangled-name='cds_lfht_add_replace' filepath='src/rculfhash.c' line='1790' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_add_replace'>
+      <!-- parameter of type 'cds_lfht*' -->
+      <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='1790' column='1'/>
+      <!-- parameter of type 'unsigned long int' -->
+      <parameter type-id='type-id-39' name='hash' filepath='src/rculfhash.c' line='1791' column='1'/>
+      <!-- parameter of type 'typedef cds_lfht_match_fct' -->
+      <parameter type-id='type-id-109' name='match' filepath='src/rculfhash.c' line='1792' column='1'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-48' name='key' filepath='src/rculfhash.c' line='1793' column='1'/>
+      <!-- parameter of type 'cds_lfht_node*' -->
+      <parameter type-id='type-id-74' name='node' filepath='src/rculfhash.c' line='1794' column='1'/>
+      <!-- cds_lfht_node* -->
+      <return type-id='type-id-74'/>
+    </function-decl>
+    <!-- cds_lfht_node* cds_lfht_add_unique(cds_lfht*, unsigned long int, cds_lfht_match_fct, void*, cds_lfht_node*) -->
+    <function-decl name='cds_lfht_add_unique' mangled-name='cds_lfht_add_unique' filepath='src/rculfhash.c' line='1773' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_add_unique'>
+      <!-- parameter of type 'cds_lfht*' -->
+      <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='1790' column='1'/>
+      <!-- parameter of type 'unsigned long int' -->
+      <parameter type-id='type-id-39' name='hash' filepath='src/rculfhash.c' line='1791' column='1'/>
+      <!-- parameter of type 'typedef cds_lfht_match_fct' -->
+      <parameter type-id='type-id-109' name='match' filepath='src/rculfhash.c' line='1792' column='1'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-48' name='key' filepath='src/rculfhash.c' line='1793' column='1'/>
+      <!-- parameter of type 'cds_lfht_node*' -->
+      <parameter type-id='type-id-74' name='node' filepath='src/rculfhash.c' line='1794' column='1'/>
+      <!-- cds_lfht_node* -->
+      <return type-id='type-id-74'/>
+    </function-decl>
+    <!-- void cds_lfht_add(cds_lfht*, unsigned long int, cds_lfht_node*) -->
+    <function-decl name='cds_lfht_add' mangled-name='cds_lfht_add' filepath='src/rculfhash.c' line='1762' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_add'>
+      <!-- parameter of type 'cds_lfht*' -->
+      <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='1762' column='1'/>
+      <!-- parameter of type 'unsigned long int' -->
+      <parameter type-id='type-id-39' name='hash' filepath='src/rculfhash.c' line='1762' column='1'/>
+      <!-- parameter of type 'cds_lfht_node*' -->
+      <parameter type-id='type-id-74' name='node' filepath='src/rculfhash.c' line='1763' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-6'/>
+    </function-decl>
+    <!-- void cds_lfht_first(cds_lfht*, cds_lfht_iter*) -->
+    <function-decl name='cds_lfht_first' mangled-name='cds_lfht_first' filepath='src/rculfhash.c' line='1751' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_first'>
+      <!-- parameter of type 'cds_lfht*' -->
+      <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='1751' column='1'/>
+      <!-- parameter of type 'cds_lfht_iter*' -->
+      <parameter type-id='type-id-106' name='iter' filepath='src/rculfhash.c' line='1751' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-6'/>
+    </function-decl>
+    <!-- void cds_lfht_next(cds_lfht*, cds_lfht_iter*) -->
+    <function-decl name='cds_lfht_next' mangled-name='cds_lfht_next' filepath='src/rculfhash.c' line='1727' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_next'>
+      <!-- parameter of type 'cds_lfht*' -->
+      <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='1727' column='1'/>
+      <!-- parameter of type 'cds_lfht_iter*' -->
+      <parameter type-id='type-id-106' name='iter' filepath='src/rculfhash.c' line='1728' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-6'/>
+    </function-decl>
+    <!-- void cds_lfht_next_duplicate(cds_lfht*, cds_lfht_match_fct, void*, cds_lfht_iter*) -->
+    <function-decl name='cds_lfht_next_duplicate' mangled-name='cds_lfht_next_duplicate' filepath='src/rculfhash.c' line='1692' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_next_duplicate'>
+      <!-- parameter of type 'cds_lfht*' -->
+      <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='1692' column='1'/>
+      <!-- parameter of type 'typedef cds_lfht_match_fct' -->
+      <parameter type-id='type-id-109' name='match' filepath='src/rculfhash.c' line='1693' column='1'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-48' name='key' filepath='src/rculfhash.c' line='1694' column='1'/>
+      <!-- parameter of type 'cds_lfht_iter*' -->
+      <parameter type-id='type-id-106' name='iter' filepath='src/rculfhash.c' line='1694' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-6'/>
+    </function-decl>
+    <!-- void cds_lfht_lookup(cds_lfht*, unsigned long int, cds_lfht_match_fct, void*, cds_lfht_iter*) -->
+    <function-decl name='cds_lfht_lookup' mangled-name='cds_lfht_lookup' filepath='src/rculfhash.c' line='1652' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_lookup'>
+      <!-- parameter of type 'cds_lfht*' -->
+      <parameter type-id='type-id-70' name='ht' filepath='src/rculfhash.c' line='1652' column='1'/>
+      <!-- parameter of type 'unsigned long int' -->
+      <parameter type-id='type-id-39' name='hash' filepath='src/rculfhash.c' line='1652' column='1'/>
+      <!-- parameter of type 'typedef cds_lfht_match_fct' -->
+      <parameter type-id='type-id-109' name='match' filepath='src/rculfhash.c' line='1653' column='1'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-48' name='key' filepath='src/rculfhash.c' line='1653' column='1'/>
+      <!-- parameter of type 'cds_lfht_iter*' -->
+      <parameter type-id='type-id-106' name='iter' filepath='src/rculfhash.c' line='1654' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-6'/>
+    </function-decl>
+    <!-- cds_lfht* _cds_lfht_new(unsigned long int, unsigned long int, unsigned long int, int, const cds_lfht_mm_type*, const rcu_flavor_struct*, pthread_attr_t*) -->
+    <function-decl name='_cds_lfht_new' mangled-name='_cds_lfht_new' filepath='src/rculfhash.c' line='1593' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_cds_lfht_new'>
+      <!-- parameter of type 'unsigned long int' -->
+      <parameter type-id='type-id-39' name='init_size' filepath='src/rculfhash.c' line='1593' column='1'/>
+      <!-- parameter of type 'unsigned long int' -->
+      <parameter type-id='type-id-39' name='min_nr_alloc_buckets' filepath='src/rculfhash.c' line='1594' column='1'/>
+      <!-- parameter of type 'unsigned long int' -->
+      <parameter type-id='type-id-39' name='max_nr_buckets' filepath='src/rculfhash.c' line='1595' column='1'/>
+      <!-- parameter of type 'int' -->
+      <parameter type-id='type-id-3' name='flags' filepath='src/rculfhash.c' line='1596' column='1'/>
+      <!-- parameter of type 'const cds_lfht_mm_type*' -->
+      <parameter type-id='type-id-61' name='mm' filepath='src/rculfhash.c' line='1597' column='1'/>
+      <!-- parameter of type 'const rcu_flavor_struct*' -->
+      <parameter type-id='type-id-62' name='flavor' filepath='src/rculfhash.c' line='1598' column='1'/>
+      <!-- parameter of type 'pthread_attr_t*' -->
+      <parameter type-id='type-id-63' name='attr' filepath='src/rculfhash.c' line='1599' column='1'/>
+      <!-- cds_lfht* -->
+      <return type-id='type-id-70'/>
+    </function-decl>
+    <!-- void cds_lfht_node_init_deleted(cds_lfht_node*) -->
+    <function-decl name='cds_lfht_node_init_deleted' mangled-name='cds_lfht_node_init_deleted' filepath='src/rculfhash.c' line='1587' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_node_init_deleted'>
+      <!-- parameter of type 'cds_lfht_node*' -->
+      <parameter type-id='type-id-74' name='node' filepath='src/rculfhash.c' line='1587' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-6'/>
+    </function-decl>
+    <!-- int cds_lfht_get_count_order_ulong(unsigned long int) -->
+    <function-decl name='cds_lfht_get_count_order_ulong' mangled-name='cds_lfht_get_count_order_ulong' filepath='src/rculfhash.c' line='598' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_get_count_order_ulong'>
+      <!-- parameter of type 'unsigned long int' -->
+      <parameter type-id='type-id-39' name='x' filepath='src/rculfhash.c' line='598' column='1'/>
+      <!-- int -->
+      <return type-id='type-id-3'/>
+    </function-decl>
+    <!-- unsigned int cds_lfht_fls_ulong(unsigned long int) -->
+    <function-decl name='cds_lfht_fls_ulong' mangled-name='cds_lfht_fls_ulong' filepath='src/rculfhash.c' line='572' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_lfht_fls_ulong'>
+      <!-- parameter of type 'unsigned long int' -->
+      <parameter type-id='type-id-39' name='x' filepath='src/rculfhash.c' line='572' column='1'/>
+      <!-- unsigned int -->
+      <return type-id='type-id-33'/>
+    </function-decl>
+    <!-- cds_lfht* (unsigned long int, unsigned long int) -->
+    <function-type size-in-bits='64' id='type-id-71'>
+      <!-- parameter of type 'unsigned long int' -->
+      <parameter type-id='type-id-39'/>
+      <!-- parameter of type 'unsigned long int' -->
+      <parameter type-id='type-id-39'/>
+      <!-- cds_lfht* -->
+      <return type-id='type-id-70'/>
+    </function-type>
+    <!-- cds_lfht_node* (cds_lfht*, unsigned long int) -->
+    <function-type size-in-bits='64' id='type-id-75'>
+      <!-- parameter of type 'cds_lfht*' -->
+      <parameter type-id='type-id-70'/>
+      <!-- parameter of type 'unsigned long int' -->
+      <parameter type-id='type-id-39'/>
+      <!-- cds_lfht_node* -->
+      <return type-id='type-id-74'/>
+    </function-type>
+    <!-- int () -->
+    <function-type size-in-bits='64' id='type-id-83'>
+      <!-- int -->
+      <return type-id='type-id-3'/>
+    </function-type>
+    <!-- int (cds_lfht_node*, void*) -->
+    <function-type size-in-bits='64' id='type-id-107'>
+      <!-- parameter of type 'cds_lfht_node*' -->
+      <parameter type-id='type-id-74'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-48'/>
+      <!-- int -->
+      <return type-id='type-id-3'/>
+    </function-type>
+    <!-- void () -->
+    <function-type size-in-bits='64' id='type-id-82'>
+      <!-- void -->
+      <return type-id='type-id-6'/>
+    </function-type>
+    <!-- void (cds_lfht*, unsigned long int) -->
+    <function-type size-in-bits='64' id='type-id-72'>
+      <!-- parameter of type 'cds_lfht*' -->
+      <parameter type-id='type-id-70'/>
+      <!-- parameter of type 'unsigned long int' -->
+      <parameter type-id='type-id-39'/>
+      <!-- void -->
+      <return type-id='type-id-6'/>
+    </function-type>
+    <!-- void (urcu_atfork*) -->
+    <function-type size-in-bits='64' id='type-id-89'>
+      <!-- parameter of type 'urcu_atfork*' -->
+      <parameter type-id='type-id-88'/>
+      <!-- void -->
+      <return type-id='type-id-6'/>
+    </function-type>
+    <!-- void (void (void*)*, void*) -->
+    <function-type size-in-bits='64' id='type-id-86'>
+      <!-- parameter of type 'void (void*)*' -->
+      <parameter type-id='type-id-85'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-48'/>
+      <!-- void -->
+      <return type-id='type-id-6'/>
+    </function-type>
+    <!-- void (void*) -->
+    <function-type size-in-bits='64' id='type-id-84'>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-48'/>
+      <!-- void -->
+      <return type-id='type-id-6'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='rculfhash-mm-order.c' comp-dir-path='src' language='LANG_C99'>
+    <!-- const cds_lfht_mm_type cds_lfht_mm_order -->
+    <var-decl name='cds_lfht_mm_order' type-id='type-id-76' mangled-name='cds_lfht_mm_order' visibility='default' filepath='../include/urcu/rculfhash.h' line='139' column='1' elf-symbol-id='cds_lfht_mm_order'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='rculfhash-mm-chunk.c' comp-dir-path='src' language='LANG_C99'>
+    <!-- const cds_lfht_mm_type cds_lfht_mm_chunk -->
+    <var-decl name='cds_lfht_mm_chunk' type-id='type-id-76' mangled-name='cds_lfht_mm_chunk' visibility='default' filepath='../include/urcu/rculfhash.h' line='140' column='1' elf-symbol-id='cds_lfht_mm_chunk'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='rculfhash-mm-mmap.c' comp-dir-path='src' language='LANG_C99'>
+    <!-- const cds_lfht_mm_type cds_lfht_mm_mmap -->
+    <var-decl name='cds_lfht_mm_mmap' type-id='type-id-76' mangled-name='cds_lfht_mm_mmap' visibility='default' filepath='../include/urcu/rculfhash.h' line='141' column='1' elf-symbol-id='cds_lfht_mm_mmap'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='compat_futex.c' comp-dir-path='src' language='LANG_C99'>
+    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
+    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-28' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='75' column='1' id='type-id-110'>
+      <data-member access='private'>
+        <!-- __pthread_cond_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-111' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <!-- char __anonymous_union__::__size[48] -->
+        <var-decl name='__size' type-id='type-id-112' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <!-- long long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-113' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='79' column='1'/>
+      </data-member>
+    </union-decl>
+    <!-- struct __pthread_cond_s -->
+    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='171' column='1' id='type-id-111'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- __anonymous_union__  -->
+        <var-decl name='' type-id='type-id-114' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <!-- unsigned int __pthread_cond_s::__g_refs[2] -->
+        <var-decl name='__g_refs' type-id='type-id-115' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <!-- unsigned int __pthread_cond_s::__g_size[2] -->
+        <var-decl name='__g_size' type-id='type-id-115' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='192' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <!-- unsigned int __pthread_cond_s::__g1_orig_size -->
+        <var-decl name='__g1_orig_size' type-id='type-id-33' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='193' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <!-- unsigned int __pthread_cond_s::__wrefs -->
+        <var-decl name='__wrefs' type-id='type-id-33' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <!-- unsigned int __pthread_cond_s::__g_signals[2] -->
+        <var-decl name='__g_signals' type-id='type-id-115' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='195' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='173' column='1' id='type-id-114'>
+      <data-member access='private'>
+        <!-- long long unsigned int __anonymous_union__::__wseq -->
+        <var-decl name='__wseq' type-id='type-id-116' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='175' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <!-- __anonymous_struct__ __anonymous_union__::__wseq32 -->
+        <var-decl name='__wseq32' type-id='type-id-117' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='180' column='1'/>
+      </data-member>
+    </union-decl>
+    <!-- long long unsigned int -->
+    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-116'/>
+    <!-- struct __anonymous_struct__ -->
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='176' column='1' id='type-id-117'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- unsigned int __anonymous_struct__::__low -->
+        <var-decl name='__low' type-id='type-id-33' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='178' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <!-- unsigned int __anonymous_struct__::__high -->
+        <var-decl name='__high' type-id='type-id-33' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='179' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <!-- unsigned int[2] -->
+    <array-type-def dimensions='1' type-id='type-id-33' size-in-bits='64' id='type-id-115'>
+      <!-- <anonymous range>[2] -->
+      <subrange length='2' type-id='type-id-39' id='type-id-118'/>
+
+    </array-type-def>
+
+    <!-- char[48] -->
+    <array-type-def dimensions='1' type-id='type-id-38' size-in-bits='384' id='type-id-112'>
+      <!-- <anonymous range>[48] -->
+      <subrange length='48' type-id='type-id-39' id='type-id-119'/>
+
+    </array-type-def>
+    <!-- long long int -->
+    <type-decl name='long long int' size-in-bits='64' id='type-id-113'/>
+    <!-- typedef __anonymous_union__ pthread_cond_t -->
+    <typedef-decl name='pthread_cond_t' type-id='type-id-110' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='80' column='1' id='type-id-120'/>
+    <!-- pthread_cond_t __urcu_compat_futex_cond -->
+    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-120' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
+    <!-- int32_t* -->
+    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-121'/>
+    <!-- struct timespec -->
+    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='9' column='1' id='type-id-122'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- __time_t timespec::tv_sec -->
+        <var-decl name='tv_sec' type-id='type-id-123' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='11' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- __syscall_slong_t timespec::tv_nsec -->
+        <var-decl name='tv_nsec' type-id='type-id-124' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='12' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- typedef long int __time_t -->
+    <typedef-decl name='__time_t' type-id='type-id-32' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='148' column='1' id='type-id-123'/>
+    <!-- typedef long int __syscall_slong_t -->
+    <typedef-decl name='__syscall_slong_t' type-id='type-id-32' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='184' column='1' id='type-id-124'/>
+    <!-- const timespec -->
+    <qualified-type-def type-id='type-id-122' const='yes' id='type-id-125'/>
+    <!-- const timespec* -->
+    <pointer-type-def type-id='type-id-125' size-in-bits='64' id='type-id-126'/>
+    <!-- int compat_futex_async(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
+    <function-decl name='compat_futex_async' mangled-name='compat_futex_async' filepath='src/compat_futex.c' line='118' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_async'>
+      <!-- parameter of type 'int32_t*' -->
+      <parameter type-id='type-id-121' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
+      <!-- parameter of type 'int' -->
+      <parameter type-id='type-id-3' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
+      <!-- parameter of type 'typedef int32_t' -->
+      <parameter type-id='type-id-46' name='val' filepath='src/compat_futex.c' line='118' column='1'/>
+      <!-- parameter of type 'const timespec*' -->
+      <parameter type-id='type-id-126' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
+      <!-- parameter of type 'int32_t*' -->
+      <parameter type-id='type-id-121' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
+      <!-- parameter of type 'typedef int32_t' -->
+      <parameter type-id='type-id-46' name='val3' filepath='src/compat_futex.c' line='119' column='1'/>
+      <!-- int -->
+      <return type-id='type-id-3'/>
+    </function-decl>
+    <!-- int compat_futex_noasync(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
+    <function-decl name='compat_futex_noasync' mangled-name='compat_futex_noasync' filepath='src/compat_futex.c' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_noasync'>
+      <!-- parameter of type 'int32_t*' -->
+      <parameter type-id='type-id-121' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
+      <!-- parameter of type 'int' -->
+      <parameter type-id='type-id-3' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
+      <!-- parameter of type 'typedef int32_t' -->
+      <parameter type-id='type-id-46' name='val' filepath='src/compat_futex.c' line='54' column='1'/>
+      <!-- parameter of type 'const timespec*' -->
+      <parameter type-id='type-id-126' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
+      <!-- parameter of type 'int32_t*' -->
+      <parameter type-id='type-id-121' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
+      <!-- parameter of type 'typedef int32_t' -->
+      <parameter type-id='type-id-46' name='val3' filepath='src/compat_futex.c' line='55' column='1'/>
+      <!-- int -->
+      <return type-id='type-id-3'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
diff --git a/extras/abi/0.14/x86_64-pc-linux-gnu/liburcu-common.so.8.xml b/extras/abi/0.14/x86_64-pc-linux-gnu/liburcu-common.so.8.xml
new file mode 100644 (file)
index 0000000..c4c1e41
--- /dev/null
@@ -0,0 +1,905 @@
+<abi-corpus architecture='elf-amd-x86_64' soname='liburcu-common.so.8'>
+  <elf-needed>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <!-- __cds_wfcq_dequeue_blocking -->
+    <elf-symbol name='__cds_wfcq_dequeue_blocking' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- __cds_wfcq_dequeue_nonblocking -->
+    <elf-symbol name='__cds_wfcq_dequeue_nonblocking' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- __cds_wfcq_dequeue_with_state_blocking -->
+    <elf-symbol name='__cds_wfcq_dequeue_with_state_blocking' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- __cds_wfcq_dequeue_with_state_nonblocking -->
+    <elf-symbol name='__cds_wfcq_dequeue_with_state_nonblocking' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- __cds_wfcq_first_blocking -->
+    <elf-symbol name='__cds_wfcq_first_blocking' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- __cds_wfcq_first_nonblocking -->
+    <elf-symbol name='__cds_wfcq_first_nonblocking' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- __cds_wfcq_init -->
+    <elf-symbol name='__cds_wfcq_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- __cds_wfcq_next_blocking -->
+    <elf-symbol name='__cds_wfcq_next_blocking' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- __cds_wfcq_next_nonblocking -->
+    <elf-symbol name='__cds_wfcq_next_nonblocking' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- __cds_wfcq_splice_blocking -->
+    <elf-symbol name='__cds_wfcq_splice_blocking' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- __cds_wfcq_splice_nonblocking -->
+    <elf-symbol name='__cds_wfcq_splice_nonblocking' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- __cds_wfq_dequeue_blocking -->
+    <elf-symbol name='__cds_wfq_dequeue_blocking' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- __cds_wfs_init -->
+    <elf-symbol name='__cds_wfs_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- __cds_wfs_pop_all -->
+    <elf-symbol name='__cds_wfs_pop_all' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- __cds_wfs_pop_blocking -->
+    <elf-symbol name='__cds_wfs_pop_blocking' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- __cds_wfs_pop_nonblocking -->
+    <elf-symbol name='__cds_wfs_pop_nonblocking' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- __cds_wfs_pop_with_state_blocking -->
+    <elf-symbol name='__cds_wfs_pop_with_state_blocking' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- __cds_wfs_pop_with_state_nonblocking -->
+    <elf-symbol name='__cds_wfs_pop_with_state_nonblocking' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- _fini -->
+    <elf-symbol name='_fini' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- _init -->
+    <elf-symbol name='_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- cds_wfcq_dequeue_blocking -->
+    <elf-symbol name='cds_wfcq_dequeue_blocking' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- cds_wfcq_dequeue_lock -->
+    <elf-symbol name='cds_wfcq_dequeue_lock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- cds_wfcq_dequeue_unlock -->
+    <elf-symbol name='cds_wfcq_dequeue_unlock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- cds_wfcq_dequeue_with_state_blocking -->
+    <elf-symbol name='cds_wfcq_dequeue_with_state_blocking' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- cds_wfcq_destroy -->
+    <elf-symbol name='cds_wfcq_destroy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- cds_wfcq_empty -->
+    <elf-symbol name='cds_wfcq_empty' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- cds_wfcq_enqueue -->
+    <elf-symbol name='cds_wfcq_enqueue' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- cds_wfcq_init -->
+    <elf-symbol name='cds_wfcq_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- cds_wfcq_node_init -->
+    <elf-symbol name='cds_wfcq_node_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- cds_wfcq_splice_blocking -->
+    <elf-symbol name='cds_wfcq_splice_blocking' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- cds_wfq_dequeue_blocking -->
+    <elf-symbol name='cds_wfq_dequeue_blocking' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- cds_wfq_destroy -->
+    <elf-symbol name='cds_wfq_destroy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- cds_wfq_enqueue -->
+    <elf-symbol name='cds_wfq_enqueue' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- cds_wfq_init -->
+    <elf-symbol name='cds_wfq_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- cds_wfq_node_init -->
+    <elf-symbol name='cds_wfq_node_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- cds_wfs_destroy -->
+    <elf-symbol name='cds_wfs_destroy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- cds_wfs_empty -->
+    <elf-symbol name='cds_wfs_empty' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- cds_wfs_first -->
+    <elf-symbol name='cds_wfs_first' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- cds_wfs_init -->
+    <elf-symbol name='cds_wfs_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- cds_wfs_next_blocking -->
+    <elf-symbol name='cds_wfs_next_blocking' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- cds_wfs_next_nonblocking -->
+    <elf-symbol name='cds_wfs_next_nonblocking' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- cds_wfs_node_init -->
+    <elf-symbol name='cds_wfs_node_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- cds_wfs_pop_all_blocking -->
+    <elf-symbol name='cds_wfs_pop_all_blocking' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- cds_wfs_pop_blocking -->
+    <elf-symbol name='cds_wfs_pop_blocking' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- cds_wfs_pop_lock -->
+    <elf-symbol name='cds_wfs_pop_lock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- cds_wfs_pop_unlock -->
+    <elf-symbol name='cds_wfs_pop_unlock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- cds_wfs_pop_with_state_blocking -->
+    <elf-symbol name='cds_wfs_pop_with_state_blocking' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- cds_wfs_push -->
+    <elf-symbol name='cds_wfs_push' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- compat_futex_async -->
+    <elf-symbol name='compat_futex_async' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- compat_futex_noasync -->
+    <elf-symbol name='compat_futex_noasync' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <elf-variable-symbols>
+    <!-- __urcu_compat_futex_cond -->
+    <elf-symbol name='__urcu_compat_futex_cond' size='48' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- __urcu_compat_futex_lock -->
+    <elf-symbol name='__urcu_compat_futex_lock' size='40' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-variable-symbols>
+  <abi-instr version='1.0' address-size='64' path='wfqueue.c' comp-dir-path='src' language='LANG_C99'>
+    <!-- struct cds_wfq_node -->
+    <class-decl name='cds_wfq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfqueue.h' line='47' column='1' id='type-id-1'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_wfq_node* cds_wfq_node::next -->
+        <var-decl name='next' type-id='type-id-2' visibility='default' filepath='../include/urcu/wfqueue.h' line='48' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- cds_wfq_node* -->
+    <pointer-type-def type-id='type-id-1' size-in-bits='64' id='type-id-2'/>
+    <!-- struct cds_wfq_queue -->
+    <class-decl name='cds_wfq_queue' size-in-bits='512' is-struct='yes' visibility='default' filepath='../include/urcu/wfqueue.h' line='51' column='1' id='type-id-3'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_wfq_node* cds_wfq_queue::head -->
+        <var-decl name='head' type-id='type-id-2' visibility='default' filepath='../include/urcu/wfqueue.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- cds_wfq_node** cds_wfq_queue::tail -->
+        <var-decl name='tail' type-id='type-id-4' visibility='default' filepath='../include/urcu/wfqueue.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <!-- cds_wfq_node cds_wfq_queue::dummy -->
+        <var-decl name='dummy' type-id='type-id-1' visibility='default' filepath='../include/urcu/wfqueue.h' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <!-- pthread_mutex_t cds_wfq_queue::lock -->
+        <var-decl name='lock' type-id='type-id-5' visibility='default' filepath='../include/urcu/wfqueue.h' line='54' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- cds_wfq_node** -->
+    <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-4'/>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='67' column='1' id='type-id-6'>
+      <data-member access='private'>
+        <!-- __pthread_mutex_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-7' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='69' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <!-- char __anonymous_union__::__size[40] -->
+        <var-decl name='__size' type-id='type-id-8' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <!-- long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-9' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='71' column='1'/>
+      </data-member>
+    </union-decl>
+    <!-- struct __pthread_mutex_s -->
+    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='118' column='1' id='type-id-7'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- int __pthread_mutex_s::__lock -->
+        <var-decl name='__lock' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='120' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <!-- unsigned int __pthread_mutex_s::__count -->
+        <var-decl name='__count' type-id='type-id-11' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='121' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- int __pthread_mutex_s::__owner -->
+        <var-decl name='__owner' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='122' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <!-- unsigned int __pthread_mutex_s::__nusers -->
+        <var-decl name='__nusers' type-id='type-id-11' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='124' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <!-- int __pthread_mutex_s::__kind -->
+        <var-decl name='__kind' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='148' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <!-- short int __pthread_mutex_s::__spins -->
+        <var-decl name='__spins' type-id='type-id-12' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <!-- short int __pthread_mutex_s::__elision -->
+        <var-decl name='__elision' type-id='type-id-12' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <!-- __pthread_list_t __pthread_mutex_s::__list -->
+        <var-decl name='__list' type-id='type-id-13' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='155' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- int -->
+    <type-decl name='int' size-in-bits='32' id='type-id-10'/>
+    <!-- unsigned int -->
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-11'/>
+    <!-- short int -->
+    <type-decl name='short int' size-in-bits='16' id='type-id-12'/>
+    <!-- struct __pthread_internal_list -->
+    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='82' column='1' id='type-id-14'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- __pthread_internal_list* __pthread_internal_list::__prev -->
+        <var-decl name='__prev' type-id='type-id-15' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- __pthread_internal_list* __pthread_internal_list::__next -->
+        <var-decl name='__next' type-id='type-id-15' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='85' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- __pthread_internal_list* -->
+    <pointer-type-def type-id='type-id-14' size-in-bits='64' id='type-id-15'/>
+    <!-- typedef __pthread_internal_list __pthread_list_t -->
+    <typedef-decl name='__pthread_list_t' type-id='type-id-14' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='86' column='1' id='type-id-13'/>
+    <!-- char -->
+    <type-decl name='char' size-in-bits='8' id='type-id-16'/>
+    <!-- unsigned long int -->
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-17'/>
+
+    <!-- char[40] -->
+    <array-type-def dimensions='1' type-id='type-id-16' size-in-bits='320' id='type-id-8'>
+      <!-- <anonymous range>[40] -->
+      <subrange length='40' type-id='type-id-17' id='type-id-18'/>
+
+    </array-type-def>
+    <!-- long int -->
+    <type-decl name='long int' size-in-bits='64' id='type-id-9'/>
+    <!-- typedef __anonymous_union__ pthread_mutex_t -->
+    <typedef-decl name='pthread_mutex_t' type-id='type-id-6' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='72' column='1' id='type-id-5'/>
+    <!-- cds_wfq_queue* -->
+    <pointer-type-def type-id='type-id-3' size-in-bits='64' id='type-id-19'/>
+    <!-- cds_wfq_node* cds_wfq_dequeue_blocking(cds_wfq_queue*) -->
+    <function-decl name='cds_wfq_dequeue_blocking' mangled-name='cds_wfq_dequeue_blocking' filepath='src/wfqueue.c' line='59' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfq_dequeue_blocking'>
+      <!-- parameter of type 'cds_wfq_queue*' -->
+      <parameter type-id='type-id-19' name='q' filepath='src/wfqueue.c' line='59' column='1'/>
+      <!-- cds_wfq_node* -->
+      <return type-id='type-id-2'/>
+    </function-decl>
+    <!-- cds_wfq_node* __cds_wfq_dequeue_blocking(cds_wfq_queue*) -->
+    <function-decl name='__cds_wfq_dequeue_blocking' mangled-name='__cds_wfq_dequeue_blocking' filepath='src/wfqueue.c' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfq_dequeue_blocking'>
+      <!-- parameter of type 'cds_wfq_queue*' -->
+      <parameter type-id='type-id-19' name='q' filepath='src/wfqueue.c' line='59' column='1'/>
+      <!-- cds_wfq_node* -->
+      <return type-id='type-id-2'/>
+    </function-decl>
+    <!-- void -->
+    <type-decl name='void' id='type-id-20'/>
+    <!-- void cds_wfq_enqueue(cds_wfq_queue*, cds_wfq_node*) -->
+    <function-decl name='cds_wfq_enqueue' mangled-name='cds_wfq_enqueue' filepath='src/wfqueue.c' line='49' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfq_enqueue'>
+      <!-- parameter of type 'cds_wfq_queue*' -->
+      <parameter type-id='type-id-19' name='q' filepath='src/wfqueue.c' line='49' column='1'/>
+      <!-- parameter of type 'cds_wfq_node*' -->
+      <parameter type-id='type-id-2' name='node' filepath='src/wfqueue.c' line='49' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-20'/>
+    </function-decl>
+    <!-- void cds_wfq_destroy(cds_wfq_queue*) -->
+    <function-decl name='cds_wfq_destroy' mangled-name='cds_wfq_destroy' filepath='src/wfqueue.c' line='44' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfq_destroy'>
+      <!-- parameter of type 'cds_wfq_queue*' -->
+      <parameter type-id='type-id-19' name='q' filepath='src/wfqueue.c' line='44' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-20'/>
+    </function-decl>
+    <!-- void cds_wfq_init(cds_wfq_queue*) -->
+    <function-decl name='cds_wfq_init' mangled-name='cds_wfq_init' filepath='src/wfqueue.c' line='39' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfq_init'>
+      <!-- parameter of type 'cds_wfq_queue*' -->
+      <parameter type-id='type-id-19' name='q' filepath='src/wfqueue.c' line='44' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-20'/>
+    </function-decl>
+    <!-- void cds_wfq_node_init(cds_wfq_node*) -->
+    <function-decl name='cds_wfq_node_init' mangled-name='cds_wfq_node_init' filepath='src/wfqueue.c' line='34' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfq_node_init'>
+      <!-- parameter of type 'cds_wfq_node*' -->
+      <parameter type-id='type-id-2' name='node' filepath='src/wfqueue.c' line='34' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-20'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='wfcqueue.c' comp-dir-path='src' language='LANG_C99'>
+    <!-- struct cds_wfcq_node -->
+    <class-decl name='cds_wfcq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='58' column='1' id='type-id-21'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_wfcq_node* cds_wfcq_node::next -->
+        <var-decl name='next' type-id='type-id-22' visibility='default' filepath='../include/urcu/wfcqueue.h' line='59' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- cds_wfcq_node* -->
+    <pointer-type-def type-id='type-id-21' size-in-bits='64' id='type-id-22'/>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='91' column='1' id='type-id-23'>
+      <data-member access='private'>
+        <!-- __cds_wfcq_head* __anonymous_union__::_h -->
+        <var-decl name='_h' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='92' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <!-- cds_wfcq_head* __anonymous_union__::h -->
+        <var-decl name='h' type-id='type-id-25' visibility='default' filepath='../include/urcu/wfcqueue.h' line='93' column='1'/>
+      </data-member>
+    </union-decl>
+    <!-- struct __cds_wfcq_head -->
+    <class-decl name='__cds_wfcq_head' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='67' column='1' id='type-id-26'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_wfcq_node __cds_wfcq_head::node -->
+        <var-decl name='node' type-id='type-id-21' visibility='default' filepath='../include/urcu/wfcqueue.h' line='68' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- __cds_wfcq_head* -->
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-24'/>
+    <!-- struct cds_wfcq_head -->
+    <class-decl name='cds_wfcq_head' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='71' column='1' id='type-id-27'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_wfcq_node cds_wfcq_head::node -->
+        <var-decl name='node' type-id='type-id-21' visibility='default' filepath='../include/urcu/wfcqueue.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- pthread_mutex_t cds_wfcq_head::lock -->
+        <var-decl name='lock' type-id='type-id-5' visibility='default' filepath='../include/urcu/wfcqueue.h' line='73' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- cds_wfcq_head* -->
+    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-25'/>
+    <!-- typedef __anonymous_union__ cds_wfcq_head_ptr_t -->
+    <typedef-decl name='cds_wfcq_head_ptr_t' type-id='type-id-23' filepath='../include/urcu/wfcqueue.h' line='94' column='1' id='type-id-28'/>
+    <!-- struct cds_wfcq_tail -->
+    <class-decl name='cds_wfcq_tail' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='140' column='1' id='type-id-29'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_wfcq_node* cds_wfcq_tail::p -->
+        <var-decl name='p' type-id='type-id-22' visibility='default' filepath='../include/urcu/wfcqueue.h' line='141' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- cds_wfcq_tail* -->
+    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-30'/>
+    <!-- cds_wfcq_node* __cds_wfcq_next_nonblocking(cds_wfcq_head_ptr_t, cds_wfcq_tail*, cds_wfcq_node*) -->
+    <function-decl name='__cds_wfcq_next_nonblocking' mangled-name='__cds_wfcq_next_nonblocking' filepath='src/wfcqueue.c' line='178' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfcq_next_nonblocking'>
+      <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
+      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='179' column='1'/>
+      <!-- parameter of type 'cds_wfcq_tail*' -->
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='180' column='1'/>
+      <!-- parameter of type 'cds_wfcq_node*' -->
+      <parameter type-id='type-id-22' name='node' filepath='src/wfcqueue.c' line='181' column='1'/>
+      <!-- cds_wfcq_node* -->
+      <return type-id='type-id-22'/>
+    </function-decl>
+    <!-- cds_wfcq_node* __cds_wfcq_next_blocking(cds_wfcq_head_ptr_t, cds_wfcq_tail*, cds_wfcq_node*) -->
+    <function-decl name='__cds_wfcq_next_blocking' mangled-name='__cds_wfcq_next_blocking' filepath='src/wfcqueue.c' line='170' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfcq_next_blocking'>
+      <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
+      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='179' column='1'/>
+      <!-- parameter of type 'cds_wfcq_tail*' -->
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='180' column='1'/>
+      <!-- parameter of type 'cds_wfcq_node*' -->
+      <parameter type-id='type-id-22' name='node' filepath='src/wfcqueue.c' line='181' column='1'/>
+      <!-- cds_wfcq_node* -->
+      <return type-id='type-id-22'/>
+    </function-decl>
+    <!-- cds_wfcq_node* __cds_wfcq_first_nonblocking(cds_wfcq_head_ptr_t, cds_wfcq_tail*) -->
+    <function-decl name='__cds_wfcq_first_nonblocking' mangled-name='__cds_wfcq_first_nonblocking' filepath='src/wfcqueue.c' line='163' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfcq_first_nonblocking'>
+      <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
+      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='164' column='1'/>
+      <!-- parameter of type 'cds_wfcq_tail*' -->
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='165' column='1'/>
+      <!-- cds_wfcq_node* -->
+      <return type-id='type-id-22'/>
+    </function-decl>
+    <!-- cds_wfcq_node* __cds_wfcq_first_blocking(cds_wfcq_head_ptr_t, cds_wfcq_tail*) -->
+    <function-decl name='__cds_wfcq_first_blocking' mangled-name='__cds_wfcq_first_blocking' filepath='src/wfcqueue.c' line='156' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfcq_first_blocking'>
+      <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
+      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='164' column='1'/>
+      <!-- parameter of type 'cds_wfcq_tail*' -->
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='165' column='1'/>
+      <!-- cds_wfcq_node* -->
+      <return type-id='type-id-22'/>
+    </function-decl>
+    <!-- unnamed&#45;enum&#45;underlying&#45;type -->
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-31'/>
+    <!-- enum cds_wfcq_ret -->
+    <enum-decl name='cds_wfcq_ret' filepath='../include/urcu/wfcqueue.h' line='47' column='1' id='type-id-32'>
+      <underlying-type type-id='type-id-31'/>
+      <enumerator name='CDS_WFCQ_RET_WOULDBLOCK' value='-1'/>
+      <enumerator name='CDS_WFCQ_RET_DEST_EMPTY' value='0'/>
+      <enumerator name='CDS_WFCQ_RET_DEST_NON_EMPTY' value='1'/>
+      <enumerator name='CDS_WFCQ_RET_SRC_EMPTY' value='2'/>
+    </enum-decl>
+    <!-- cds_wfcq_ret __cds_wfcq_splice_nonblocking(cds_wfcq_head_ptr_t, cds_wfcq_tail*, cds_wfcq_head_ptr_t, cds_wfcq_tail*) -->
+    <function-decl name='__cds_wfcq_splice_nonblocking' mangled-name='__cds_wfcq_splice_nonblocking' filepath='src/wfcqueue.c' line='146' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfcq_splice_nonblocking'>
+      <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
+      <parameter type-id='type-id-28' name='dest_q_head' filepath='src/wfcqueue.c' line='147' column='1'/>
+      <!-- parameter of type 'cds_wfcq_tail*' -->
+      <parameter type-id='type-id-30' name='dest_q_tail' filepath='src/wfcqueue.c' line='148' column='1'/>
+      <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
+      <parameter type-id='type-id-28' name='src_q_head' filepath='src/wfcqueue.c' line='149' column='1'/>
+      <!-- parameter of type 'cds_wfcq_tail*' -->
+      <parameter type-id='type-id-30' name='src_q_tail' filepath='src/wfcqueue.c' line='150' column='1'/>
+      <!-- enum cds_wfcq_ret -->
+      <return type-id='type-id-32'/>
+    </function-decl>
+    <!-- cds_wfcq_ret __cds_wfcq_splice_blocking(cds_wfcq_head_ptr_t, cds_wfcq_tail*, cds_wfcq_head_ptr_t, cds_wfcq_tail*) -->
+    <function-decl name='__cds_wfcq_splice_blocking' mangled-name='__cds_wfcq_splice_blocking' filepath='src/wfcqueue.c' line='136' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfcq_splice_blocking'>
+      <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
+      <parameter type-id='type-id-28' name='dest_q_head' filepath='src/wfcqueue.c' line='147' column='1'/>
+      <!-- parameter of type 'cds_wfcq_tail*' -->
+      <parameter type-id='type-id-30' name='dest_q_tail' filepath='src/wfcqueue.c' line='148' column='1'/>
+      <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
+      <parameter type-id='type-id-28' name='src_q_head' filepath='src/wfcqueue.c' line='149' column='1'/>
+      <!-- parameter of type 'cds_wfcq_tail*' -->
+      <parameter type-id='type-id-30' name='src_q_tail' filepath='src/wfcqueue.c' line='150' column='1'/>
+      <!-- enum cds_wfcq_ret -->
+      <return type-id='type-id-32'/>
+    </function-decl>
+    <!-- int* -->
+    <pointer-type-def type-id='type-id-10' size-in-bits='64' id='type-id-33'/>
+    <!-- cds_wfcq_node* __cds_wfcq_dequeue_with_state_nonblocking(cds_wfcq_head_ptr_t, cds_wfcq_tail*, int*) -->
+    <function-decl name='__cds_wfcq_dequeue_with_state_nonblocking' mangled-name='__cds_wfcq_dequeue_with_state_nonblocking' filepath='src/wfcqueue.c' line='128' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfcq_dequeue_with_state_nonblocking'>
+      <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
+      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='129' column='1'/>
+      <!-- parameter of type 'cds_wfcq_tail*' -->
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='130' column='1'/>
+      <!-- parameter of type 'int*' -->
+      <parameter type-id='type-id-33' name='state' filepath='src/wfcqueue.c' line='131' column='1'/>
+      <!-- cds_wfcq_node* -->
+      <return type-id='type-id-22'/>
+    </function-decl>
+    <!-- cds_wfcq_node* __cds_wfcq_dequeue_nonblocking(cds_wfcq_head_ptr_t, cds_wfcq_tail*) -->
+    <function-decl name='__cds_wfcq_dequeue_nonblocking' mangled-name='__cds_wfcq_dequeue_nonblocking' filepath='src/wfcqueue.c' line='121' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfcq_dequeue_nonblocking'>
+      <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
+      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='164' column='1'/>
+      <!-- parameter of type 'cds_wfcq_tail*' -->
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='165' column='1'/>
+      <!-- cds_wfcq_node* -->
+      <return type-id='type-id-22'/>
+    </function-decl>
+    <!-- cds_wfcq_node* __cds_wfcq_dequeue_with_state_blocking(cds_wfcq_head_ptr_t, cds_wfcq_tail*, int*) -->
+    <function-decl name='__cds_wfcq_dequeue_with_state_blocking' mangled-name='__cds_wfcq_dequeue_with_state_blocking' filepath='src/wfcqueue.c' line='113' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfcq_dequeue_with_state_blocking'>
+      <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
+      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='129' column='1'/>
+      <!-- parameter of type 'cds_wfcq_tail*' -->
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='130' column='1'/>
+      <!-- parameter of type 'int*' -->
+      <parameter type-id='type-id-33' name='state' filepath='src/wfcqueue.c' line='131' column='1'/>
+      <!-- cds_wfcq_node* -->
+      <return type-id='type-id-22'/>
+    </function-decl>
+    <!-- cds_wfcq_node* __cds_wfcq_dequeue_blocking(cds_wfcq_head_ptr_t, cds_wfcq_tail*) -->
+    <function-decl name='__cds_wfcq_dequeue_blocking' mangled-name='__cds_wfcq_dequeue_blocking' filepath='src/wfcqueue.c' line='106' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfcq_dequeue_blocking'>
+      <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
+      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='164' column='1'/>
+      <!-- parameter of type 'cds_wfcq_tail*' -->
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='165' column='1'/>
+      <!-- cds_wfcq_node* -->
+      <return type-id='type-id-22'/>
+    </function-decl>
+    <!-- cds_wfcq_ret cds_wfcq_splice_blocking(cds_wfcq_head*, cds_wfcq_tail*, cds_wfcq_head*, cds_wfcq_tail*) -->
+    <function-decl name='cds_wfcq_splice_blocking' mangled-name='cds_wfcq_splice_blocking' filepath='src/wfcqueue.c' line='96' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfcq_splice_blocking'>
+      <!-- parameter of type 'cds_wfcq_head*' -->
+      <parameter type-id='type-id-25' name='dest_q_head' filepath='src/wfcqueue.c' line='97' column='1'/>
+      <!-- parameter of type 'cds_wfcq_tail*' -->
+      <parameter type-id='type-id-30' name='dest_q_tail' filepath='src/wfcqueue.c' line='98' column='1'/>
+      <!-- parameter of type 'cds_wfcq_head*' -->
+      <parameter type-id='type-id-25' name='src_q_head' filepath='src/wfcqueue.c' line='99' column='1'/>
+      <!-- parameter of type 'cds_wfcq_tail*' -->
+      <parameter type-id='type-id-30' name='src_q_tail' filepath='src/wfcqueue.c' line='100' column='1'/>
+      <!-- enum cds_wfcq_ret -->
+      <return type-id='type-id-32'/>
+    </function-decl>
+    <!-- cds_wfcq_node* cds_wfcq_dequeue_with_state_blocking(cds_wfcq_head*, cds_wfcq_tail*, int*) -->
+    <function-decl name='cds_wfcq_dequeue_with_state_blocking' mangled-name='cds_wfcq_dequeue_with_state_blocking' filepath='src/wfcqueue.c' line='88' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfcq_dequeue_with_state_blocking'>
+      <!-- parameter of type 'cds_wfcq_head*' -->
+      <parameter type-id='type-id-25' name='head' filepath='src/wfcqueue.c' line='89' column='1'/>
+      <!-- parameter of type 'cds_wfcq_tail*' -->
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='90' column='1'/>
+      <!-- parameter of type 'int*' -->
+      <parameter type-id='type-id-33' name='state' filepath='src/wfcqueue.c' line='91' column='1'/>
+      <!-- cds_wfcq_node* -->
+      <return type-id='type-id-22'/>
+    </function-decl>
+    <!-- cds_wfcq_node* cds_wfcq_dequeue_blocking(cds_wfcq_head*, cds_wfcq_tail*) -->
+    <function-decl name='cds_wfcq_dequeue_blocking' mangled-name='cds_wfcq_dequeue_blocking' filepath='src/wfcqueue.c' line='81' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfcq_dequeue_blocking'>
+      <!-- parameter of type 'cds_wfcq_head*' -->
+      <parameter type-id='type-id-25' name='head' filepath='src/wfcqueue.c' line='82' column='1'/>
+      <!-- parameter of type 'cds_wfcq_tail*' -->
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='83' column='1'/>
+      <!-- cds_wfcq_node* -->
+      <return type-id='type-id-22'/>
+    </function-decl>
+    <!-- void cds_wfcq_dequeue_unlock(cds_wfcq_head*, cds_wfcq_tail*) -->
+    <function-decl name='cds_wfcq_dequeue_unlock' mangled-name='cds_wfcq_dequeue_unlock' filepath='src/wfcqueue.c' line='75' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfcq_dequeue_unlock'>
+      <!-- parameter of type 'cds_wfcq_head*' -->
+      <parameter type-id='type-id-25' name='head' filepath='src/wfcqueue.c' line='75' column='1'/>
+      <!-- parameter of type 'cds_wfcq_tail*' -->
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='76' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-20'/>
+    </function-decl>
+    <!-- void cds_wfcq_dequeue_lock(cds_wfcq_head*, cds_wfcq_tail*) -->
+    <function-decl name='cds_wfcq_dequeue_lock' mangled-name='cds_wfcq_dequeue_lock' filepath='src/wfcqueue.c' line='69' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfcq_dequeue_lock'>
+      <!-- parameter of type 'cds_wfcq_head*' -->
+      <parameter type-id='type-id-25' name='head' filepath='src/wfcqueue.c' line='75' column='1'/>
+      <!-- parameter of type 'cds_wfcq_tail*' -->
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='76' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-20'/>
+    </function-decl>
+    <!-- bool -->
+    <type-decl name='bool' size-in-bits='8' id='type-id-34'/>
+    <!-- bool cds_wfcq_enqueue(cds_wfcq_head_ptr_t, cds_wfcq_tail*, cds_wfcq_node*) -->
+    <function-decl name='cds_wfcq_enqueue' mangled-name='cds_wfcq_enqueue' filepath='src/wfcqueue.c' line='62' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfcq_enqueue'>
+      <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
+      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='62' column='1'/>
+      <!-- parameter of type 'cds_wfcq_tail*' -->
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='63' column='1'/>
+      <!-- parameter of type 'cds_wfcq_node*' -->
+      <parameter type-id='type-id-22' name='node' filepath='src/wfcqueue.c' line='64' column='1'/>
+      <!-- bool -->
+      <return type-id='type-id-34'/>
+    </function-decl>
+    <!-- bool cds_wfcq_empty(cds_wfcq_head_ptr_t, cds_wfcq_tail*) -->
+    <function-decl name='cds_wfcq_empty' mangled-name='cds_wfcq_empty' filepath='src/wfcqueue.c' line='55' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfcq_empty'>
+      <!-- parameter of type 'typedef cds_wfcq_head_ptr_t' -->
+      <parameter type-id='type-id-28' name='head' filepath='src/wfcqueue.c' line='55' column='1'/>
+      <!-- parameter of type 'cds_wfcq_tail*' -->
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='56' column='1'/>
+      <!-- bool -->
+      <return type-id='type-id-34'/>
+    </function-decl>
+    <!-- void __cds_wfcq_init(__cds_wfcq_head*, cds_wfcq_tail*) -->
+    <function-decl name='__cds_wfcq_init' mangled-name='__cds_wfcq_init' filepath='src/wfcqueue.c' line='49' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfcq_init'>
+      <!-- parameter of type '__cds_wfcq_head*' -->
+      <parameter type-id='type-id-24' name='head' filepath='src/wfcqueue.c' line='49' column='1'/>
+      <!-- parameter of type 'cds_wfcq_tail*' -->
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='50' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-20'/>
+    </function-decl>
+    <!-- void cds_wfcq_destroy(cds_wfcq_head*, cds_wfcq_tail*) -->
+    <function-decl name='cds_wfcq_destroy' mangled-name='cds_wfcq_destroy' filepath='src/wfcqueue.c' line='43' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfcq_destroy'>
+      <!-- parameter of type 'cds_wfcq_head*' -->
+      <parameter type-id='type-id-25' name='head' filepath='src/wfcqueue.c' line='75' column='1'/>
+      <!-- parameter of type 'cds_wfcq_tail*' -->
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='76' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-20'/>
+    </function-decl>
+    <!-- void cds_wfcq_init(cds_wfcq_head*, cds_wfcq_tail*) -->
+    <function-decl name='cds_wfcq_init' mangled-name='cds_wfcq_init' filepath='src/wfcqueue.c' line='37' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfcq_init'>
+      <!-- parameter of type 'cds_wfcq_head*' -->
+      <parameter type-id='type-id-25' name='head' filepath='src/wfcqueue.c' line='75' column='1'/>
+      <!-- parameter of type 'cds_wfcq_tail*' -->
+      <parameter type-id='type-id-30' name='tail' filepath='src/wfcqueue.c' line='76' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-20'/>
+    </function-decl>
+    <!-- void cds_wfcq_node_init(cds_wfcq_node*) -->
+    <function-decl name='cds_wfcq_node_init' mangled-name='cds_wfcq_node_init' filepath='src/wfcqueue.c' line='32' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfcq_node_init'>
+      <!-- parameter of type 'cds_wfcq_node*' -->
+      <parameter type-id='type-id-22' name='node' filepath='src/wfcqueue.c' line='32' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-20'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='wfstack.c' comp-dir-path='src' language='LANG_C99'>
+    <!-- struct cds_wfs_head -->
+    <class-decl name='cds_wfs_head' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfstack.h' line='81' column='1' id='type-id-35'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_wfs_node cds_wfs_head::node -->
+        <var-decl name='node' type-id='type-id-36' visibility='default' filepath='../include/urcu/wfstack.h' line='82' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- struct cds_wfs_node -->
+    <class-decl name='cds_wfs_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfstack.h' line='71' column='1' id='type-id-36'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_wfs_node* cds_wfs_node::next -->
+        <var-decl name='next' type-id='type-id-37' visibility='default' filepath='../include/urcu/wfstack.h' line='72' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- cds_wfs_node* -->
+    <pointer-type-def type-id='type-id-36' size-in-bits='64' id='type-id-37'/>
+    <!-- cds_wfs_head* -->
+    <pointer-type-def type-id='type-id-35' size-in-bits='64' id='type-id-38'/>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../include/urcu/wfstack.h' line='109' column='1' id='type-id-39'>
+      <data-member access='private'>
+        <!-- __cds_wfs_stack* __anonymous_union__::_s -->
+        <var-decl name='_s' type-id='type-id-40' visibility='default' filepath='../include/urcu/wfstack.h' line='110' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <!-- cds_wfs_stack* __anonymous_union__::s -->
+        <var-decl name='s' type-id='type-id-41' visibility='default' filepath='../include/urcu/wfstack.h' line='111' column='1'/>
+      </data-member>
+    </union-decl>
+    <!-- struct __cds_wfs_stack -->
+    <class-decl name='__cds_wfs_stack' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfstack.h' line='85' column='1' id='type-id-42'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_wfs_head* __cds_wfs_stack::head -->
+        <var-decl name='head' type-id='type-id-38' visibility='default' filepath='../include/urcu/wfstack.h' line='86' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- __cds_wfs_stack* -->
+    <pointer-type-def type-id='type-id-42' size-in-bits='64' id='type-id-40'/>
+    <!-- struct cds_wfs_stack -->
+    <class-decl name='cds_wfs_stack' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfstack.h' line='89' column='1' id='type-id-43'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_wfs_head* cds_wfs_stack::head -->
+        <var-decl name='head' type-id='type-id-38' visibility='default' filepath='../include/urcu/wfstack.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- pthread_mutex_t cds_wfs_stack::lock -->
+        <var-decl name='lock' type-id='type-id-5' visibility='default' filepath='../include/urcu/wfstack.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- cds_wfs_stack* -->
+    <pointer-type-def type-id='type-id-43' size-in-bits='64' id='type-id-41'/>
+    <!-- typedef __anonymous_union__ cds_wfs_stack_ptr_t -->
+    <typedef-decl name='cds_wfs_stack_ptr_t' type-id='type-id-39' filepath='../include/urcu/wfstack.h' line='112' column='1' id='type-id-44'/>
+    <!-- cds_wfs_head* __cds_wfs_pop_all(cds_wfs_stack_ptr_t) -->
+    <function-decl name='__cds_wfs_pop_all' mangled-name='__cds_wfs_pop_all' filepath='src/wfstack.c' line='126' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfs_pop_all'>
+      <!-- parameter of type 'typedef cds_wfs_stack_ptr_t' -->
+      <parameter type-id='type-id-44' name='u_stack' filepath='src/wfstack.c' line='126' column='1'/>
+      <!-- cds_wfs_head* -->
+      <return type-id='type-id-38'/>
+    </function-decl>
+    <!-- cds_wfs_node* __cds_wfs_pop_with_state_nonblocking(cds_wfs_stack_ptr_t, int*) -->
+    <function-decl name='__cds_wfs_pop_with_state_nonblocking' mangled-name='__cds_wfs_pop_with_state_nonblocking' filepath='src/wfstack.c' line='120' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfs_pop_with_state_nonblocking'>
+      <!-- parameter of type 'typedef cds_wfs_stack_ptr_t' -->
+      <parameter type-id='type-id-44' name='u_stack' filepath='src/wfstack.c' line='120' column='1'/>
+      <!-- parameter of type 'int*' -->
+      <parameter type-id='type-id-33' name='state' filepath='src/wfstack.c' line='121' column='1'/>
+      <!-- cds_wfs_node* -->
+      <return type-id='type-id-37'/>
+    </function-decl>
+    <!-- cds_wfs_node* __cds_wfs_pop_nonblocking(cds_wfs_stack_ptr_t) -->
+    <function-decl name='__cds_wfs_pop_nonblocking' mangled-name='__cds_wfs_pop_nonblocking' filepath='src/wfstack.c' line='114' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfs_pop_nonblocking'>
+      <!-- parameter of type 'typedef cds_wfs_stack_ptr_t' -->
+      <parameter type-id='type-id-44' name='u_stack' filepath='src/wfstack.c' line='114' column='1'/>
+      <!-- cds_wfs_node* -->
+      <return type-id='type-id-37'/>
+    </function-decl>
+    <!-- cds_wfs_node* __cds_wfs_pop_with_state_blocking(cds_wfs_stack_ptr_t, int*) -->
+    <function-decl name='__cds_wfs_pop_with_state_blocking' mangled-name='__cds_wfs_pop_with_state_blocking' filepath='src/wfstack.c' line='108' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfs_pop_with_state_blocking'>
+      <!-- parameter of type 'typedef cds_wfs_stack_ptr_t' -->
+      <parameter type-id='type-id-44' name='u_stack' filepath='src/wfstack.c' line='120' column='1'/>
+      <!-- parameter of type 'int*' -->
+      <parameter type-id='type-id-33' name='state' filepath='src/wfstack.c' line='121' column='1'/>
+      <!-- cds_wfs_node* -->
+      <return type-id='type-id-37'/>
+    </function-decl>
+    <!-- cds_wfs_node* __cds_wfs_pop_blocking(cds_wfs_stack_ptr_t) -->
+    <function-decl name='__cds_wfs_pop_blocking' mangled-name='__cds_wfs_pop_blocking' filepath='src/wfstack.c' line='102' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfs_pop_blocking'>
+      <!-- parameter of type 'typedef cds_wfs_stack_ptr_t' -->
+      <parameter type-id='type-id-44' name='u_stack' filepath='src/wfstack.c' line='114' column='1'/>
+      <!-- cds_wfs_node* -->
+      <return type-id='type-id-37'/>
+    </function-decl>
+    <!-- void cds_wfs_pop_unlock(cds_wfs_stack*) -->
+    <function-decl name='cds_wfs_pop_unlock' mangled-name='cds_wfs_pop_unlock' filepath='src/wfstack.c' line='97' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfs_pop_unlock'>
+      <!-- parameter of type 'cds_wfs_stack*' -->
+      <parameter type-id='type-id-41' name='s' filepath='src/wfstack.c' line='97' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-20'/>
+    </function-decl>
+    <!-- void cds_wfs_pop_lock(cds_wfs_stack*) -->
+    <function-decl name='cds_wfs_pop_lock' mangled-name='cds_wfs_pop_lock' filepath='src/wfstack.c' line='92' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfs_pop_lock'>
+      <!-- parameter of type 'cds_wfs_stack*' -->
+      <parameter type-id='type-id-41' name='s' filepath='src/wfstack.c' line='97' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-20'/>
+    </function-decl>
+    <!-- cds_wfs_node* cds_wfs_next_nonblocking(cds_wfs_node*) -->
+    <function-decl name='cds_wfs_next_nonblocking' mangled-name='cds_wfs_next_nonblocking' filepath='src/wfstack.c' line='87' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfs_next_nonblocking'>
+      <!-- parameter of type 'cds_wfs_node*' -->
+      <parameter type-id='type-id-37' name='node' filepath='src/wfstack.c' line='87' column='1'/>
+      <!-- cds_wfs_node* -->
+      <return type-id='type-id-37'/>
+    </function-decl>
+    <!-- cds_wfs_node* cds_wfs_next_blocking(cds_wfs_node*) -->
+    <function-decl name='cds_wfs_next_blocking' mangled-name='cds_wfs_next_blocking' filepath='src/wfstack.c' line='82' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfs_next_blocking'>
+      <!-- parameter of type 'cds_wfs_node*' -->
+      <parameter type-id='type-id-37' name='node' filepath='src/wfstack.c' line='87' column='1'/>
+      <!-- cds_wfs_node* -->
+      <return type-id='type-id-37'/>
+    </function-decl>
+    <!-- cds_wfs_node* cds_wfs_first(cds_wfs_head*) -->
+    <function-decl name='cds_wfs_first' mangled-name='cds_wfs_first' filepath='src/wfstack.c' line='77' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfs_first'>
+      <!-- parameter of type 'cds_wfs_head*' -->
+      <parameter type-id='type-id-38' name='head' filepath='src/wfstack.c' line='77' column='1'/>
+      <!-- cds_wfs_node* -->
+      <return type-id='type-id-37'/>
+    </function-decl>
+    <!-- cds_wfs_head* cds_wfs_pop_all_blocking(cds_wfs_stack*) -->
+    <function-decl name='cds_wfs_pop_all_blocking' mangled-name='cds_wfs_pop_all_blocking' filepath='src/wfstack.c' line='72' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfs_pop_all_blocking'>
+      <!-- parameter of type 'cds_wfs_stack*' -->
+      <parameter type-id='type-id-41' name='s' filepath='src/wfstack.c' line='72' column='1'/>
+      <!-- cds_wfs_head* -->
+      <return type-id='type-id-38'/>
+    </function-decl>
+    <!-- cds_wfs_node* cds_wfs_pop_with_state_blocking(cds_wfs_stack*, int*) -->
+    <function-decl name='cds_wfs_pop_with_state_blocking' mangled-name='cds_wfs_pop_with_state_blocking' filepath='src/wfstack.c' line='67' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfs_pop_with_state_blocking'>
+      <!-- parameter of type 'cds_wfs_stack*' -->
+      <parameter type-id='type-id-41' name='s' filepath='src/wfstack.c' line='67' column='1'/>
+      <!-- parameter of type 'int*' -->
+      <parameter type-id='type-id-33' name='state' filepath='src/wfstack.c' line='67' column='1'/>
+      <!-- cds_wfs_node* -->
+      <return type-id='type-id-37'/>
+    </function-decl>
+    <!-- cds_wfs_node* cds_wfs_pop_blocking(cds_wfs_stack*) -->
+    <function-decl name='cds_wfs_pop_blocking' mangled-name='cds_wfs_pop_blocking' filepath='src/wfstack.c' line='61' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfs_pop_blocking'>
+      <!-- parameter of type 'cds_wfs_stack*' -->
+      <parameter type-id='type-id-41' name='s' filepath='src/wfstack.c' line='61' column='1'/>
+      <!-- cds_wfs_node* -->
+      <return type-id='type-id-37'/>
+    </function-decl>
+    <!-- int cds_wfs_push(cds_wfs_stack_ptr_t, cds_wfs_node*) -->
+    <function-decl name='cds_wfs_push' mangled-name='cds_wfs_push' filepath='src/wfstack.c' line='56' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfs_push'>
+      <!-- parameter of type 'typedef cds_wfs_stack_ptr_t' -->
+      <parameter type-id='type-id-44' name='u_stack' filepath='src/wfstack.c' line='56' column='1'/>
+      <!-- parameter of type 'cds_wfs_node*' -->
+      <parameter type-id='type-id-37' name='node' filepath='src/wfstack.c' line='56' column='1'/>
+      <!-- int -->
+      <return type-id='type-id-10'/>
+    </function-decl>
+    <!-- bool cds_wfs_empty(cds_wfs_stack_ptr_t) -->
+    <function-decl name='cds_wfs_empty' mangled-name='cds_wfs_empty' filepath='src/wfstack.c' line='51' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfs_empty'>
+      <!-- parameter of type 'typedef cds_wfs_stack_ptr_t' -->
+      <parameter type-id='type-id-44' name='u_stack' filepath='src/wfstack.c' line='51' column='1'/>
+      <!-- bool -->
+      <return type-id='type-id-34'/>
+    </function-decl>
+    <!-- void __cds_wfs_init(__cds_wfs_stack*) -->
+    <function-decl name='__cds_wfs_init' mangled-name='__cds_wfs_init' filepath='src/wfstack.c' line='46' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cds_wfs_init'>
+      <!-- parameter of type '__cds_wfs_stack*' -->
+      <parameter type-id='type-id-40' name='s' filepath='src/wfstack.c' line='46' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-20'/>
+    </function-decl>
+    <!-- void cds_wfs_destroy(cds_wfs_stack*) -->
+    <function-decl name='cds_wfs_destroy' mangled-name='cds_wfs_destroy' filepath='src/wfstack.c' line='41' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfs_destroy'>
+      <!-- parameter of type 'cds_wfs_stack*' -->
+      <parameter type-id='type-id-41' name='s' filepath='src/wfstack.c' line='97' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-20'/>
+    </function-decl>
+    <!-- void cds_wfs_init(cds_wfs_stack*) -->
+    <function-decl name='cds_wfs_init' mangled-name='cds_wfs_init' filepath='src/wfstack.c' line='36' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfs_init'>
+      <!-- parameter of type 'cds_wfs_stack*' -->
+      <parameter type-id='type-id-41' name='s' filepath='src/wfstack.c' line='97' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-20'/>
+    </function-decl>
+    <!-- void cds_wfs_node_init(cds_wfs_node*) -->
+    <function-decl name='cds_wfs_node_init' mangled-name='cds_wfs_node_init' filepath='src/wfstack.c' line='31' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cds_wfs_node_init'>
+      <!-- parameter of type 'cds_wfs_node*' -->
+      <parameter type-id='type-id-37' name='node' filepath='src/wfstack.c' line='31' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-20'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='compat_futex.c' comp-dir-path='src' language='LANG_C99'>
+    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
+    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-5' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='75' column='1' id='type-id-45'>
+      <data-member access='private'>
+        <!-- __pthread_cond_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-46' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <!-- char __anonymous_union__::__size[48] -->
+        <var-decl name='__size' type-id='type-id-47' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <!-- long long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-48' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='79' column='1'/>
+      </data-member>
+    </union-decl>
+    <!-- struct __pthread_cond_s -->
+    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='171' column='1' id='type-id-46'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- __anonymous_union__  -->
+        <var-decl name='' type-id='type-id-49' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <!-- unsigned int __pthread_cond_s::__g_refs[2] -->
+        <var-decl name='__g_refs' type-id='type-id-50' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <!-- unsigned int __pthread_cond_s::__g_size[2] -->
+        <var-decl name='__g_size' type-id='type-id-50' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='192' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <!-- unsigned int __pthread_cond_s::__g1_orig_size -->
+        <var-decl name='__g1_orig_size' type-id='type-id-11' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='193' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <!-- unsigned int __pthread_cond_s::__wrefs -->
+        <var-decl name='__wrefs' type-id='type-id-11' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <!-- unsigned int __pthread_cond_s::__g_signals[2] -->
+        <var-decl name='__g_signals' type-id='type-id-50' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='195' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='173' column='1' id='type-id-49'>
+      <data-member access='private'>
+        <!-- long long unsigned int __anonymous_union__::__wseq -->
+        <var-decl name='__wseq' type-id='type-id-51' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='175' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <!-- __anonymous_struct__ __anonymous_union__::__wseq32 -->
+        <var-decl name='__wseq32' type-id='type-id-52' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='180' column='1'/>
+      </data-member>
+    </union-decl>
+    <!-- long long unsigned int -->
+    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-51'/>
+    <!-- struct __anonymous_struct__ -->
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='176' column='1' id='type-id-52'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- unsigned int __anonymous_struct__::__low -->
+        <var-decl name='__low' type-id='type-id-11' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='178' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <!-- unsigned int __anonymous_struct__::__high -->
+        <var-decl name='__high' type-id='type-id-11' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='179' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <!-- unsigned int[2] -->
+    <array-type-def dimensions='1' type-id='type-id-11' size-in-bits='64' id='type-id-50'>
+      <!-- <anonymous range>[2] -->
+      <subrange length='2' type-id='type-id-17' id='type-id-53'/>
+
+    </array-type-def>
+
+    <!-- char[48] -->
+    <array-type-def dimensions='1' type-id='type-id-16' size-in-bits='384' id='type-id-47'>
+      <!-- <anonymous range>[48] -->
+      <subrange length='48' type-id='type-id-17' id='type-id-54'/>
+
+    </array-type-def>
+    <!-- long long int -->
+    <type-decl name='long long int' size-in-bits='64' id='type-id-48'/>
+    <!-- typedef __anonymous_union__ pthread_cond_t -->
+    <typedef-decl name='pthread_cond_t' type-id='type-id-45' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='80' column='1' id='type-id-55'/>
+    <!-- pthread_cond_t __urcu_compat_futex_cond -->
+    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-55' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
+    <!-- typedef int __int32_t -->
+    <typedef-decl name='__int32_t' type-id='type-id-10' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='40' column='1' id='type-id-56'/>
+    <!-- typedef __int32_t int32_t -->
+    <typedef-decl name='int32_t' type-id='type-id-56' filepath='/usr/include/x86_64-linux-gnu/bits/stdint-intn.h' line='26' column='1' id='type-id-57'/>
+    <!-- int32_t* -->
+    <pointer-type-def type-id='type-id-57' size-in-bits='64' id='type-id-58'/>
+    <!-- struct timespec -->
+    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='9' column='1' id='type-id-59'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- __time_t timespec::tv_sec -->
+        <var-decl name='tv_sec' type-id='type-id-60' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='11' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- __syscall_slong_t timespec::tv_nsec -->
+        <var-decl name='tv_nsec' type-id='type-id-61' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='12' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- typedef long int __time_t -->
+    <typedef-decl name='__time_t' type-id='type-id-9' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='148' column='1' id='type-id-60'/>
+    <!-- typedef long int __syscall_slong_t -->
+    <typedef-decl name='__syscall_slong_t' type-id='type-id-9' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='184' column='1' id='type-id-61'/>
+    <!-- const timespec -->
+    <qualified-type-def type-id='type-id-59' const='yes' id='type-id-62'/>
+    <!-- const timespec* -->
+    <pointer-type-def type-id='type-id-62' size-in-bits='64' id='type-id-63'/>
+    <!-- int compat_futex_async(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
+    <function-decl name='compat_futex_async' mangled-name='compat_futex_async' filepath='src/compat_futex.c' line='118' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_async'>
+      <!-- parameter of type 'int32_t*' -->
+      <parameter type-id='type-id-58' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
+      <!-- parameter of type 'int' -->
+      <parameter type-id='type-id-10' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
+      <!-- parameter of type 'typedef int32_t' -->
+      <parameter type-id='type-id-57' name='val' filepath='src/compat_futex.c' line='118' column='1'/>
+      <!-- parameter of type 'const timespec*' -->
+      <parameter type-id='type-id-63' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
+      <!-- parameter of type 'int32_t*' -->
+      <parameter type-id='type-id-58' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
+      <!-- parameter of type 'typedef int32_t' -->
+      <parameter type-id='type-id-57' name='val3' filepath='src/compat_futex.c' line='119' column='1'/>
+      <!-- int -->
+      <return type-id='type-id-10'/>
+    </function-decl>
+    <!-- int compat_futex_noasync(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
+    <function-decl name='compat_futex_noasync' mangled-name='compat_futex_noasync' filepath='src/compat_futex.c' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_noasync'>
+      <!-- parameter of type 'int32_t*' -->
+      <parameter type-id='type-id-58' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
+      <!-- parameter of type 'int' -->
+      <parameter type-id='type-id-10' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
+      <!-- parameter of type 'typedef int32_t' -->
+      <parameter type-id='type-id-57' name='val' filepath='src/compat_futex.c' line='54' column='1'/>
+      <!-- parameter of type 'const timespec*' -->
+      <parameter type-id='type-id-63' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
+      <!-- parameter of type 'int32_t*' -->
+      <parameter type-id='type-id-58' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
+      <!-- parameter of type 'typedef int32_t' -->
+      <parameter type-id='type-id-57' name='val3' filepath='src/compat_futex.c' line='55' column='1'/>
+      <!-- int -->
+      <return type-id='type-id-10'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
diff --git a/extras/abi/0.14/x86_64-pc-linux-gnu/liburcu-mb.so.8.xml b/extras/abi/0.14/x86_64-pc-linux-gnu/liburcu-mb.so.8.xml
new file mode 100644 (file)
index 0000000..f2334db
--- /dev/null
@@ -0,0 +1,846 @@
+<abi-corpus architecture='elf-amd-x86_64' soname='liburcu-mb.so.8'>
+  <elf-needed>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <!-- _fini -->
+    <elf-symbol name='_fini' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- _init -->
+    <elf-symbol name='_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- compat_futex_async -->
+    <elf-symbol name='compat_futex_async' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- compat_futex_noasync -->
+    <elf-symbol name='compat_futex_noasync' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- rcu_cmpxchg_pointer_sym -->
+    <elf-symbol name='rcu_cmpxchg_pointer_sym' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- rcu_dereference_sym -->
+    <elf-symbol name='rcu_dereference_sym' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- rcu_set_pointer_sym -->
+    <elf-symbol name='rcu_set_pointer_sym' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- rcu_xchg_pointer_sym -->
+    <elf-symbol name='rcu_xchg_pointer_sym' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_mb_barrier -->
+    <elf-symbol name='urcu_mb_barrier' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_mb_call_rcu -->
+    <elf-symbol name='urcu_mb_call_rcu' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_mb_call_rcu_after_fork_child -->
+    <elf-symbol name='urcu_mb_call_rcu_after_fork_child' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_mb_call_rcu_after_fork_parent -->
+    <elf-symbol name='urcu_mb_call_rcu_after_fork_parent' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_mb_call_rcu_before_fork -->
+    <elf-symbol name='urcu_mb_call_rcu_before_fork' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_mb_call_rcu_data_free -->
+    <elf-symbol name='urcu_mb_call_rcu_data_free' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_mb_create_all_cpu_call_rcu_data -->
+    <elf-symbol name='urcu_mb_create_all_cpu_call_rcu_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_mb_create_call_rcu_data -->
+    <elf-symbol name='urcu_mb_create_call_rcu_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_mb_defer_barrier -->
+    <elf-symbol name='urcu_mb_defer_barrier' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_mb_defer_barrier_thread -->
+    <elf-symbol name='urcu_mb_defer_barrier_thread' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_mb_defer_exit -->
+    <elf-symbol name='urcu_mb_defer_exit' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_mb_defer_rcu -->
+    <elf-symbol name='urcu_mb_defer_rcu' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_mb_defer_register_thread -->
+    <elf-symbol name='urcu_mb_defer_register_thread' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_mb_defer_unregister_thread -->
+    <elf-symbol name='urcu_mb_defer_unregister_thread' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_mb_free_all_cpu_call_rcu_data -->
+    <elf-symbol name='urcu_mb_free_all_cpu_call_rcu_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_mb_get_call_rcu_data -->
+    <elf-symbol name='urcu_mb_get_call_rcu_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_mb_get_call_rcu_thread -->
+    <elf-symbol name='urcu_mb_get_call_rcu_thread' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_mb_get_cpu_call_rcu_data -->
+    <elf-symbol name='urcu_mb_get_cpu_call_rcu_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_mb_get_default_call_rcu_data -->
+    <elf-symbol name='urcu_mb_get_default_call_rcu_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_mb_get_thread_call_rcu_data -->
+    <elf-symbol name='urcu_mb_get_thread_call_rcu_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_mb_init -->
+    <elf-symbol name='urcu_mb_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_mb_read_lock -->
+    <elf-symbol name='urcu_mb_read_lock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_mb_read_ongoing -->
+    <elf-symbol name='urcu_mb_read_ongoing' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_mb_read_unlock -->
+    <elf-symbol name='urcu_mb_read_unlock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_mb_register_rculfhash_atfork -->
+    <elf-symbol name='urcu_mb_register_rculfhash_atfork' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_mb_register_thread -->
+    <elf-symbol name='urcu_mb_register_thread' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_mb_set_cpu_call_rcu_data -->
+    <elf-symbol name='urcu_mb_set_cpu_call_rcu_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_mb_set_thread_call_rcu_data -->
+    <elf-symbol name='urcu_mb_set_thread_call_rcu_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_mb_synchronize_rcu -->
+    <elf-symbol name='urcu_mb_synchronize_rcu' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_mb_unregister_rculfhash_atfork -->
+    <elf-symbol name='urcu_mb_unregister_rculfhash_atfork' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_mb_unregister_thread -->
+    <elf-symbol name='urcu_mb_unregister_thread' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <elf-variable-symbols>
+    <!-- __urcu_compat_futex_cond -->
+    <elf-symbol name='__urcu_compat_futex_cond' size='48' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- __urcu_compat_futex_lock -->
+    <elf-symbol name='__urcu_compat_futex_lock' size='40' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_mb_flavor -->
+    <elf-symbol name='urcu_mb_flavor' size='112' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_mb_gp -->
+    <elf-symbol name='urcu_mb_gp' size='128' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_mb_reader -->
+    <elf-symbol name='urcu_mb_reader' size='256' type='tls-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-variable-symbols>
+  <abi-instr version='1.0' address-size='64' path='urcu.c' comp-dir-path='src' language='LANG_C99'>
+    <!-- struct urcu_gp -->
+    <class-decl name='urcu_gp' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='66' column='1' id='type-id-1'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- unsigned long int urcu_gp::ctr -->
+        <var-decl name='ctr' type-id='type-id-2' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='74' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- int32_t urcu_gp::futex -->
+        <var-decl name='futex' type-id='type-id-3' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='76' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- unsigned long int -->
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-2'/>
+    <!-- int -->
+    <type-decl name='int' size-in-bits='32' id='type-id-4'/>
+    <!-- typedef int __int32_t -->
+    <typedef-decl name='__int32_t' type-id='type-id-4' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='40' column='1' id='type-id-5'/>
+    <!-- typedef __int32_t int32_t -->
+    <typedef-decl name='int32_t' type-id='type-id-5' filepath='/usr/include/x86_64-linux-gnu/bits/stdint-intn.h' line='26' column='1' id='type-id-3'/>
+    <!-- urcu_gp urcu_mb_gp -->
+    <var-decl name='urcu_mb_gp' type-id='type-id-1' mangled-name='urcu_mb_gp' visibility='default' filepath='../include/urcu/static/urcu-mb.h' line='60' column='1' elf-symbol-id='urcu_mb_gp'/>
+    <!-- struct urcu_reader -->
+    <class-decl name='urcu_reader' size-in-bits='2048' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='79' column='1' id='type-id-6'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- unsigned long int urcu_reader::ctr -->
+        <var-decl name='ctr' type-id='type-id-2' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- char urcu_reader::need_mb -->
+        <var-decl name='need_mb' type-id='type-id-7' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='82' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <!-- cds_list_head urcu_reader::node -->
+        <var-decl name='node' type-id='type-id-8' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <!-- pthread_t urcu_reader::tid -->
+        <var-decl name='tid' type-id='type-id-9' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='31'>
+        <!-- unsigned int urcu_reader::registered -->
+        <var-decl name='registered' type-id='type-id-10' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='87' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- char -->
+    <type-decl name='char' size-in-bits='8' id='type-id-7'/>
+    <!-- struct cds_list_head -->
+    <class-decl name='cds_list_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/list.h' line='37' column='1' id='type-id-8'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_list_head* cds_list_head::next -->
+        <var-decl name='next' type-id='type-id-11' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- cds_list_head* cds_list_head::prev -->
+        <var-decl name='prev' type-id='type-id-11' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- cds_list_head* -->
+    <pointer-type-def type-id='type-id-8' size-in-bits='64' id='type-id-11'/>
+    <!-- typedef unsigned long int pthread_t -->
+    <typedef-decl name='pthread_t' type-id='type-id-2' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='27' column='1' id='type-id-9'/>
+    <!-- unsigned int -->
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-10'/>
+    <!-- urcu_reader urcu_mb_reader -->
+    <var-decl name='urcu_mb_reader' type-id='type-id-6' mangled-name='urcu_mb_reader' visibility='default' filepath='../include/urcu/static/urcu-mb.h' line='62' column='1' elf-symbol-id='urcu_mb_reader'/>
+    <!-- struct rcu_flavor_struct -->
+    <class-decl name='rcu_flavor_struct' size-in-bits='896' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='42' column='1' id='type-id-12'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- void ()* rcu_flavor_struct::read_lock -->
+        <var-decl name='read_lock' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='43' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- void ()* rcu_flavor_struct::read_unlock -->
+        <var-decl name='read_unlock' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='44' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <!-- int ()* rcu_flavor_struct::read_ongoing -->
+        <var-decl name='read_ongoing' type-id='type-id-14' visibility='default' filepath='../include/urcu/flavor.h' line='45' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <!-- void ()* rcu_flavor_struct::read_quiescent_state -->
+        <var-decl name='read_quiescent_state' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='46' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <!-- void (rcu_head*, void (rcu_head*)*)* rcu_flavor_struct::update_call_rcu -->
+        <var-decl name='update_call_rcu' type-id='type-id-15' visibility='default' filepath='../include/urcu/flavor.h' line='47' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <!-- void ()* rcu_flavor_struct::update_synchronize_rcu -->
+        <var-decl name='update_synchronize_rcu' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <!-- void (void (void*)*, void*)* rcu_flavor_struct::update_defer_rcu -->
+        <var-decl name='update_defer_rcu' type-id='type-id-16' visibility='default' filepath='../include/urcu/flavor.h' line='50' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <!-- void ()* rcu_flavor_struct::thread_offline -->
+        <var-decl name='thread_offline' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <!-- void ()* rcu_flavor_struct::thread_online -->
+        <var-decl name='thread_online' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <!-- void ()* rcu_flavor_struct::register_thread -->
+        <var-decl name='register_thread' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='54' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <!-- void ()* rcu_flavor_struct::unregister_thread -->
+        <var-decl name='unregister_thread' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <!-- void ()* rcu_flavor_struct::barrier -->
+        <var-decl name='barrier' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='57' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <!-- void (urcu_atfork*)* rcu_flavor_struct::register_rculfhash_atfork -->
+        <var-decl name='register_rculfhash_atfork' type-id='type-id-17' visibility='default' filepath='../include/urcu/flavor.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <!-- void (urcu_atfork*)* rcu_flavor_struct::unregister_rculfhash_atfork -->
+        <var-decl name='unregister_rculfhash_atfork' type-id='type-id-17' visibility='default' filepath='../include/urcu/flavor.h' line='60' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- void -->
+    <type-decl name='void' id='type-id-18'/>
+    <!-- void ()* -->
+    <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-13'/>
+    <!-- int ()* -->
+    <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-14'/>
+    <!-- struct rcu_head -->
+    <class-decl name='rcu_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/call-rcu.h' line='57' column='1' id='type-id-21'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_wfcq_node rcu_head::next -->
+        <var-decl name='next' type-id='type-id-22' visibility='default' filepath='../include/urcu/call-rcu.h' line='58' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- void (rcu_head*)* rcu_head::func -->
+        <var-decl name='func' type-id='type-id-23' visibility='default' filepath='../include/urcu/call-rcu.h' line='59' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- struct cds_wfcq_node -->
+    <class-decl name='cds_wfcq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='58' column='1' id='type-id-22'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_wfcq_node* cds_wfcq_node::next -->
+        <var-decl name='next' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='59' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- cds_wfcq_node* -->
+    <pointer-type-def type-id='type-id-22' size-in-bits='64' id='type-id-24'/>
+    <!-- rcu_head* -->
+    <pointer-type-def type-id='type-id-21' size-in-bits='64' id='type-id-25'/>
+    <!-- void (rcu_head*)* -->
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-23'/>
+    <!-- void (rcu_head*, void (rcu_head*)*)* -->
+    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-15'/>
+    <!-- void* -->
+    <pointer-type-def type-id='type-id-18' size-in-bits='64' id='type-id-28'/>
+    <!-- void (void*)* -->
+    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-30'/>
+    <!-- void (void (void*)*, void*)* -->
+    <pointer-type-def type-id='type-id-31' size-in-bits='64' id='type-id-16'/>
+    <!-- struct urcu_atfork -->
+    <class-decl name='urcu_atfork' size-in-bits='256' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='32' column='1' id='type-id-32'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- void (void*)* urcu_atfork::before_fork -->
+        <var-decl name='before_fork' type-id='type-id-30' visibility='default' filepath='../include/urcu/flavor.h' line='33' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- void (void*)* urcu_atfork::after_fork_parent -->
+        <var-decl name='after_fork_parent' type-id='type-id-30' visibility='default' filepath='../include/urcu/flavor.h' line='34' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <!-- void (void*)* urcu_atfork::after_fork_child -->
+        <var-decl name='after_fork_child' type-id='type-id-30' visibility='default' filepath='../include/urcu/flavor.h' line='35' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <!-- void* urcu_atfork::priv -->
+        <var-decl name='priv' type-id='type-id-28' visibility='default' filepath='../include/urcu/flavor.h' line='36' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- urcu_atfork* -->
+    <pointer-type-def type-id='type-id-32' size-in-bits='64' id='type-id-33'/>
+    <!-- void (urcu_atfork*)* -->
+    <pointer-type-def type-id='type-id-34' size-in-bits='64' id='type-id-17'/>
+    <!-- const rcu_flavor_struct -->
+    <qualified-type-def type-id='type-id-12' const='yes' id='type-id-35'/>
+    <!-- const rcu_flavor_struct urcu_mb_flavor -->
+    <var-decl name='urcu_mb_flavor' type-id='type-id-35' mangled-name='urcu_mb_flavor' visibility='default' filepath='../include/urcu/flavor.h' line='81' column='1' elf-symbol-id='urcu_mb_flavor'/>
+    <!-- void urcu_mb_defer_exit() -->
+    <function-decl name='urcu_mb_defer_exit' mangled-name='urcu_mb_defer_exit' filepath='src/urcu-defer-impl.h' line='467' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_defer_exit'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_mb_defer_unregister_thread() -->
+    <function-decl name='urcu_mb_defer_unregister_thread' mangled-name='urcu_mb_defer_unregister_thread' filepath='src/urcu-defer-impl.h' line='449' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_defer_unregister_thread'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- int urcu_mb_defer_register_thread() -->
+    <function-decl name='urcu_mb_defer_register_thread' mangled-name='urcu_mb_defer_register_thread' filepath='src/urcu-defer-impl.h' line='427' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_defer_register_thread'>
+      <!-- int -->
+      <return type-id='type-id-4'/>
+    </function-decl>
+    <!-- void urcu_mb_defer_rcu(void (void*)*, void*) -->
+    <function-decl name='urcu_mb_defer_rcu' mangled-name='urcu_mb_defer_rcu' filepath='src/urcu-defer-impl.h' line='396' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_defer_rcu'>
+      <!-- parameter of type 'void (void*)*' -->
+      <parameter type-id='type-id-30' name='fct' filepath='src/urcu-defer-impl.h' line='396' column='1'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-28' name='p' filepath='src/urcu-defer-impl.h' line='396' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_mb_defer_barrier() -->
+    <function-decl name='urcu_mb_defer_barrier' mangled-name='urcu_mb_defer_barrier' filepath='src/urcu-defer-impl.h' line='282' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_defer_barrier'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_mb_defer_barrier_thread() -->
+    <function-decl name='urcu_mb_defer_barrier_thread' mangled-name='urcu_mb_defer_barrier_thread' filepath='src/urcu-defer-impl.h' line='262' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_defer_barrier_thread'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_mb_unregister_rculfhash_atfork(urcu_atfork*) -->
+    <function-decl name='urcu_mb_unregister_rculfhash_atfork' mangled-name='urcu_mb_unregister_rculfhash_atfork' filepath='src/urcu-call-rcu-impl.h' line='1012' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_unregister_rculfhash_atfork'>
+      <!-- parameter of type 'urcu_atfork*' -->
+      <parameter type-id='type-id-33' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1012' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_mb_register_rculfhash_atfork(urcu_atfork*) -->
+    <function-decl name='urcu_mb_register_rculfhash_atfork' mangled-name='urcu_mb_register_rculfhash_atfork' filepath='src/urcu-call-rcu-impl.h' line='1002' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_register_rculfhash_atfork'>
+      <!-- parameter of type 'urcu_atfork*' -->
+      <parameter type-id='type-id-33' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1012' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_mb_call_rcu_after_fork_child() -->
+    <function-decl name='urcu_mb_call_rcu_after_fork_child' mangled-name='urcu_mb_call_rcu_after_fork_child' filepath='src/urcu-call-rcu-impl.h' line='960' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_call_rcu_after_fork_child'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_mb_call_rcu_after_fork_parent() -->
+    <function-decl name='urcu_mb_call_rcu_after_fork_parent' mangled-name='urcu_mb_call_rcu_after_fork_parent' filepath='src/urcu-call-rcu-impl.h' line='938' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_call_rcu_after_fork_parent'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_mb_call_rcu_before_fork() -->
+    <function-decl name='urcu_mb_call_rcu_before_fork' mangled-name='urcu_mb_call_rcu_before_fork' filepath='src/urcu-call-rcu-impl.h' line='911' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_call_rcu_before_fork'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_mb_barrier() -->
+    <function-decl name='urcu_mb_barrier' mangled-name='urcu_mb_barrier' filepath='src/urcu-call-rcu-impl.h' line='840' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_barrier'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_mb_free_all_cpu_call_rcu_data() -->
+    <function-decl name='urcu_mb_free_all_cpu_call_rcu_data' mangled-name='urcu_mb_free_all_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='777' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_free_all_cpu_call_rcu_data'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- struct call_rcu_data -->
+    <class-decl name='call_rcu_data' size-in-bits='1024' is-struct='yes' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='53' column='1' id='type-id-36'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_wfcq_tail call_rcu_data::cbs_tail -->
+        <var-decl name='cbs_tail' type-id='type-id-37' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='61' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- cds_wfcq_head call_rcu_data::cbs_head -->
+        <var-decl name='cbs_head' type-id='type-id-38' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <!-- unsigned long int call_rcu_data::flags -->
+        <var-decl name='flags' type-id='type-id-2' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <!-- int32_t call_rcu_data::futex -->
+        <var-decl name='futex' type-id='type-id-3' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <!-- unsigned long int call_rcu_data::qlen -->
+        <var-decl name='qlen' type-id='type-id-2' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <!-- pthread_t call_rcu_data::tid -->
+        <var-decl name='tid' type-id='type-id-9' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <!-- int call_rcu_data::cpu_affinity -->
+        <var-decl name='cpu_affinity' type-id='type-id-4' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='67' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <!-- unsigned long int call_rcu_data::gp_count -->
+        <var-decl name='gp_count' type-id='type-id-2' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <!-- cds_list_head call_rcu_data::list -->
+        <var-decl name='list' type-id='type-id-8' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='69' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- struct cds_wfcq_tail -->
+    <class-decl name='cds_wfcq_tail' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='140' column='1' id='type-id-37'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_wfcq_node* cds_wfcq_tail::p -->
+        <var-decl name='p' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='141' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- struct cds_wfcq_head -->
+    <class-decl name='cds_wfcq_head' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='71' column='1' id='type-id-38'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_wfcq_node cds_wfcq_head::node -->
+        <var-decl name='node' type-id='type-id-22' visibility='default' filepath='../include/urcu/wfcqueue.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- pthread_mutex_t cds_wfcq_head::lock -->
+        <var-decl name='lock' type-id='type-id-39' visibility='default' filepath='../include/urcu/wfcqueue.h' line='73' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='67' column='1' id='type-id-40'>
+      <data-member access='private'>
+        <!-- __pthread_mutex_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-41' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='69' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <!-- char __anonymous_union__::__size[40] -->
+        <var-decl name='__size' type-id='type-id-42' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <!-- long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-43' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='71' column='1'/>
+      </data-member>
+    </union-decl>
+    <!-- struct __pthread_mutex_s -->
+    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='118' column='1' id='type-id-41'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- int __pthread_mutex_s::__lock -->
+        <var-decl name='__lock' type-id='type-id-4' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='120' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <!-- unsigned int __pthread_mutex_s::__count -->
+        <var-decl name='__count' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='121' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- int __pthread_mutex_s::__owner -->
+        <var-decl name='__owner' type-id='type-id-4' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='122' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <!-- unsigned int __pthread_mutex_s::__nusers -->
+        <var-decl name='__nusers' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='124' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <!-- int __pthread_mutex_s::__kind -->
+        <var-decl name='__kind' type-id='type-id-4' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='148' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <!-- short int __pthread_mutex_s::__spins -->
+        <var-decl name='__spins' type-id='type-id-44' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <!-- short int __pthread_mutex_s::__elision -->
+        <var-decl name='__elision' type-id='type-id-44' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <!-- __pthread_list_t __pthread_mutex_s::__list -->
+        <var-decl name='__list' type-id='type-id-45' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='155' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- short int -->
+    <type-decl name='short int' size-in-bits='16' id='type-id-44'/>
+    <!-- struct __pthread_internal_list -->
+    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='82' column='1' id='type-id-46'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- __pthread_internal_list* __pthread_internal_list::__prev -->
+        <var-decl name='__prev' type-id='type-id-47' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- __pthread_internal_list* __pthread_internal_list::__next -->
+        <var-decl name='__next' type-id='type-id-47' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='85' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- __pthread_internal_list* -->
+    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-47'/>
+    <!-- typedef __pthread_internal_list __pthread_list_t -->
+    <typedef-decl name='__pthread_list_t' type-id='type-id-46' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='86' column='1' id='type-id-45'/>
+
+    <!-- char[40] -->
+    <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='320' id='type-id-42'>
+      <!-- <anonymous range>[40] -->
+      <subrange length='40' type-id='type-id-2' id='type-id-48'/>
+
+    </array-type-def>
+    <!-- long int -->
+    <type-decl name='long int' size-in-bits='64' id='type-id-43'/>
+    <!-- typedef __anonymous_union__ pthread_mutex_t -->
+    <typedef-decl name='pthread_mutex_t' type-id='type-id-40' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='72' column='1' id='type-id-39'/>
+    <!-- call_rcu_data* -->
+    <pointer-type-def type-id='type-id-36' size-in-bits='64' id='type-id-49'/>
+    <!-- void urcu_mb_call_rcu_data_free(call_rcu_data*) -->
+    <function-decl name='urcu_mb_call_rcu_data_free' mangled-name='urcu_mb_call_rcu_data_free' filepath='src/urcu-call-rcu-impl.h' line='742' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_call_rcu_data_free'>
+      <!-- parameter of type 'call_rcu_data*' -->
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='742' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_mb_call_rcu(rcu_head*, void (rcu_head*)*) -->
+    <function-decl name='urcu_mb_call_rcu' mangled-name='urcu_mb_call_rcu' filepath='src/urcu-call-rcu-impl.h' line='704' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_call_rcu'>
+      <!-- parameter of type 'rcu_head*' -->
+      <parameter type-id='type-id-25' name='head' filepath='src/urcu-call-rcu-impl.h' line='704' column='1'/>
+      <!-- parameter of type 'void (rcu_head*)*' -->
+      <parameter type-id='type-id-23' name='func' filepath='src/urcu-call-rcu-impl.h' line='705' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- int urcu_mb_create_all_cpu_call_rcu_data(unsigned long int) -->
+    <function-decl name='urcu_mb_create_all_cpu_call_rcu_data' mangled-name='urcu_mb_create_all_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='626' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_create_all_cpu_call_rcu_data'>
+      <!-- parameter of type 'unsigned long int' -->
+      <parameter type-id='type-id-2' name='flags' filepath='src/urcu-call-rcu-impl.h' line='626' column='1'/>
+      <!-- int -->
+      <return type-id='type-id-4'/>
+    </function-decl>
+    <!-- void urcu_mb_set_thread_call_rcu_data(call_rcu_data*) -->
+    <function-decl name='urcu_mb_set_thread_call_rcu_data' mangled-name='urcu_mb_set_thread_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='613' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_set_thread_call_rcu_data'>
+      <!-- parameter of type 'call_rcu_data*' -->
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='613' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- call_rcu_data* urcu_mb_get_thread_call_rcu_data() -->
+    <function-decl name='urcu_mb_get_thread_call_rcu_data' mangled-name='urcu_mb_get_thread_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='597' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_get_thread_call_rcu_data'>
+      <!-- call_rcu_data* -->
+      <return type-id='type-id-49'/>
+    </function-decl>
+    <!-- call_rcu_data* urcu_mb_get_call_rcu_data() -->
+    <function-decl name='urcu_mb_get_call_rcu_data' mangled-name='urcu_mb_get_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='577' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_get_call_rcu_data'>
+      <!-- call_rcu_data* -->
+      <return type-id='type-id-49'/>
+    </function-decl>
+    <!-- call_rcu_data* urcu_mb_get_default_call_rcu_data() -->
+    <function-decl name='urcu_mb_get_default_call_rcu_data' mangled-name='urcu_mb_get_default_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='552' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_get_default_call_rcu_data'>
+      <!-- call_rcu_data* -->
+      <return type-id='type-id-49'/>
+    </function-decl>
+    <!-- int urcu_mb_set_cpu_call_rcu_data(int, call_rcu_data*) -->
+    <function-decl name='urcu_mb_set_cpu_call_rcu_data' mangled-name='urcu_mb_set_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='513' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_set_cpu_call_rcu_data'>
+      <!-- parameter of type 'int' -->
+      <parameter type-id='type-id-4' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='513' column='1'/>
+      <!-- parameter of type 'call_rcu_data*' -->
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='513' column='1'/>
+      <!-- int -->
+      <return type-id='type-id-4'/>
+    </function-decl>
+    <!-- call_rcu_data* urcu_mb_create_call_rcu_data(unsigned long int, int) -->
+    <function-decl name='urcu_mb_create_call_rcu_data' mangled-name='urcu_mb_create_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='489' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_create_call_rcu_data'>
+      <!-- parameter of type 'unsigned long int' -->
+      <parameter type-id='type-id-2' name='flags' filepath='src/urcu-call-rcu-impl.h' line='489' column='1'/>
+      <!-- parameter of type 'int' -->
+      <parameter type-id='type-id-4' name='cpu_affinity' filepath='src/urcu-call-rcu-impl.h' line='490' column='1'/>
+      <!-- call_rcu_data* -->
+      <return type-id='type-id-49'/>
+    </function-decl>
+    <!-- pthread_t urcu_mb_get_call_rcu_thread(call_rcu_data*) -->
+    <function-decl name='urcu_mb_get_call_rcu_thread' mangled-name='urcu_mb_get_call_rcu_thread' filepath='src/urcu-call-rcu-impl.h' line='471' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_get_call_rcu_thread'>
+      <!-- parameter of type 'call_rcu_data*' -->
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='471' column='1'/>
+      <!-- typedef pthread_t -->
+      <return type-id='type-id-9'/>
+    </function-decl>
+    <!-- call_rcu_data* urcu_mb_get_cpu_call_rcu_data(int) -->
+    <function-decl name='urcu_mb_get_cpu_call_rcu_data' mangled-name='urcu_mb_get_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='449' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_get_cpu_call_rcu_data'>
+      <!-- parameter of type 'int' -->
+      <parameter type-id='type-id-4' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='449' column='1'/>
+      <!-- call_rcu_data* -->
+      <return type-id='type-id-49'/>
+    </function-decl>
+    <!-- void urcu_mb_unregister_thread() -->
+    <function-decl name='urcu_mb_unregister_thread' mangled-name='urcu_mb_unregister_thread' filepath='src/urcu.c' line='546' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_unregister_thread'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_mb_register_thread() -->
+    <function-decl name='urcu_mb_register_thread' mangled-name='urcu_mb_register_thread' filepath='src/urcu.c' line='532' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_register_thread'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- int urcu_mb_read_ongoing() -->
+    <function-decl name='urcu_mb_read_ongoing' mangled-name='urcu_mb_read_ongoing' filepath='src/urcu.c' line='527' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_read_ongoing'>
+      <!-- int -->
+      <return type-id='type-id-4'/>
+    </function-decl>
+    <!-- void urcu_mb_read_unlock() -->
+    <function-decl name='urcu_mb_read_unlock' mangled-name='urcu_mb_read_unlock' filepath='src/urcu.c' line='522' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_read_unlock'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_mb_read_lock() -->
+    <function-decl name='urcu_mb_read_lock' mangled-name='urcu_mb_read_lock' filepath='src/urcu.c' line='517' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_read_lock'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_mb_synchronize_rcu() -->
+    <function-decl name='urcu_mb_synchronize_rcu' mangled-name='urcu_mb_synchronize_rcu' filepath='src/urcu.c' line='396' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_synchronize_rcu'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_mb_init() -->
+    <function-decl name='urcu_mb_init' mangled-name='urcu_mb_init' filepath='src/urcu.c' line='103' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_mb_init'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- int () -->
+    <function-type size-in-bits='64' id='type-id-20'>
+      <!-- int -->
+      <return type-id='type-id-4'/>
+    </function-type>
+    <!-- void () -->
+    <function-type size-in-bits='64' id='type-id-19'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-type>
+    <!-- void (rcu_head*) -->
+    <function-type size-in-bits='64' id='type-id-26'>
+      <!-- parameter of type 'rcu_head*' -->
+      <parameter type-id='type-id-25'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-type>
+    <!-- void (rcu_head*, void (rcu_head*)*) -->
+    <function-type size-in-bits='64' id='type-id-27'>
+      <!-- parameter of type 'rcu_head*' -->
+      <parameter type-id='type-id-25'/>
+      <!-- parameter of type 'void (rcu_head*)*' -->
+      <parameter type-id='type-id-23'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-type>
+    <!-- void (urcu_atfork*) -->
+    <function-type size-in-bits='64' id='type-id-34'>
+      <!-- parameter of type 'urcu_atfork*' -->
+      <parameter type-id='type-id-33'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-type>
+    <!-- void (void (void*)*, void*) -->
+    <function-type size-in-bits='64' id='type-id-31'>
+      <!-- parameter of type 'void (void*)*' -->
+      <parameter type-id='type-id-30'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-28'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-type>
+    <!-- void (void*) -->
+    <function-type size-in-bits='64' id='type-id-29'>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-28'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='urcu-pointer.c' comp-dir-path='src' language='LANG_C99'>
+    <!-- void** -->
+    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-50'/>
+    <!-- void* rcu_cmpxchg_pointer_sym(void**, void*, void*) -->
+    <function-decl name='rcu_cmpxchg_pointer_sym' mangled-name='rcu_cmpxchg_pointer_sym' filepath='src/urcu-pointer.c' line='53' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_cmpxchg_pointer_sym'>
+      <!-- parameter of type 'void**' -->
+      <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='53' column='1'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-28' name='old' filepath='src/urcu-pointer.c' line='53' column='1'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-28' name='_new' filepath='src/urcu-pointer.c' line='53' column='1'/>
+      <!-- void* -->
+      <return type-id='type-id-28'/>
+    </function-decl>
+    <!-- void* rcu_xchg_pointer_sym(void**, void*) -->
+    <function-decl name='rcu_xchg_pointer_sym' mangled-name='rcu_xchg_pointer_sym' filepath='src/urcu-pointer.c' line='47' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_xchg_pointer_sym'>
+      <!-- parameter of type 'void**' -->
+      <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='47' column='1'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-28' name='v' filepath='src/urcu-pointer.c' line='47' column='1'/>
+      <!-- void* -->
+      <return type-id='type-id-28'/>
+    </function-decl>
+    <!-- void* rcu_set_pointer_sym(void**, void*) -->
+    <function-decl name='rcu_set_pointer_sym' mangled-name='rcu_set_pointer_sym' filepath='src/urcu-pointer.c' line='40' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_set_pointer_sym'>
+      <!-- parameter of type 'void**' -->
+      <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='40' column='1'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-28' name='v' filepath='src/urcu-pointer.c' line='40' column='1'/>
+      <!-- void* -->
+      <return type-id='type-id-28'/>
+    </function-decl>
+    <!-- void* rcu_dereference_sym(void*) -->
+    <function-decl name='rcu_dereference_sym' mangled-name='rcu_dereference_sym' filepath='src/urcu-pointer.c' line='35' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_dereference_sym'>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-28' name='p' filepath='src/urcu-pointer.c' line='35' column='1'/>
+      <!-- void* -->
+      <return type-id='type-id-28'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='compat_futex.c' comp-dir-path='src' language='LANG_C99'>
+    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
+    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-39' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='75' column='1' id='type-id-51'>
+      <data-member access='private'>
+        <!-- __pthread_cond_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-52' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <!-- char __anonymous_union__::__size[48] -->
+        <var-decl name='__size' type-id='type-id-53' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <!-- long long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-54' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='79' column='1'/>
+      </data-member>
+    </union-decl>
+    <!-- struct __pthread_cond_s -->
+    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='171' column='1' id='type-id-52'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- __anonymous_union__  -->
+        <var-decl name='' type-id='type-id-55' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <!-- unsigned int __pthread_cond_s::__g_refs[2] -->
+        <var-decl name='__g_refs' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <!-- unsigned int __pthread_cond_s::__g_size[2] -->
+        <var-decl name='__g_size' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='192' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <!-- unsigned int __pthread_cond_s::__g1_orig_size -->
+        <var-decl name='__g1_orig_size' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='193' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <!-- unsigned int __pthread_cond_s::__wrefs -->
+        <var-decl name='__wrefs' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <!-- unsigned int __pthread_cond_s::__g_signals[2] -->
+        <var-decl name='__g_signals' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='195' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='173' column='1' id='type-id-55'>
+      <data-member access='private'>
+        <!-- long long unsigned int __anonymous_union__::__wseq -->
+        <var-decl name='__wseq' type-id='type-id-57' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='175' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <!-- __anonymous_struct__ __anonymous_union__::__wseq32 -->
+        <var-decl name='__wseq32' type-id='type-id-58' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='180' column='1'/>
+      </data-member>
+    </union-decl>
+    <!-- long long unsigned int -->
+    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-57'/>
+    <!-- struct __anonymous_struct__ -->
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='176' column='1' id='type-id-58'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- unsigned int __anonymous_struct__::__low -->
+        <var-decl name='__low' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='178' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <!-- unsigned int __anonymous_struct__::__high -->
+        <var-decl name='__high' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='179' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <!-- unsigned int[2] -->
+    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='64' id='type-id-56'>
+      <!-- <anonymous range>[2] -->
+      <subrange length='2' type-id='type-id-2' id='type-id-59'/>
+
+    </array-type-def>
+
+    <!-- char[48] -->
+    <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='384' id='type-id-53'>
+      <!-- <anonymous range>[48] -->
+      <subrange length='48' type-id='type-id-2' id='type-id-60'/>
+
+    </array-type-def>
+    <!-- long long int -->
+    <type-decl name='long long int' size-in-bits='64' id='type-id-54'/>
+    <!-- typedef __anonymous_union__ pthread_cond_t -->
+    <typedef-decl name='pthread_cond_t' type-id='type-id-51' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='80' column='1' id='type-id-61'/>
+    <!-- pthread_cond_t __urcu_compat_futex_cond -->
+    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-61' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
+    <!-- int32_t* -->
+    <pointer-type-def type-id='type-id-3' size-in-bits='64' id='type-id-62'/>
+    <!-- struct timespec -->
+    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='9' column='1' id='type-id-63'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- __time_t timespec::tv_sec -->
+        <var-decl name='tv_sec' type-id='type-id-64' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='11' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- __syscall_slong_t timespec::tv_nsec -->
+        <var-decl name='tv_nsec' type-id='type-id-65' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='12' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- typedef long int __time_t -->
+    <typedef-decl name='__time_t' type-id='type-id-43' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='148' column='1' id='type-id-64'/>
+    <!-- typedef long int __syscall_slong_t -->
+    <typedef-decl name='__syscall_slong_t' type-id='type-id-43' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='184' column='1' id='type-id-65'/>
+    <!-- const timespec -->
+    <qualified-type-def type-id='type-id-63' const='yes' id='type-id-66'/>
+    <!-- const timespec* -->
+    <pointer-type-def type-id='type-id-66' size-in-bits='64' id='type-id-67'/>
+    <!-- int compat_futex_async(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
+    <function-decl name='compat_futex_async' mangled-name='compat_futex_async' filepath='src/compat_futex.c' line='118' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_async'>
+      <!-- parameter of type 'int32_t*' -->
+      <parameter type-id='type-id-62' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
+      <!-- parameter of type 'int' -->
+      <parameter type-id='type-id-4' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
+      <!-- parameter of type 'typedef int32_t' -->
+      <parameter type-id='type-id-3' name='val' filepath='src/compat_futex.c' line='118' column='1'/>
+      <!-- parameter of type 'const timespec*' -->
+      <parameter type-id='type-id-67' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
+      <!-- parameter of type 'int32_t*' -->
+      <parameter type-id='type-id-62' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
+      <!-- parameter of type 'typedef int32_t' -->
+      <parameter type-id='type-id-3' name='val3' filepath='src/compat_futex.c' line='119' column='1'/>
+      <!-- int -->
+      <return type-id='type-id-4'/>
+    </function-decl>
+    <!-- int compat_futex_noasync(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
+    <function-decl name='compat_futex_noasync' mangled-name='compat_futex_noasync' filepath='src/compat_futex.c' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_noasync'>
+      <!-- parameter of type 'int32_t*' -->
+      <parameter type-id='type-id-62' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
+      <!-- parameter of type 'int' -->
+      <parameter type-id='type-id-4' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
+      <!-- parameter of type 'typedef int32_t' -->
+      <parameter type-id='type-id-3' name='val' filepath='src/compat_futex.c' line='54' column='1'/>
+      <!-- parameter of type 'const timespec*' -->
+      <parameter type-id='type-id-67' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
+      <!-- parameter of type 'int32_t*' -->
+      <parameter type-id='type-id-62' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
+      <!-- parameter of type 'typedef int32_t' -->
+      <parameter type-id='type-id-3' name='val3' filepath='src/compat_futex.c' line='55' column='1'/>
+      <!-- int -->
+      <return type-id='type-id-4'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
diff --git a/extras/abi/0.14/x86_64-pc-linux-gnu/liburcu-memb.so.8.xml b/extras/abi/0.14/x86_64-pc-linux-gnu/liburcu-memb.so.8.xml
new file mode 100644 (file)
index 0000000..d89fa85
--- /dev/null
@@ -0,0 +1,850 @@
+<abi-corpus architecture='elf-amd-x86_64' soname='liburcu-memb.so.8'>
+  <elf-needed>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <!-- _fini -->
+    <elf-symbol name='_fini' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- _init -->
+    <elf-symbol name='_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- compat_futex_async -->
+    <elf-symbol name='compat_futex_async' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- compat_futex_noasync -->
+    <elf-symbol name='compat_futex_noasync' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- rcu_cmpxchg_pointer_sym -->
+    <elf-symbol name='rcu_cmpxchg_pointer_sym' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- rcu_dereference_sym -->
+    <elf-symbol name='rcu_dereference_sym' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- rcu_set_pointer_sym -->
+    <elf-symbol name='rcu_set_pointer_sym' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- rcu_xchg_pointer_sym -->
+    <elf-symbol name='rcu_xchg_pointer_sym' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_barrier -->
+    <elf-symbol name='urcu_memb_barrier' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_call_rcu -->
+    <elf-symbol name='urcu_memb_call_rcu' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_call_rcu_after_fork_child -->
+    <elf-symbol name='urcu_memb_call_rcu_after_fork_child' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_call_rcu_after_fork_parent -->
+    <elf-symbol name='urcu_memb_call_rcu_after_fork_parent' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_call_rcu_before_fork -->
+    <elf-symbol name='urcu_memb_call_rcu_before_fork' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_call_rcu_data_free -->
+    <elf-symbol name='urcu_memb_call_rcu_data_free' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_create_all_cpu_call_rcu_data -->
+    <elf-symbol name='urcu_memb_create_all_cpu_call_rcu_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_create_call_rcu_data -->
+    <elf-symbol name='urcu_memb_create_call_rcu_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_defer_barrier -->
+    <elf-symbol name='urcu_memb_defer_barrier' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_defer_barrier_thread -->
+    <elf-symbol name='urcu_memb_defer_barrier_thread' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_defer_exit -->
+    <elf-symbol name='urcu_memb_defer_exit' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_defer_rcu -->
+    <elf-symbol name='urcu_memb_defer_rcu' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_defer_register_thread -->
+    <elf-symbol name='urcu_memb_defer_register_thread' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_defer_unregister_thread -->
+    <elf-symbol name='urcu_memb_defer_unregister_thread' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_free_all_cpu_call_rcu_data -->
+    <elf-symbol name='urcu_memb_free_all_cpu_call_rcu_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_get_call_rcu_data -->
+    <elf-symbol name='urcu_memb_get_call_rcu_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_get_call_rcu_thread -->
+    <elf-symbol name='urcu_memb_get_call_rcu_thread' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_get_cpu_call_rcu_data -->
+    <elf-symbol name='urcu_memb_get_cpu_call_rcu_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_get_default_call_rcu_data -->
+    <elf-symbol name='urcu_memb_get_default_call_rcu_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_get_thread_call_rcu_data -->
+    <elf-symbol name='urcu_memb_get_thread_call_rcu_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_init -->
+    <elf-symbol name='urcu_memb_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_read_lock -->
+    <elf-symbol name='urcu_memb_read_lock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_read_ongoing -->
+    <elf-symbol name='urcu_memb_read_ongoing' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_read_unlock -->
+    <elf-symbol name='urcu_memb_read_unlock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_register_rculfhash_atfork -->
+    <elf-symbol name='urcu_memb_register_rculfhash_atfork' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_register_thread -->
+    <elf-symbol name='urcu_memb_register_thread' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_set_cpu_call_rcu_data -->
+    <elf-symbol name='urcu_memb_set_cpu_call_rcu_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_set_thread_call_rcu_data -->
+    <elf-symbol name='urcu_memb_set_thread_call_rcu_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_synchronize_rcu -->
+    <elf-symbol name='urcu_memb_synchronize_rcu' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_unregister_rculfhash_atfork -->
+    <elf-symbol name='urcu_memb_unregister_rculfhash_atfork' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_unregister_thread -->
+    <elf-symbol name='urcu_memb_unregister_thread' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <elf-variable-symbols>
+    <!-- __urcu_compat_futex_cond -->
+    <elf-symbol name='__urcu_compat_futex_cond' size='48' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- __urcu_compat_futex_lock -->
+    <elf-symbol name='__urcu_compat_futex_lock' size='40' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_flavor -->
+    <elf-symbol name='urcu_memb_flavor' size='112' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_gp -->
+    <elf-symbol name='urcu_memb_gp' size='128' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_has_sys_membarrier -->
+    <elf-symbol name='urcu_memb_has_sys_membarrier' size='4' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_reader -->
+    <elf-symbol name='urcu_memb_reader' size='256' type='tls-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-variable-symbols>
+  <abi-instr version='1.0' address-size='64' path='urcu.c' comp-dir-path='src' language='LANG_C99'>
+    <!-- int -->
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <!-- int urcu_memb_has_sys_membarrier -->
+    <var-decl name='urcu_memb_has_sys_membarrier' type-id='type-id-1' mangled-name='urcu_memb_has_sys_membarrier' visibility='default' filepath='../include/urcu/static/urcu-memb.h' line='72' column='1' elf-symbol-id='urcu_memb_has_sys_membarrier'/>
+    <!-- struct urcu_gp -->
+    <class-decl name='urcu_gp' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='66' column='1' id='type-id-2'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- unsigned long int urcu_gp::ctr -->
+        <var-decl name='ctr' type-id='type-id-3' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='74' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- int32_t urcu_gp::futex -->
+        <var-decl name='futex' type-id='type-id-4' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='76' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- unsigned long int -->
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-3'/>
+    <!-- typedef int __int32_t -->
+    <typedef-decl name='__int32_t' type-id='type-id-1' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='40' column='1' id='type-id-5'/>
+    <!-- typedef __int32_t int32_t -->
+    <typedef-decl name='int32_t' type-id='type-id-5' filepath='/usr/include/x86_64-linux-gnu/bits/stdint-intn.h' line='26' column='1' id='type-id-4'/>
+    <!-- urcu_gp urcu_memb_gp -->
+    <var-decl name='urcu_memb_gp' type-id='type-id-2' mangled-name='urcu_memb_gp' visibility='default' filepath='../include/urcu/static/urcu-memb.h' line='83' column='1' elf-symbol-id='urcu_memb_gp'/>
+    <!-- struct urcu_reader -->
+    <class-decl name='urcu_reader' size-in-bits='2048' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='79' column='1' id='type-id-6'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- unsigned long int urcu_reader::ctr -->
+        <var-decl name='ctr' type-id='type-id-3' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- char urcu_reader::need_mb -->
+        <var-decl name='need_mb' type-id='type-id-7' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='82' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <!-- cds_list_head urcu_reader::node -->
+        <var-decl name='node' type-id='type-id-8' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <!-- pthread_t urcu_reader::tid -->
+        <var-decl name='tid' type-id='type-id-9' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='31'>
+        <!-- unsigned int urcu_reader::registered -->
+        <var-decl name='registered' type-id='type-id-10' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='87' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- char -->
+    <type-decl name='char' size-in-bits='8' id='type-id-7'/>
+    <!-- struct cds_list_head -->
+    <class-decl name='cds_list_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/list.h' line='37' column='1' id='type-id-8'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_list_head* cds_list_head::next -->
+        <var-decl name='next' type-id='type-id-11' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- cds_list_head* cds_list_head::prev -->
+        <var-decl name='prev' type-id='type-id-11' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- cds_list_head* -->
+    <pointer-type-def type-id='type-id-8' size-in-bits='64' id='type-id-11'/>
+    <!-- typedef unsigned long int pthread_t -->
+    <typedef-decl name='pthread_t' type-id='type-id-3' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='27' column='1' id='type-id-9'/>
+    <!-- unsigned int -->
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-10'/>
+    <!-- urcu_reader urcu_memb_reader -->
+    <var-decl name='urcu_memb_reader' type-id='type-id-6' mangled-name='urcu_memb_reader' visibility='default' filepath='../include/urcu/static/urcu-memb.h' line='85' column='1' elf-symbol-id='urcu_memb_reader'/>
+    <!-- struct rcu_flavor_struct -->
+    <class-decl name='rcu_flavor_struct' size-in-bits='896' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='42' column='1' id='type-id-12'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- void ()* rcu_flavor_struct::read_lock -->
+        <var-decl name='read_lock' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='43' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- void ()* rcu_flavor_struct::read_unlock -->
+        <var-decl name='read_unlock' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='44' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <!-- int ()* rcu_flavor_struct::read_ongoing -->
+        <var-decl name='read_ongoing' type-id='type-id-14' visibility='default' filepath='../include/urcu/flavor.h' line='45' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <!-- void ()* rcu_flavor_struct::read_quiescent_state -->
+        <var-decl name='read_quiescent_state' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='46' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <!-- void (rcu_head*, void (rcu_head*)*)* rcu_flavor_struct::update_call_rcu -->
+        <var-decl name='update_call_rcu' type-id='type-id-15' visibility='default' filepath='../include/urcu/flavor.h' line='47' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <!-- void ()* rcu_flavor_struct::update_synchronize_rcu -->
+        <var-decl name='update_synchronize_rcu' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <!-- void (void (void*)*, void*)* rcu_flavor_struct::update_defer_rcu -->
+        <var-decl name='update_defer_rcu' type-id='type-id-16' visibility='default' filepath='../include/urcu/flavor.h' line='50' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <!-- void ()* rcu_flavor_struct::thread_offline -->
+        <var-decl name='thread_offline' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <!-- void ()* rcu_flavor_struct::thread_online -->
+        <var-decl name='thread_online' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <!-- void ()* rcu_flavor_struct::register_thread -->
+        <var-decl name='register_thread' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='54' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <!-- void ()* rcu_flavor_struct::unregister_thread -->
+        <var-decl name='unregister_thread' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <!-- void ()* rcu_flavor_struct::barrier -->
+        <var-decl name='barrier' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='57' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <!-- void (urcu_atfork*)* rcu_flavor_struct::register_rculfhash_atfork -->
+        <var-decl name='register_rculfhash_atfork' type-id='type-id-17' visibility='default' filepath='../include/urcu/flavor.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <!-- void (urcu_atfork*)* rcu_flavor_struct::unregister_rculfhash_atfork -->
+        <var-decl name='unregister_rculfhash_atfork' type-id='type-id-17' visibility='default' filepath='../include/urcu/flavor.h' line='60' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- void -->
+    <type-decl name='void' id='type-id-18'/>
+    <!-- void ()* -->
+    <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-13'/>
+    <!-- int ()* -->
+    <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-14'/>
+    <!-- struct rcu_head -->
+    <class-decl name='rcu_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/call-rcu.h' line='57' column='1' id='type-id-21'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_wfcq_node rcu_head::next -->
+        <var-decl name='next' type-id='type-id-22' visibility='default' filepath='../include/urcu/call-rcu.h' line='58' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- void (rcu_head*)* rcu_head::func -->
+        <var-decl name='func' type-id='type-id-23' visibility='default' filepath='../include/urcu/call-rcu.h' line='59' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- struct cds_wfcq_node -->
+    <class-decl name='cds_wfcq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='58' column='1' id='type-id-22'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_wfcq_node* cds_wfcq_node::next -->
+        <var-decl name='next' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='59' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- cds_wfcq_node* -->
+    <pointer-type-def type-id='type-id-22' size-in-bits='64' id='type-id-24'/>
+    <!-- rcu_head* -->
+    <pointer-type-def type-id='type-id-21' size-in-bits='64' id='type-id-25'/>
+    <!-- void (rcu_head*)* -->
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-23'/>
+    <!-- void (rcu_head*, void (rcu_head*)*)* -->
+    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-15'/>
+    <!-- void* -->
+    <pointer-type-def type-id='type-id-18' size-in-bits='64' id='type-id-28'/>
+    <!-- void (void*)* -->
+    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-30'/>
+    <!-- void (void (void*)*, void*)* -->
+    <pointer-type-def type-id='type-id-31' size-in-bits='64' id='type-id-16'/>
+    <!-- struct urcu_atfork -->
+    <class-decl name='urcu_atfork' size-in-bits='256' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='32' column='1' id='type-id-32'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- void (void*)* urcu_atfork::before_fork -->
+        <var-decl name='before_fork' type-id='type-id-30' visibility='default' filepath='../include/urcu/flavor.h' line='33' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- void (void*)* urcu_atfork::after_fork_parent -->
+        <var-decl name='after_fork_parent' type-id='type-id-30' visibility='default' filepath='../include/urcu/flavor.h' line='34' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <!-- void (void*)* urcu_atfork::after_fork_child -->
+        <var-decl name='after_fork_child' type-id='type-id-30' visibility='default' filepath='../include/urcu/flavor.h' line='35' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <!-- void* urcu_atfork::priv -->
+        <var-decl name='priv' type-id='type-id-28' visibility='default' filepath='../include/urcu/flavor.h' line='36' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- urcu_atfork* -->
+    <pointer-type-def type-id='type-id-32' size-in-bits='64' id='type-id-33'/>
+    <!-- void (urcu_atfork*)* -->
+    <pointer-type-def type-id='type-id-34' size-in-bits='64' id='type-id-17'/>
+    <!-- const rcu_flavor_struct -->
+    <qualified-type-def type-id='type-id-12' const='yes' id='type-id-35'/>
+    <!-- const rcu_flavor_struct urcu_memb_flavor -->
+    <var-decl name='urcu_memb_flavor' type-id='type-id-35' mangled-name='urcu_memb_flavor' visibility='default' filepath='../include/urcu/flavor.h' line='81' column='1' elf-symbol-id='urcu_memb_flavor'/>
+    <!-- void urcu_memb_defer_exit() -->
+    <function-decl name='urcu_memb_defer_exit' mangled-name='urcu_memb_defer_exit' filepath='src/urcu-defer-impl.h' line='467' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_defer_exit'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_defer_unregister_thread() -->
+    <function-decl name='urcu_memb_defer_unregister_thread' mangled-name='urcu_memb_defer_unregister_thread' filepath='src/urcu-defer-impl.h' line='449' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_defer_unregister_thread'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- int urcu_memb_defer_register_thread() -->
+    <function-decl name='urcu_memb_defer_register_thread' mangled-name='urcu_memb_defer_register_thread' filepath='src/urcu-defer-impl.h' line='427' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_defer_register_thread'>
+      <!-- int -->
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <!-- void urcu_memb_defer_rcu(void (void*)*, void*) -->
+    <function-decl name='urcu_memb_defer_rcu' mangled-name='urcu_memb_defer_rcu' filepath='src/urcu-defer-impl.h' line='396' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_defer_rcu'>
+      <!-- parameter of type 'void (void*)*' -->
+      <parameter type-id='type-id-30' name='fct' filepath='src/urcu-defer-impl.h' line='396' column='1'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-28' name='p' filepath='src/urcu-defer-impl.h' line='396' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_defer_barrier() -->
+    <function-decl name='urcu_memb_defer_barrier' mangled-name='urcu_memb_defer_barrier' filepath='src/urcu-defer-impl.h' line='282' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_defer_barrier'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_defer_barrier_thread() -->
+    <function-decl name='urcu_memb_defer_barrier_thread' mangled-name='urcu_memb_defer_barrier_thread' filepath='src/urcu-defer-impl.h' line='262' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_defer_barrier_thread'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_unregister_rculfhash_atfork(urcu_atfork*) -->
+    <function-decl name='urcu_memb_unregister_rculfhash_atfork' mangled-name='urcu_memb_unregister_rculfhash_atfork' filepath='src/urcu-call-rcu-impl.h' line='1012' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_unregister_rculfhash_atfork'>
+      <!-- parameter of type 'urcu_atfork*' -->
+      <parameter type-id='type-id-33' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1012' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_register_rculfhash_atfork(urcu_atfork*) -->
+    <function-decl name='urcu_memb_register_rculfhash_atfork' mangled-name='urcu_memb_register_rculfhash_atfork' filepath='src/urcu-call-rcu-impl.h' line='1002' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_register_rculfhash_atfork'>
+      <!-- parameter of type 'urcu_atfork*' -->
+      <parameter type-id='type-id-33' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1012' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_call_rcu_after_fork_child() -->
+    <function-decl name='urcu_memb_call_rcu_after_fork_child' mangled-name='urcu_memb_call_rcu_after_fork_child' filepath='src/urcu-call-rcu-impl.h' line='960' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_call_rcu_after_fork_child'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_call_rcu_after_fork_parent() -->
+    <function-decl name='urcu_memb_call_rcu_after_fork_parent' mangled-name='urcu_memb_call_rcu_after_fork_parent' filepath='src/urcu-call-rcu-impl.h' line='938' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_call_rcu_after_fork_parent'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_call_rcu_before_fork() -->
+    <function-decl name='urcu_memb_call_rcu_before_fork' mangled-name='urcu_memb_call_rcu_before_fork' filepath='src/urcu-call-rcu-impl.h' line='911' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_call_rcu_before_fork'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_barrier() -->
+    <function-decl name='urcu_memb_barrier' mangled-name='urcu_memb_barrier' filepath='src/urcu-call-rcu-impl.h' line='840' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_barrier'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_free_all_cpu_call_rcu_data() -->
+    <function-decl name='urcu_memb_free_all_cpu_call_rcu_data' mangled-name='urcu_memb_free_all_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='777' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_free_all_cpu_call_rcu_data'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- struct call_rcu_data -->
+    <class-decl name='call_rcu_data' size-in-bits='1024' is-struct='yes' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='53' column='1' id='type-id-36'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_wfcq_tail call_rcu_data::cbs_tail -->
+        <var-decl name='cbs_tail' type-id='type-id-37' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='61' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- cds_wfcq_head call_rcu_data::cbs_head -->
+        <var-decl name='cbs_head' type-id='type-id-38' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <!-- unsigned long int call_rcu_data::flags -->
+        <var-decl name='flags' type-id='type-id-3' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <!-- int32_t call_rcu_data::futex -->
+        <var-decl name='futex' type-id='type-id-4' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <!-- unsigned long int call_rcu_data::qlen -->
+        <var-decl name='qlen' type-id='type-id-3' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <!-- pthread_t call_rcu_data::tid -->
+        <var-decl name='tid' type-id='type-id-9' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <!-- int call_rcu_data::cpu_affinity -->
+        <var-decl name='cpu_affinity' type-id='type-id-1' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='67' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <!-- unsigned long int call_rcu_data::gp_count -->
+        <var-decl name='gp_count' type-id='type-id-3' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <!-- cds_list_head call_rcu_data::list -->
+        <var-decl name='list' type-id='type-id-8' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='69' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- struct cds_wfcq_tail -->
+    <class-decl name='cds_wfcq_tail' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='140' column='1' id='type-id-37'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_wfcq_node* cds_wfcq_tail::p -->
+        <var-decl name='p' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='141' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- struct cds_wfcq_head -->
+    <class-decl name='cds_wfcq_head' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='71' column='1' id='type-id-38'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_wfcq_node cds_wfcq_head::node -->
+        <var-decl name='node' type-id='type-id-22' visibility='default' filepath='../include/urcu/wfcqueue.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- pthread_mutex_t cds_wfcq_head::lock -->
+        <var-decl name='lock' type-id='type-id-39' visibility='default' filepath='../include/urcu/wfcqueue.h' line='73' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='67' column='1' id='type-id-40'>
+      <data-member access='private'>
+        <!-- __pthread_mutex_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-41' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='69' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <!-- char __anonymous_union__::__size[40] -->
+        <var-decl name='__size' type-id='type-id-42' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <!-- long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-43' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='71' column='1'/>
+      </data-member>
+    </union-decl>
+    <!-- struct __pthread_mutex_s -->
+    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='118' column='1' id='type-id-41'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- int __pthread_mutex_s::__lock -->
+        <var-decl name='__lock' type-id='type-id-1' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='120' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <!-- unsigned int __pthread_mutex_s::__count -->
+        <var-decl name='__count' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='121' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- int __pthread_mutex_s::__owner -->
+        <var-decl name='__owner' type-id='type-id-1' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='122' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <!-- unsigned int __pthread_mutex_s::__nusers -->
+        <var-decl name='__nusers' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='124' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <!-- int __pthread_mutex_s::__kind -->
+        <var-decl name='__kind' type-id='type-id-1' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='148' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <!-- short int __pthread_mutex_s::__spins -->
+        <var-decl name='__spins' type-id='type-id-44' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <!-- short int __pthread_mutex_s::__elision -->
+        <var-decl name='__elision' type-id='type-id-44' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <!-- __pthread_list_t __pthread_mutex_s::__list -->
+        <var-decl name='__list' type-id='type-id-45' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='155' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- short int -->
+    <type-decl name='short int' size-in-bits='16' id='type-id-44'/>
+    <!-- struct __pthread_internal_list -->
+    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='82' column='1' id='type-id-46'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- __pthread_internal_list* __pthread_internal_list::__prev -->
+        <var-decl name='__prev' type-id='type-id-47' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- __pthread_internal_list* __pthread_internal_list::__next -->
+        <var-decl name='__next' type-id='type-id-47' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='85' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- __pthread_internal_list* -->
+    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-47'/>
+    <!-- typedef __pthread_internal_list __pthread_list_t -->
+    <typedef-decl name='__pthread_list_t' type-id='type-id-46' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='86' column='1' id='type-id-45'/>
+
+    <!-- char[40] -->
+    <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='320' id='type-id-42'>
+      <!-- <anonymous range>[40] -->
+      <subrange length='40' type-id='type-id-3' id='type-id-48'/>
+
+    </array-type-def>
+    <!-- long int -->
+    <type-decl name='long int' size-in-bits='64' id='type-id-43'/>
+    <!-- typedef __anonymous_union__ pthread_mutex_t -->
+    <typedef-decl name='pthread_mutex_t' type-id='type-id-40' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='72' column='1' id='type-id-39'/>
+    <!-- call_rcu_data* -->
+    <pointer-type-def type-id='type-id-36' size-in-bits='64' id='type-id-49'/>
+    <!-- void urcu_memb_call_rcu_data_free(call_rcu_data*) -->
+    <function-decl name='urcu_memb_call_rcu_data_free' mangled-name='urcu_memb_call_rcu_data_free' filepath='src/urcu-call-rcu-impl.h' line='742' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_call_rcu_data_free'>
+      <!-- parameter of type 'call_rcu_data*' -->
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='742' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_call_rcu(rcu_head*, void (rcu_head*)*) -->
+    <function-decl name='urcu_memb_call_rcu' mangled-name='urcu_memb_call_rcu' filepath='src/urcu-call-rcu-impl.h' line='704' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_call_rcu'>
+      <!-- parameter of type 'rcu_head*' -->
+      <parameter type-id='type-id-25' name='head' filepath='src/urcu-call-rcu-impl.h' line='704' column='1'/>
+      <!-- parameter of type 'void (rcu_head*)*' -->
+      <parameter type-id='type-id-23' name='func' filepath='src/urcu-call-rcu-impl.h' line='705' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- int urcu_memb_create_all_cpu_call_rcu_data(unsigned long int) -->
+    <function-decl name='urcu_memb_create_all_cpu_call_rcu_data' mangled-name='urcu_memb_create_all_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='626' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_create_all_cpu_call_rcu_data'>
+      <!-- parameter of type 'unsigned long int' -->
+      <parameter type-id='type-id-3' name='flags' filepath='src/urcu-call-rcu-impl.h' line='626' column='1'/>
+      <!-- int -->
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <!-- void urcu_memb_set_thread_call_rcu_data(call_rcu_data*) -->
+    <function-decl name='urcu_memb_set_thread_call_rcu_data' mangled-name='urcu_memb_set_thread_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='613' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_set_thread_call_rcu_data'>
+      <!-- parameter of type 'call_rcu_data*' -->
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='613' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- call_rcu_data* urcu_memb_get_thread_call_rcu_data() -->
+    <function-decl name='urcu_memb_get_thread_call_rcu_data' mangled-name='urcu_memb_get_thread_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='597' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_get_thread_call_rcu_data'>
+      <!-- call_rcu_data* -->
+      <return type-id='type-id-49'/>
+    </function-decl>
+    <!-- call_rcu_data* urcu_memb_get_call_rcu_data() -->
+    <function-decl name='urcu_memb_get_call_rcu_data' mangled-name='urcu_memb_get_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='577' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_get_call_rcu_data'>
+      <!-- call_rcu_data* -->
+      <return type-id='type-id-49'/>
+    </function-decl>
+    <!-- call_rcu_data* urcu_memb_get_default_call_rcu_data() -->
+    <function-decl name='urcu_memb_get_default_call_rcu_data' mangled-name='urcu_memb_get_default_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='552' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_get_default_call_rcu_data'>
+      <!-- call_rcu_data* -->
+      <return type-id='type-id-49'/>
+    </function-decl>
+    <!-- int urcu_memb_set_cpu_call_rcu_data(int, call_rcu_data*) -->
+    <function-decl name='urcu_memb_set_cpu_call_rcu_data' mangled-name='urcu_memb_set_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='513' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_set_cpu_call_rcu_data'>
+      <!-- parameter of type 'int' -->
+      <parameter type-id='type-id-1' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='513' column='1'/>
+      <!-- parameter of type 'call_rcu_data*' -->
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='513' column='1'/>
+      <!-- int -->
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <!-- call_rcu_data* urcu_memb_create_call_rcu_data(unsigned long int, int) -->
+    <function-decl name='urcu_memb_create_call_rcu_data' mangled-name='urcu_memb_create_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='489' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_create_call_rcu_data'>
+      <!-- parameter of type 'unsigned long int' -->
+      <parameter type-id='type-id-3' name='flags' filepath='src/urcu-call-rcu-impl.h' line='489' column='1'/>
+      <!-- parameter of type 'int' -->
+      <parameter type-id='type-id-1' name='cpu_affinity' filepath='src/urcu-call-rcu-impl.h' line='490' column='1'/>
+      <!-- call_rcu_data* -->
+      <return type-id='type-id-49'/>
+    </function-decl>
+    <!-- pthread_t urcu_memb_get_call_rcu_thread(call_rcu_data*) -->
+    <function-decl name='urcu_memb_get_call_rcu_thread' mangled-name='urcu_memb_get_call_rcu_thread' filepath='src/urcu-call-rcu-impl.h' line='471' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_get_call_rcu_thread'>
+      <!-- parameter of type 'call_rcu_data*' -->
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='471' column='1'/>
+      <!-- typedef pthread_t -->
+      <return type-id='type-id-9'/>
+    </function-decl>
+    <!-- call_rcu_data* urcu_memb_get_cpu_call_rcu_data(int) -->
+    <function-decl name='urcu_memb_get_cpu_call_rcu_data' mangled-name='urcu_memb_get_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='449' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_get_cpu_call_rcu_data'>
+      <!-- parameter of type 'int' -->
+      <parameter type-id='type-id-1' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='449' column='1'/>
+      <!-- call_rcu_data* -->
+      <return type-id='type-id-49'/>
+    </function-decl>
+    <!-- void urcu_memb_init() -->
+    <function-decl name='urcu_memb_init' mangled-name='urcu_memb_init' filepath='src/urcu.c' line='594' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_init'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_unregister_thread() -->
+    <function-decl name='urcu_memb_unregister_thread' mangled-name='urcu_memb_unregister_thread' filepath='src/urcu.c' line='546' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_unregister_thread'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_register_thread() -->
+    <function-decl name='urcu_memb_register_thread' mangled-name='urcu_memb_register_thread' filepath='src/urcu.c' line='532' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_register_thread'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- int urcu_memb_read_ongoing() -->
+    <function-decl name='urcu_memb_read_ongoing' mangled-name='urcu_memb_read_ongoing' filepath='src/urcu.c' line='527' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_read_ongoing'>
+      <!-- int -->
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <!-- void urcu_memb_read_unlock() -->
+    <function-decl name='urcu_memb_read_unlock' mangled-name='urcu_memb_read_unlock' filepath='src/urcu.c' line='522' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_read_unlock'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_read_lock() -->
+    <function-decl name='urcu_memb_read_lock' mangled-name='urcu_memb_read_lock' filepath='src/urcu.c' line='517' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_read_lock'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_synchronize_rcu() -->
+    <function-decl name='urcu_memb_synchronize_rcu' mangled-name='urcu_memb_synchronize_rcu' filepath='src/urcu.c' line='396' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_synchronize_rcu'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- int () -->
+    <function-type size-in-bits='64' id='type-id-20'>
+      <!-- int -->
+      <return type-id='type-id-1'/>
+    </function-type>
+    <!-- void () -->
+    <function-type size-in-bits='64' id='type-id-19'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-type>
+    <!-- void (rcu_head*) -->
+    <function-type size-in-bits='64' id='type-id-26'>
+      <!-- parameter of type 'rcu_head*' -->
+      <parameter type-id='type-id-25'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-type>
+    <!-- void (rcu_head*, void (rcu_head*)*) -->
+    <function-type size-in-bits='64' id='type-id-27'>
+      <!-- parameter of type 'rcu_head*' -->
+      <parameter type-id='type-id-25'/>
+      <!-- parameter of type 'void (rcu_head*)*' -->
+      <parameter type-id='type-id-23'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-type>
+    <!-- void (urcu_atfork*) -->
+    <function-type size-in-bits='64' id='type-id-34'>
+      <!-- parameter of type 'urcu_atfork*' -->
+      <parameter type-id='type-id-33'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-type>
+    <!-- void (void (void*)*, void*) -->
+    <function-type size-in-bits='64' id='type-id-31'>
+      <!-- parameter of type 'void (void*)*' -->
+      <parameter type-id='type-id-30'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-28'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-type>
+    <!-- void (void*) -->
+    <function-type size-in-bits='64' id='type-id-29'>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-28'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='urcu-pointer.c' comp-dir-path='src' language='LANG_C99'>
+    <!-- void** -->
+    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-50'/>
+    <!-- void* rcu_cmpxchg_pointer_sym(void**, void*, void*) -->
+    <function-decl name='rcu_cmpxchg_pointer_sym' mangled-name='rcu_cmpxchg_pointer_sym' filepath='src/urcu-pointer.c' line='53' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_cmpxchg_pointer_sym'>
+      <!-- parameter of type 'void**' -->
+      <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='53' column='1'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-28' name='old' filepath='src/urcu-pointer.c' line='53' column='1'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-28' name='_new' filepath='src/urcu-pointer.c' line='53' column='1'/>
+      <!-- void* -->
+      <return type-id='type-id-28'/>
+    </function-decl>
+    <!-- void* rcu_xchg_pointer_sym(void**, void*) -->
+    <function-decl name='rcu_xchg_pointer_sym' mangled-name='rcu_xchg_pointer_sym' filepath='src/urcu-pointer.c' line='47' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_xchg_pointer_sym'>
+      <!-- parameter of type 'void**' -->
+      <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='47' column='1'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-28' name='v' filepath='src/urcu-pointer.c' line='47' column='1'/>
+      <!-- void* -->
+      <return type-id='type-id-28'/>
+    </function-decl>
+    <!-- void* rcu_set_pointer_sym(void**, void*) -->
+    <function-decl name='rcu_set_pointer_sym' mangled-name='rcu_set_pointer_sym' filepath='src/urcu-pointer.c' line='40' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_set_pointer_sym'>
+      <!-- parameter of type 'void**' -->
+      <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='40' column='1'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-28' name='v' filepath='src/urcu-pointer.c' line='40' column='1'/>
+      <!-- void* -->
+      <return type-id='type-id-28'/>
+    </function-decl>
+    <!-- void* rcu_dereference_sym(void*) -->
+    <function-decl name='rcu_dereference_sym' mangled-name='rcu_dereference_sym' filepath='src/urcu-pointer.c' line='35' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_dereference_sym'>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-28' name='p' filepath='src/urcu-pointer.c' line='35' column='1'/>
+      <!-- void* -->
+      <return type-id='type-id-28'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='compat_futex.c' comp-dir-path='src' language='LANG_C99'>
+    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
+    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-39' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='75' column='1' id='type-id-51'>
+      <data-member access='private'>
+        <!-- __pthread_cond_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-52' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <!-- char __anonymous_union__::__size[48] -->
+        <var-decl name='__size' type-id='type-id-53' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <!-- long long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-54' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='79' column='1'/>
+      </data-member>
+    </union-decl>
+    <!-- struct __pthread_cond_s -->
+    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='171' column='1' id='type-id-52'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- __anonymous_union__  -->
+        <var-decl name='' type-id='type-id-55' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <!-- unsigned int __pthread_cond_s::__g_refs[2] -->
+        <var-decl name='__g_refs' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <!-- unsigned int __pthread_cond_s::__g_size[2] -->
+        <var-decl name='__g_size' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='192' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <!-- unsigned int __pthread_cond_s::__g1_orig_size -->
+        <var-decl name='__g1_orig_size' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='193' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <!-- unsigned int __pthread_cond_s::__wrefs -->
+        <var-decl name='__wrefs' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <!-- unsigned int __pthread_cond_s::__g_signals[2] -->
+        <var-decl name='__g_signals' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='195' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='173' column='1' id='type-id-55'>
+      <data-member access='private'>
+        <!-- long long unsigned int __anonymous_union__::__wseq -->
+        <var-decl name='__wseq' type-id='type-id-57' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='175' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <!-- __anonymous_struct__ __anonymous_union__::__wseq32 -->
+        <var-decl name='__wseq32' type-id='type-id-58' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='180' column='1'/>
+      </data-member>
+    </union-decl>
+    <!-- long long unsigned int -->
+    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-57'/>
+    <!-- struct __anonymous_struct__ -->
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='176' column='1' id='type-id-58'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- unsigned int __anonymous_struct__::__low -->
+        <var-decl name='__low' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='178' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <!-- unsigned int __anonymous_struct__::__high -->
+        <var-decl name='__high' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='179' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <!-- unsigned int[2] -->
+    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='64' id='type-id-56'>
+      <!-- <anonymous range>[2] -->
+      <subrange length='2' type-id='type-id-3' id='type-id-59'/>
+
+    </array-type-def>
+
+    <!-- char[48] -->
+    <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='384' id='type-id-53'>
+      <!-- <anonymous range>[48] -->
+      <subrange length='48' type-id='type-id-3' id='type-id-60'/>
+
+    </array-type-def>
+    <!-- long long int -->
+    <type-decl name='long long int' size-in-bits='64' id='type-id-54'/>
+    <!-- typedef __anonymous_union__ pthread_cond_t -->
+    <typedef-decl name='pthread_cond_t' type-id='type-id-51' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='80' column='1' id='type-id-61'/>
+    <!-- pthread_cond_t __urcu_compat_futex_cond -->
+    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-61' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
+    <!-- int32_t* -->
+    <pointer-type-def type-id='type-id-4' size-in-bits='64' id='type-id-62'/>
+    <!-- struct timespec -->
+    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='9' column='1' id='type-id-63'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- __time_t timespec::tv_sec -->
+        <var-decl name='tv_sec' type-id='type-id-64' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='11' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- __syscall_slong_t timespec::tv_nsec -->
+        <var-decl name='tv_nsec' type-id='type-id-65' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='12' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- typedef long int __time_t -->
+    <typedef-decl name='__time_t' type-id='type-id-43' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='148' column='1' id='type-id-64'/>
+    <!-- typedef long int __syscall_slong_t -->
+    <typedef-decl name='__syscall_slong_t' type-id='type-id-43' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='184' column='1' id='type-id-65'/>
+    <!-- const timespec -->
+    <qualified-type-def type-id='type-id-63' const='yes' id='type-id-66'/>
+    <!-- const timespec* -->
+    <pointer-type-def type-id='type-id-66' size-in-bits='64' id='type-id-67'/>
+    <!-- int compat_futex_async(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
+    <function-decl name='compat_futex_async' mangled-name='compat_futex_async' filepath='src/compat_futex.c' line='118' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_async'>
+      <!-- parameter of type 'int32_t*' -->
+      <parameter type-id='type-id-62' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
+      <!-- parameter of type 'int' -->
+      <parameter type-id='type-id-1' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
+      <!-- parameter of type 'typedef int32_t' -->
+      <parameter type-id='type-id-4' name='val' filepath='src/compat_futex.c' line='118' column='1'/>
+      <!-- parameter of type 'const timespec*' -->
+      <parameter type-id='type-id-67' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
+      <!-- parameter of type 'int32_t*' -->
+      <parameter type-id='type-id-62' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
+      <!-- parameter of type 'typedef int32_t' -->
+      <parameter type-id='type-id-4' name='val3' filepath='src/compat_futex.c' line='119' column='1'/>
+      <!-- int -->
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <!-- int compat_futex_noasync(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
+    <function-decl name='compat_futex_noasync' mangled-name='compat_futex_noasync' filepath='src/compat_futex.c' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_noasync'>
+      <!-- parameter of type 'int32_t*' -->
+      <parameter type-id='type-id-62' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
+      <!-- parameter of type 'int' -->
+      <parameter type-id='type-id-1' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
+      <!-- parameter of type 'typedef int32_t' -->
+      <parameter type-id='type-id-4' name='val' filepath='src/compat_futex.c' line='54' column='1'/>
+      <!-- parameter of type 'const timespec*' -->
+      <parameter type-id='type-id-67' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
+      <!-- parameter of type 'int32_t*' -->
+      <parameter type-id='type-id-62' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
+      <!-- parameter of type 'typedef int32_t' -->
+      <parameter type-id='type-id-4' name='val3' filepath='src/compat_futex.c' line='55' column='1'/>
+      <!-- int -->
+      <return type-id='type-id-1'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
diff --git a/extras/abi/0.14/x86_64-pc-linux-gnu/liburcu-qsbr.so.8.xml b/extras/abi/0.14/x86_64-pc-linux-gnu/liburcu-qsbr.so.8.xml
new file mode 100644 (file)
index 0000000..1c4f199
--- /dev/null
@@ -0,0 +1,867 @@
+<abi-corpus architecture='elf-amd-x86_64' soname='liburcu-qsbr.so.8'>
+  <elf-needed>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <!-- _fini -->
+    <elf-symbol name='_fini' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- _init -->
+    <elf-symbol name='_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- compat_futex_async -->
+    <elf-symbol name='compat_futex_async' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- compat_futex_noasync -->
+    <elf-symbol name='compat_futex_noasync' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- rcu_cmpxchg_pointer_sym -->
+    <elf-symbol name='rcu_cmpxchg_pointer_sym' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- rcu_dereference_sym -->
+    <elf-symbol name='rcu_dereference_sym' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- rcu_set_pointer_sym -->
+    <elf-symbol name='rcu_set_pointer_sym' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- rcu_xchg_pointer_sym -->
+    <elf-symbol name='rcu_xchg_pointer_sym' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_qsbr_barrier -->
+    <elf-symbol name='urcu_qsbr_barrier' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_qsbr_call_rcu -->
+    <elf-symbol name='urcu_qsbr_call_rcu' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_qsbr_call_rcu_after_fork_child -->
+    <elf-symbol name='urcu_qsbr_call_rcu_after_fork_child' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_qsbr_call_rcu_after_fork_parent -->
+    <elf-symbol name='urcu_qsbr_call_rcu_after_fork_parent' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_qsbr_call_rcu_before_fork -->
+    <elf-symbol name='urcu_qsbr_call_rcu_before_fork' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_qsbr_call_rcu_data_free -->
+    <elf-symbol name='urcu_qsbr_call_rcu_data_free' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_qsbr_create_all_cpu_call_rcu_data -->
+    <elf-symbol name='urcu_qsbr_create_all_cpu_call_rcu_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_qsbr_create_call_rcu_data -->
+    <elf-symbol name='urcu_qsbr_create_call_rcu_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_qsbr_defer_barrier -->
+    <elf-symbol name='urcu_qsbr_defer_barrier' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_qsbr_defer_barrier_thread -->
+    <elf-symbol name='urcu_qsbr_defer_barrier_thread' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_qsbr_defer_exit -->
+    <elf-symbol name='urcu_qsbr_defer_exit' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_qsbr_defer_rcu -->
+    <elf-symbol name='urcu_qsbr_defer_rcu' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_qsbr_defer_register_thread -->
+    <elf-symbol name='urcu_qsbr_defer_register_thread' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_qsbr_defer_unregister_thread -->
+    <elf-symbol name='urcu_qsbr_defer_unregister_thread' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_qsbr_exit -->
+    <elf-symbol name='urcu_qsbr_exit' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_qsbr_free_all_cpu_call_rcu_data -->
+    <elf-symbol name='urcu_qsbr_free_all_cpu_call_rcu_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_qsbr_get_call_rcu_data -->
+    <elf-symbol name='urcu_qsbr_get_call_rcu_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_qsbr_get_call_rcu_thread -->
+    <elf-symbol name='urcu_qsbr_get_call_rcu_thread' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_qsbr_get_cpu_call_rcu_data -->
+    <elf-symbol name='urcu_qsbr_get_cpu_call_rcu_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_qsbr_get_default_call_rcu_data -->
+    <elf-symbol name='urcu_qsbr_get_default_call_rcu_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_qsbr_get_thread_call_rcu_data -->
+    <elf-symbol name='urcu_qsbr_get_thread_call_rcu_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_qsbr_quiescent_state -->
+    <elf-symbol name='urcu_qsbr_quiescent_state' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_qsbr_read_lock -->
+    <elf-symbol name='urcu_qsbr_read_lock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_qsbr_read_ongoing -->
+    <elf-symbol name='urcu_qsbr_read_ongoing' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_qsbr_read_unlock -->
+    <elf-symbol name='urcu_qsbr_read_unlock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_qsbr_register_rculfhash_atfork -->
+    <elf-symbol name='urcu_qsbr_register_rculfhash_atfork' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_qsbr_register_thread -->
+    <elf-symbol name='urcu_qsbr_register_thread' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_qsbr_set_cpu_call_rcu_data -->
+    <elf-symbol name='urcu_qsbr_set_cpu_call_rcu_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_qsbr_set_thread_call_rcu_data -->
+    <elf-symbol name='urcu_qsbr_set_thread_call_rcu_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_qsbr_synchronize_rcu -->
+    <elf-symbol name='urcu_qsbr_synchronize_rcu' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_qsbr_thread_offline -->
+    <elf-symbol name='urcu_qsbr_thread_offline' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_qsbr_thread_online -->
+    <elf-symbol name='urcu_qsbr_thread_online' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_qsbr_unregister_rculfhash_atfork -->
+    <elf-symbol name='urcu_qsbr_unregister_rculfhash_atfork' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_qsbr_unregister_thread -->
+    <elf-symbol name='urcu_qsbr_unregister_thread' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <elf-variable-symbols>
+    <!-- __urcu_compat_futex_cond -->
+    <elf-symbol name='__urcu_compat_futex_cond' size='48' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- __urcu_compat_futex_lock -->
+    <elf-symbol name='__urcu_compat_futex_lock' size='40' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_qsbr_flavor -->
+    <elf-symbol name='urcu_qsbr_flavor' size='112' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_qsbr_gp -->
+    <elf-symbol name='urcu_qsbr_gp' size='128' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_qsbr_reader -->
+    <elf-symbol name='urcu_qsbr_reader' size='256' type='tls-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-variable-symbols>
+  <abi-instr version='1.0' address-size='64' path='urcu-qsbr.c' comp-dir-path='src' language='LANG_C99'>
+    <!-- struct urcu_gp -->
+    <class-decl name='urcu_gp' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='66' column='1' id='type-id-1'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- unsigned long int urcu_gp::ctr -->
+        <var-decl name='ctr' type-id='type-id-2' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='74' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- int32_t urcu_gp::futex -->
+        <var-decl name='futex' type-id='type-id-3' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='76' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- unsigned long int -->
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-2'/>
+    <!-- int -->
+    <type-decl name='int' size-in-bits='32' id='type-id-4'/>
+    <!-- typedef int __int32_t -->
+    <typedef-decl name='__int32_t' type-id='type-id-4' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='40' column='1' id='type-id-5'/>
+    <!-- typedef __int32_t int32_t -->
+    <typedef-decl name='int32_t' type-id='type-id-5' filepath='/usr/include/x86_64-linux-gnu/bits/stdint-intn.h' line='26' column='1' id='type-id-3'/>
+    <!-- urcu_gp urcu_qsbr_gp -->
+    <var-decl name='urcu_qsbr_gp' type-id='type-id-1' mangled-name='urcu_qsbr_gp' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='63' column='1' elf-symbol-id='urcu_qsbr_gp'/>
+    <!-- struct urcu_qsbr_reader -->
+    <class-decl name='urcu_qsbr_reader' size-in-bits='2048' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='65' column='1' id='type-id-6'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- unsigned long int urcu_qsbr_reader::ctr -->
+        <var-decl name='ctr' type-id='type-id-2' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='67' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <!-- cds_list_head urcu_qsbr_reader::node -->
+        <var-decl name='node' type-id='type-id-7' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='69' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <!-- int urcu_qsbr_reader::waiting -->
+        <var-decl name='waiting' type-id='type-id-4' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <!-- pthread_t urcu_qsbr_reader::tid -->
+        <var-decl name='tid' type-id='type-id-8' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='71' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='31'>
+        <!-- unsigned int urcu_qsbr_reader::registered -->
+        <var-decl name='registered' type-id='type-id-9' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='73' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- struct cds_list_head -->
+    <class-decl name='cds_list_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/list.h' line='37' column='1' id='type-id-7'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_list_head* cds_list_head::next -->
+        <var-decl name='next' type-id='type-id-10' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- cds_list_head* cds_list_head::prev -->
+        <var-decl name='prev' type-id='type-id-10' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- cds_list_head* -->
+    <pointer-type-def type-id='type-id-7' size-in-bits='64' id='type-id-10'/>
+    <!-- typedef unsigned long int pthread_t -->
+    <typedef-decl name='pthread_t' type-id='type-id-2' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='27' column='1' id='type-id-8'/>
+    <!-- unsigned int -->
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-9'/>
+    <!-- urcu_qsbr_reader urcu_qsbr_reader -->
+    <var-decl name='urcu_qsbr_reader' type-id='type-id-6' mangled-name='urcu_qsbr_reader' visibility='default' filepath='../include/urcu/static/urcu-qsbr.h' line='76' column='1' elf-symbol-id='urcu_qsbr_reader'/>
+    <!-- struct rcu_flavor_struct -->
+    <class-decl name='rcu_flavor_struct' size-in-bits='896' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='42' column='1' id='type-id-11'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- void ()* rcu_flavor_struct::read_lock -->
+        <var-decl name='read_lock' type-id='type-id-12' visibility='default' filepath='../include/urcu/flavor.h' line='43' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- void ()* rcu_flavor_struct::read_unlock -->
+        <var-decl name='read_unlock' type-id='type-id-12' visibility='default' filepath='../include/urcu/flavor.h' line='44' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <!-- int ()* rcu_flavor_struct::read_ongoing -->
+        <var-decl name='read_ongoing' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='45' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <!-- void ()* rcu_flavor_struct::read_quiescent_state -->
+        <var-decl name='read_quiescent_state' type-id='type-id-12' visibility='default' filepath='../include/urcu/flavor.h' line='46' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <!-- void (rcu_head*, void (rcu_head*)*)* rcu_flavor_struct::update_call_rcu -->
+        <var-decl name='update_call_rcu' type-id='type-id-14' visibility='default' filepath='../include/urcu/flavor.h' line='47' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <!-- void ()* rcu_flavor_struct::update_synchronize_rcu -->
+        <var-decl name='update_synchronize_rcu' type-id='type-id-12' visibility='default' filepath='../include/urcu/flavor.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <!-- void (void (void*)*, void*)* rcu_flavor_struct::update_defer_rcu -->
+        <var-decl name='update_defer_rcu' type-id='type-id-15' visibility='default' filepath='../include/urcu/flavor.h' line='50' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <!-- void ()* rcu_flavor_struct::thread_offline -->
+        <var-decl name='thread_offline' type-id='type-id-12' visibility='default' filepath='../include/urcu/flavor.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <!-- void ()* rcu_flavor_struct::thread_online -->
+        <var-decl name='thread_online' type-id='type-id-12' visibility='default' filepath='../include/urcu/flavor.h' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <!-- void ()* rcu_flavor_struct::register_thread -->
+        <var-decl name='register_thread' type-id='type-id-12' visibility='default' filepath='../include/urcu/flavor.h' line='54' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <!-- void ()* rcu_flavor_struct::unregister_thread -->
+        <var-decl name='unregister_thread' type-id='type-id-12' visibility='default' filepath='../include/urcu/flavor.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <!-- void ()* rcu_flavor_struct::barrier -->
+        <var-decl name='barrier' type-id='type-id-12' visibility='default' filepath='../include/urcu/flavor.h' line='57' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <!-- void (urcu_atfork*)* rcu_flavor_struct::register_rculfhash_atfork -->
+        <var-decl name='register_rculfhash_atfork' type-id='type-id-16' visibility='default' filepath='../include/urcu/flavor.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <!-- void (urcu_atfork*)* rcu_flavor_struct::unregister_rculfhash_atfork -->
+        <var-decl name='unregister_rculfhash_atfork' type-id='type-id-16' visibility='default' filepath='../include/urcu/flavor.h' line='60' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- void -->
+    <type-decl name='void' id='type-id-17'/>
+    <!-- void ()* -->
+    <pointer-type-def type-id='type-id-18' size-in-bits='64' id='type-id-12'/>
+    <!-- int ()* -->
+    <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-13'/>
+    <!-- struct rcu_head -->
+    <class-decl name='rcu_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/call-rcu.h' line='57' column='1' id='type-id-20'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_wfcq_node rcu_head::next -->
+        <var-decl name='next' type-id='type-id-21' visibility='default' filepath='../include/urcu/call-rcu.h' line='58' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- void (rcu_head*)* rcu_head::func -->
+        <var-decl name='func' type-id='type-id-22' visibility='default' filepath='../include/urcu/call-rcu.h' line='59' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- struct cds_wfcq_node -->
+    <class-decl name='cds_wfcq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='58' column='1' id='type-id-21'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_wfcq_node* cds_wfcq_node::next -->
+        <var-decl name='next' type-id='type-id-23' visibility='default' filepath='../include/urcu/wfcqueue.h' line='59' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- cds_wfcq_node* -->
+    <pointer-type-def type-id='type-id-21' size-in-bits='64' id='type-id-23'/>
+    <!-- rcu_head* -->
+    <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-24'/>
+    <!-- void (rcu_head*)* -->
+    <pointer-type-def type-id='type-id-25' size-in-bits='64' id='type-id-22'/>
+    <!-- void (rcu_head*, void (rcu_head*)*)* -->
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-14'/>
+    <!-- void* -->
+    <pointer-type-def type-id='type-id-17' size-in-bits='64' id='type-id-27'/>
+    <!-- void (void*)* -->
+    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-29'/>
+    <!-- void (void (void*)*, void*)* -->
+    <pointer-type-def type-id='type-id-30' size-in-bits='64' id='type-id-15'/>
+    <!-- struct urcu_atfork -->
+    <class-decl name='urcu_atfork' size-in-bits='256' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='32' column='1' id='type-id-31'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- void (void*)* urcu_atfork::before_fork -->
+        <var-decl name='before_fork' type-id='type-id-29' visibility='default' filepath='../include/urcu/flavor.h' line='33' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- void (void*)* urcu_atfork::after_fork_parent -->
+        <var-decl name='after_fork_parent' type-id='type-id-29' visibility='default' filepath='../include/urcu/flavor.h' line='34' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <!-- void (void*)* urcu_atfork::after_fork_child -->
+        <var-decl name='after_fork_child' type-id='type-id-29' visibility='default' filepath='../include/urcu/flavor.h' line='35' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <!-- void* urcu_atfork::priv -->
+        <var-decl name='priv' type-id='type-id-27' visibility='default' filepath='../include/urcu/flavor.h' line='36' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- urcu_atfork* -->
+    <pointer-type-def type-id='type-id-31' size-in-bits='64' id='type-id-32'/>
+    <!-- void (urcu_atfork*)* -->
+    <pointer-type-def type-id='type-id-33' size-in-bits='64' id='type-id-16'/>
+    <!-- const rcu_flavor_struct -->
+    <qualified-type-def type-id='type-id-11' const='yes' id='type-id-34'/>
+    <!-- const rcu_flavor_struct urcu_qsbr_flavor -->
+    <var-decl name='urcu_qsbr_flavor' type-id='type-id-34' mangled-name='urcu_qsbr_flavor' visibility='default' filepath='../include/urcu/flavor.h' line='81' column='1' elf-symbol-id='urcu_qsbr_flavor'/>
+    <!-- void urcu_qsbr_defer_exit() -->
+    <function-decl name='urcu_qsbr_defer_exit' mangled-name='urcu_qsbr_defer_exit' filepath='src/urcu-defer-impl.h' line='467' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_defer_exit'>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <!-- void urcu_qsbr_defer_unregister_thread() -->
+    <function-decl name='urcu_qsbr_defer_unregister_thread' mangled-name='urcu_qsbr_defer_unregister_thread' filepath='src/urcu-defer-impl.h' line='449' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_defer_unregister_thread'>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <!-- int urcu_qsbr_defer_register_thread() -->
+    <function-decl name='urcu_qsbr_defer_register_thread' mangled-name='urcu_qsbr_defer_register_thread' filepath='src/urcu-defer-impl.h' line='427' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_defer_register_thread'>
+      <!-- int -->
+      <return type-id='type-id-4'/>
+    </function-decl>
+    <!-- void urcu_qsbr_defer_rcu(void (void*)*, void*) -->
+    <function-decl name='urcu_qsbr_defer_rcu' mangled-name='urcu_qsbr_defer_rcu' filepath='src/urcu-defer-impl.h' line='396' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_defer_rcu'>
+      <!-- parameter of type 'void (void*)*' -->
+      <parameter type-id='type-id-29' name='fct' filepath='src/urcu-defer-impl.h' line='396' column='1'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-27' name='p' filepath='src/urcu-defer-impl.h' line='396' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <!-- void urcu_qsbr_defer_barrier() -->
+    <function-decl name='urcu_qsbr_defer_barrier' mangled-name='urcu_qsbr_defer_barrier' filepath='src/urcu-defer-impl.h' line='282' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_defer_barrier'>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <!-- void urcu_qsbr_defer_barrier_thread() -->
+    <function-decl name='urcu_qsbr_defer_barrier_thread' mangled-name='urcu_qsbr_defer_barrier_thread' filepath='src/urcu-defer-impl.h' line='262' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_defer_barrier_thread'>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <!-- void urcu_qsbr_unregister_rculfhash_atfork(urcu_atfork*) -->
+    <function-decl name='urcu_qsbr_unregister_rculfhash_atfork' mangled-name='urcu_qsbr_unregister_rculfhash_atfork' filepath='src/urcu-call-rcu-impl.h' line='1012' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_unregister_rculfhash_atfork'>
+      <!-- parameter of type 'urcu_atfork*' -->
+      <parameter type-id='type-id-32' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1012' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <!-- void urcu_qsbr_register_rculfhash_atfork(urcu_atfork*) -->
+    <function-decl name='urcu_qsbr_register_rculfhash_atfork' mangled-name='urcu_qsbr_register_rculfhash_atfork' filepath='src/urcu-call-rcu-impl.h' line='1002' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_register_rculfhash_atfork'>
+      <!-- parameter of type 'urcu_atfork*' -->
+      <parameter type-id='type-id-32' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1012' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <!-- void urcu_qsbr_call_rcu_after_fork_child() -->
+    <function-decl name='urcu_qsbr_call_rcu_after_fork_child' mangled-name='urcu_qsbr_call_rcu_after_fork_child' filepath='src/urcu-call-rcu-impl.h' line='960' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_call_rcu_after_fork_child'>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <!-- void urcu_qsbr_call_rcu_after_fork_parent() -->
+    <function-decl name='urcu_qsbr_call_rcu_after_fork_parent' mangled-name='urcu_qsbr_call_rcu_after_fork_parent' filepath='src/urcu-call-rcu-impl.h' line='938' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_call_rcu_after_fork_parent'>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <!-- void urcu_qsbr_call_rcu_before_fork() -->
+    <function-decl name='urcu_qsbr_call_rcu_before_fork' mangled-name='urcu_qsbr_call_rcu_before_fork' filepath='src/urcu-call-rcu-impl.h' line='911' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_call_rcu_before_fork'>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <!-- void urcu_qsbr_barrier() -->
+    <function-decl name='urcu_qsbr_barrier' mangled-name='urcu_qsbr_barrier' filepath='src/urcu-call-rcu-impl.h' line='840' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_barrier'>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <!-- void urcu_qsbr_free_all_cpu_call_rcu_data() -->
+    <function-decl name='urcu_qsbr_free_all_cpu_call_rcu_data' mangled-name='urcu_qsbr_free_all_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='777' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_free_all_cpu_call_rcu_data'>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <!-- struct call_rcu_data -->
+    <class-decl name='call_rcu_data' size-in-bits='1024' is-struct='yes' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='53' column='1' id='type-id-35'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_wfcq_tail call_rcu_data::cbs_tail -->
+        <var-decl name='cbs_tail' type-id='type-id-36' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='61' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- cds_wfcq_head call_rcu_data::cbs_head -->
+        <var-decl name='cbs_head' type-id='type-id-37' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <!-- unsigned long int call_rcu_data::flags -->
+        <var-decl name='flags' type-id='type-id-2' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <!-- int32_t call_rcu_data::futex -->
+        <var-decl name='futex' type-id='type-id-3' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <!-- unsigned long int call_rcu_data::qlen -->
+        <var-decl name='qlen' type-id='type-id-2' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <!-- pthread_t call_rcu_data::tid -->
+        <var-decl name='tid' type-id='type-id-8' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <!-- int call_rcu_data::cpu_affinity -->
+        <var-decl name='cpu_affinity' type-id='type-id-4' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='67' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <!-- unsigned long int call_rcu_data::gp_count -->
+        <var-decl name='gp_count' type-id='type-id-2' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <!-- cds_list_head call_rcu_data::list -->
+        <var-decl name='list' type-id='type-id-7' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='69' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- struct cds_wfcq_tail -->
+    <class-decl name='cds_wfcq_tail' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='140' column='1' id='type-id-36'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_wfcq_node* cds_wfcq_tail::p -->
+        <var-decl name='p' type-id='type-id-23' visibility='default' filepath='../include/urcu/wfcqueue.h' line='141' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- struct cds_wfcq_head -->
+    <class-decl name='cds_wfcq_head' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='71' column='1' id='type-id-37'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_wfcq_node cds_wfcq_head::node -->
+        <var-decl name='node' type-id='type-id-21' visibility='default' filepath='../include/urcu/wfcqueue.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- pthread_mutex_t cds_wfcq_head::lock -->
+        <var-decl name='lock' type-id='type-id-38' visibility='default' filepath='../include/urcu/wfcqueue.h' line='73' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='67' column='1' id='type-id-39'>
+      <data-member access='private'>
+        <!-- __pthread_mutex_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-40' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='69' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <!-- char __anonymous_union__::__size[40] -->
+        <var-decl name='__size' type-id='type-id-41' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <!-- long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-42' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='71' column='1'/>
+      </data-member>
+    </union-decl>
+    <!-- struct __pthread_mutex_s -->
+    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='118' column='1' id='type-id-40'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- int __pthread_mutex_s::__lock -->
+        <var-decl name='__lock' type-id='type-id-4' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='120' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <!-- unsigned int __pthread_mutex_s::__count -->
+        <var-decl name='__count' type-id='type-id-9' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='121' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- int __pthread_mutex_s::__owner -->
+        <var-decl name='__owner' type-id='type-id-4' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='122' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <!-- unsigned int __pthread_mutex_s::__nusers -->
+        <var-decl name='__nusers' type-id='type-id-9' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='124' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <!-- int __pthread_mutex_s::__kind -->
+        <var-decl name='__kind' type-id='type-id-4' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='148' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <!-- short int __pthread_mutex_s::__spins -->
+        <var-decl name='__spins' type-id='type-id-43' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <!-- short int __pthread_mutex_s::__elision -->
+        <var-decl name='__elision' type-id='type-id-43' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <!-- __pthread_list_t __pthread_mutex_s::__list -->
+        <var-decl name='__list' type-id='type-id-44' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='155' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- short int -->
+    <type-decl name='short int' size-in-bits='16' id='type-id-43'/>
+    <!-- struct __pthread_internal_list -->
+    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='82' column='1' id='type-id-45'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- __pthread_internal_list* __pthread_internal_list::__prev -->
+        <var-decl name='__prev' type-id='type-id-46' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- __pthread_internal_list* __pthread_internal_list::__next -->
+        <var-decl name='__next' type-id='type-id-46' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='85' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- __pthread_internal_list* -->
+    <pointer-type-def type-id='type-id-45' size-in-bits='64' id='type-id-46'/>
+    <!-- typedef __pthread_internal_list __pthread_list_t -->
+    <typedef-decl name='__pthread_list_t' type-id='type-id-45' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='86' column='1' id='type-id-44'/>
+    <!-- char -->
+    <type-decl name='char' size-in-bits='8' id='type-id-47'/>
+
+    <!-- char[40] -->
+    <array-type-def dimensions='1' type-id='type-id-47' size-in-bits='320' id='type-id-41'>
+      <!-- <anonymous range>[40] -->
+      <subrange length='40' type-id='type-id-2' id='type-id-48'/>
+
+    </array-type-def>
+    <!-- long int -->
+    <type-decl name='long int' size-in-bits='64' id='type-id-42'/>
+    <!-- typedef __anonymous_union__ pthread_mutex_t -->
+    <typedef-decl name='pthread_mutex_t' type-id='type-id-39' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='72' column='1' id='type-id-38'/>
+    <!-- call_rcu_data* -->
+    <pointer-type-def type-id='type-id-35' size-in-bits='64' id='type-id-49'/>
+    <!-- void urcu_qsbr_call_rcu_data_free(call_rcu_data*) -->
+    <function-decl name='urcu_qsbr_call_rcu_data_free' mangled-name='urcu_qsbr_call_rcu_data_free' filepath='src/urcu-call-rcu-impl.h' line='742' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_call_rcu_data_free'>
+      <!-- parameter of type 'call_rcu_data*' -->
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='742' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <!-- void urcu_qsbr_call_rcu(rcu_head*, void (rcu_head*)*) -->
+    <function-decl name='urcu_qsbr_call_rcu' mangled-name='urcu_qsbr_call_rcu' filepath='src/urcu-call-rcu-impl.h' line='704' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_call_rcu'>
+      <!-- parameter of type 'rcu_head*' -->
+      <parameter type-id='type-id-24' name='head' filepath='src/urcu-call-rcu-impl.h' line='704' column='1'/>
+      <!-- parameter of type 'void (rcu_head*)*' -->
+      <parameter type-id='type-id-22' name='func' filepath='src/urcu-call-rcu-impl.h' line='705' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <!-- int urcu_qsbr_create_all_cpu_call_rcu_data(unsigned long int) -->
+    <function-decl name='urcu_qsbr_create_all_cpu_call_rcu_data' mangled-name='urcu_qsbr_create_all_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='626' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_create_all_cpu_call_rcu_data'>
+      <!-- parameter of type 'unsigned long int' -->
+      <parameter type-id='type-id-2' name='flags' filepath='src/urcu-call-rcu-impl.h' line='626' column='1'/>
+      <!-- int -->
+      <return type-id='type-id-4'/>
+    </function-decl>
+    <!-- void urcu_qsbr_set_thread_call_rcu_data(call_rcu_data*) -->
+    <function-decl name='urcu_qsbr_set_thread_call_rcu_data' mangled-name='urcu_qsbr_set_thread_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='613' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_set_thread_call_rcu_data'>
+      <!-- parameter of type 'call_rcu_data*' -->
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='613' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <!-- call_rcu_data* urcu_qsbr_get_thread_call_rcu_data() -->
+    <function-decl name='urcu_qsbr_get_thread_call_rcu_data' mangled-name='urcu_qsbr_get_thread_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='597' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_get_thread_call_rcu_data'>
+      <!-- call_rcu_data* -->
+      <return type-id='type-id-49'/>
+    </function-decl>
+    <!-- call_rcu_data* urcu_qsbr_get_call_rcu_data() -->
+    <function-decl name='urcu_qsbr_get_call_rcu_data' mangled-name='urcu_qsbr_get_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='577' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_get_call_rcu_data'>
+      <!-- call_rcu_data* -->
+      <return type-id='type-id-49'/>
+    </function-decl>
+    <!-- call_rcu_data* urcu_qsbr_get_default_call_rcu_data() -->
+    <function-decl name='urcu_qsbr_get_default_call_rcu_data' mangled-name='urcu_qsbr_get_default_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='552' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_get_default_call_rcu_data'>
+      <!-- call_rcu_data* -->
+      <return type-id='type-id-49'/>
+    </function-decl>
+    <!-- int urcu_qsbr_set_cpu_call_rcu_data(int, call_rcu_data*) -->
+    <function-decl name='urcu_qsbr_set_cpu_call_rcu_data' mangled-name='urcu_qsbr_set_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='513' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_set_cpu_call_rcu_data'>
+      <!-- parameter of type 'int' -->
+      <parameter type-id='type-id-4' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='513' column='1'/>
+      <!-- parameter of type 'call_rcu_data*' -->
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='513' column='1'/>
+      <!-- int -->
+      <return type-id='type-id-4'/>
+    </function-decl>
+    <!-- call_rcu_data* urcu_qsbr_create_call_rcu_data(unsigned long int, int) -->
+    <function-decl name='urcu_qsbr_create_call_rcu_data' mangled-name='urcu_qsbr_create_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='489' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_create_call_rcu_data'>
+      <!-- parameter of type 'unsigned long int' -->
+      <parameter type-id='type-id-2' name='flags' filepath='src/urcu-call-rcu-impl.h' line='489' column='1'/>
+      <!-- parameter of type 'int' -->
+      <parameter type-id='type-id-4' name='cpu_affinity' filepath='src/urcu-call-rcu-impl.h' line='490' column='1'/>
+      <!-- call_rcu_data* -->
+      <return type-id='type-id-49'/>
+    </function-decl>
+    <!-- pthread_t urcu_qsbr_get_call_rcu_thread(call_rcu_data*) -->
+    <function-decl name='urcu_qsbr_get_call_rcu_thread' mangled-name='urcu_qsbr_get_call_rcu_thread' filepath='src/urcu-call-rcu-impl.h' line='471' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_get_call_rcu_thread'>
+      <!-- parameter of type 'call_rcu_data*' -->
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='471' column='1'/>
+      <!-- typedef pthread_t -->
+      <return type-id='type-id-8'/>
+    </function-decl>
+    <!-- call_rcu_data* urcu_qsbr_get_cpu_call_rcu_data(int) -->
+    <function-decl name='urcu_qsbr_get_cpu_call_rcu_data' mangled-name='urcu_qsbr_get_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='449' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_get_cpu_call_rcu_data'>
+      <!-- parameter of type 'int' -->
+      <parameter type-id='type-id-4' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='449' column='1'/>
+      <!-- call_rcu_data* -->
+      <return type-id='type-id-49'/>
+    </function-decl>
+    <!-- void urcu_qsbr_exit() -->
+    <function-decl name='urcu_qsbr_exit' mangled-name='urcu_qsbr_exit' filepath='src/urcu-qsbr.c' line='497' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_exit'>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <!-- void urcu_qsbr_unregister_thread() -->
+    <function-decl name='urcu_qsbr_unregister_thread' mangled-name='urcu_qsbr_unregister_thread' filepath='src/urcu-qsbr.c' line='483' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_unregister_thread'>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <!-- void urcu_qsbr_register_thread() -->
+    <function-decl name='urcu_qsbr_register_thread' mangled-name='urcu_qsbr_register_thread' filepath='src/urcu-qsbr.c' line='470' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_register_thread'>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <!-- void urcu_qsbr_thread_online() -->
+    <function-decl name='urcu_qsbr_thread_online' mangled-name='urcu_qsbr_thread_online' filepath='src/urcu-qsbr.c' line='465' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_thread_online'>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <!-- void urcu_qsbr_thread_offline() -->
+    <function-decl name='urcu_qsbr_thread_offline' mangled-name='urcu_qsbr_thread_offline' filepath='src/urcu-qsbr.c' line='459' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_thread_offline'>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <!-- void urcu_qsbr_quiescent_state() -->
+    <function-decl name='urcu_qsbr_quiescent_state' mangled-name='urcu_qsbr_quiescent_state' filepath='src/urcu-qsbr.c' line='453' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_quiescent_state'>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <!-- int urcu_qsbr_read_ongoing() -->
+    <function-decl name='urcu_qsbr_read_ongoing' mangled-name='urcu_qsbr_read_ongoing' filepath='src/urcu-qsbr.c' line='447' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_read_ongoing'>
+      <!-- int -->
+      <return type-id='type-id-4'/>
+    </function-decl>
+    <!-- void urcu_qsbr_read_unlock() -->
+    <function-decl name='urcu_qsbr_read_unlock' mangled-name='urcu_qsbr_read_unlock' filepath='src/urcu-qsbr.c' line='442' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_read_unlock'>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <!-- void urcu_qsbr_read_lock() -->
+    <function-decl name='urcu_qsbr_read_lock' mangled-name='urcu_qsbr_read_lock' filepath='src/urcu-qsbr.c' line='437' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_read_lock'>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <!-- void urcu_qsbr_synchronize_rcu() -->
+    <function-decl name='urcu_qsbr_synchronize_rcu' mangled-name='urcu_qsbr_synchronize_rcu' filepath='src/urcu-qsbr.c' line='347' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_qsbr_synchronize_rcu'>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <!-- int () -->
+    <function-type size-in-bits='64' id='type-id-19'>
+      <!-- int -->
+      <return type-id='type-id-4'/>
+    </function-type>
+    <!-- void () -->
+    <function-type size-in-bits='64' id='type-id-18'>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-type>
+    <!-- void (rcu_head*) -->
+    <function-type size-in-bits='64' id='type-id-25'>
+      <!-- parameter of type 'rcu_head*' -->
+      <parameter type-id='type-id-24'/>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-type>
+    <!-- void (rcu_head*, void (rcu_head*)*) -->
+    <function-type size-in-bits='64' id='type-id-26'>
+      <!-- parameter of type 'rcu_head*' -->
+      <parameter type-id='type-id-24'/>
+      <!-- parameter of type 'void (rcu_head*)*' -->
+      <parameter type-id='type-id-22'/>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-type>
+    <!-- void (urcu_atfork*) -->
+    <function-type size-in-bits='64' id='type-id-33'>
+      <!-- parameter of type 'urcu_atfork*' -->
+      <parameter type-id='type-id-32'/>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-type>
+    <!-- void (void (void*)*, void*) -->
+    <function-type size-in-bits='64' id='type-id-30'>
+      <!-- parameter of type 'void (void*)*' -->
+      <parameter type-id='type-id-29'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-27'/>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-type>
+    <!-- void (void*) -->
+    <function-type size-in-bits='64' id='type-id-28'>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-27'/>
+      <!-- void -->
+      <return type-id='type-id-17'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='urcu-pointer.c' comp-dir-path='src' language='LANG_C99'>
+    <!-- void** -->
+    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-50'/>
+    <!-- void* rcu_cmpxchg_pointer_sym(void**, void*, void*) -->
+    <function-decl name='rcu_cmpxchg_pointer_sym' mangled-name='rcu_cmpxchg_pointer_sym' filepath='src/urcu-pointer.c' line='53' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_cmpxchg_pointer_sym'>
+      <!-- parameter of type 'void**' -->
+      <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='53' column='1'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-27' name='old' filepath='src/urcu-pointer.c' line='53' column='1'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-27' name='_new' filepath='src/urcu-pointer.c' line='53' column='1'/>
+      <!-- void* -->
+      <return type-id='type-id-27'/>
+    </function-decl>
+    <!-- void* rcu_xchg_pointer_sym(void**, void*) -->
+    <function-decl name='rcu_xchg_pointer_sym' mangled-name='rcu_xchg_pointer_sym' filepath='src/urcu-pointer.c' line='47' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_xchg_pointer_sym'>
+      <!-- parameter of type 'void**' -->
+      <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='47' column='1'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-27' name='v' filepath='src/urcu-pointer.c' line='47' column='1'/>
+      <!-- void* -->
+      <return type-id='type-id-27'/>
+    </function-decl>
+    <!-- void* rcu_set_pointer_sym(void**, void*) -->
+    <function-decl name='rcu_set_pointer_sym' mangled-name='rcu_set_pointer_sym' filepath='src/urcu-pointer.c' line='40' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_set_pointer_sym'>
+      <!-- parameter of type 'void**' -->
+      <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='40' column='1'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-27' name='v' filepath='src/urcu-pointer.c' line='40' column='1'/>
+      <!-- void* -->
+      <return type-id='type-id-27'/>
+    </function-decl>
+    <!-- void* rcu_dereference_sym(void*) -->
+    <function-decl name='rcu_dereference_sym' mangled-name='rcu_dereference_sym' filepath='src/urcu-pointer.c' line='35' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_dereference_sym'>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-27' name='p' filepath='src/urcu-pointer.c' line='35' column='1'/>
+      <!-- void* -->
+      <return type-id='type-id-27'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='compat_futex.c' comp-dir-path='src' language='LANG_C99'>
+    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
+    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-38' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='75' column='1' id='type-id-51'>
+      <data-member access='private'>
+        <!-- __pthread_cond_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-52' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <!-- char __anonymous_union__::__size[48] -->
+        <var-decl name='__size' type-id='type-id-53' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <!-- long long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-54' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='79' column='1'/>
+      </data-member>
+    </union-decl>
+    <!-- struct __pthread_cond_s -->
+    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='171' column='1' id='type-id-52'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- __anonymous_union__  -->
+        <var-decl name='' type-id='type-id-55' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <!-- unsigned int __pthread_cond_s::__g_refs[2] -->
+        <var-decl name='__g_refs' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <!-- unsigned int __pthread_cond_s::__g_size[2] -->
+        <var-decl name='__g_size' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='192' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <!-- unsigned int __pthread_cond_s::__g1_orig_size -->
+        <var-decl name='__g1_orig_size' type-id='type-id-9' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='193' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <!-- unsigned int __pthread_cond_s::__wrefs -->
+        <var-decl name='__wrefs' type-id='type-id-9' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <!-- unsigned int __pthread_cond_s::__g_signals[2] -->
+        <var-decl name='__g_signals' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='195' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='173' column='1' id='type-id-55'>
+      <data-member access='private'>
+        <!-- long long unsigned int __anonymous_union__::__wseq -->
+        <var-decl name='__wseq' type-id='type-id-57' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='175' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <!-- __anonymous_struct__ __anonymous_union__::__wseq32 -->
+        <var-decl name='__wseq32' type-id='type-id-58' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='180' column='1'/>
+      </data-member>
+    </union-decl>
+    <!-- long long unsigned int -->
+    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-57'/>
+    <!-- struct __anonymous_struct__ -->
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='176' column='1' id='type-id-58'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- unsigned int __anonymous_struct__::__low -->
+        <var-decl name='__low' type-id='type-id-9' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='178' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <!-- unsigned int __anonymous_struct__::__high -->
+        <var-decl name='__high' type-id='type-id-9' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='179' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <!-- unsigned int[2] -->
+    <array-type-def dimensions='1' type-id='type-id-9' size-in-bits='64' id='type-id-56'>
+      <!-- <anonymous range>[2] -->
+      <subrange length='2' type-id='type-id-2' id='type-id-59'/>
+
+    </array-type-def>
+
+    <!-- char[48] -->
+    <array-type-def dimensions='1' type-id='type-id-47' size-in-bits='384' id='type-id-53'>
+      <!-- <anonymous range>[48] -->
+      <subrange length='48' type-id='type-id-2' id='type-id-60'/>
+
+    </array-type-def>
+    <!-- long long int -->
+    <type-decl name='long long int' size-in-bits='64' id='type-id-54'/>
+    <!-- typedef __anonymous_union__ pthread_cond_t -->
+    <typedef-decl name='pthread_cond_t' type-id='type-id-51' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='80' column='1' id='type-id-61'/>
+    <!-- pthread_cond_t __urcu_compat_futex_cond -->
+    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-61' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
+    <!-- int32_t* -->
+    <pointer-type-def type-id='type-id-3' size-in-bits='64' id='type-id-62'/>
+    <!-- struct timespec -->
+    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='9' column='1' id='type-id-63'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- __time_t timespec::tv_sec -->
+        <var-decl name='tv_sec' type-id='type-id-64' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='11' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- __syscall_slong_t timespec::tv_nsec -->
+        <var-decl name='tv_nsec' type-id='type-id-65' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='12' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- typedef long int __time_t -->
+    <typedef-decl name='__time_t' type-id='type-id-42' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='148' column='1' id='type-id-64'/>
+    <!-- typedef long int __syscall_slong_t -->
+    <typedef-decl name='__syscall_slong_t' type-id='type-id-42' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='184' column='1' id='type-id-65'/>
+    <!-- const timespec -->
+    <qualified-type-def type-id='type-id-63' const='yes' id='type-id-66'/>
+    <!-- const timespec* -->
+    <pointer-type-def type-id='type-id-66' size-in-bits='64' id='type-id-67'/>
+    <!-- int compat_futex_async(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
+    <function-decl name='compat_futex_async' mangled-name='compat_futex_async' filepath='src/compat_futex.c' line='118' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_async'>
+      <!-- parameter of type 'int32_t*' -->
+      <parameter type-id='type-id-62' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
+      <!-- parameter of type 'int' -->
+      <parameter type-id='type-id-4' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
+      <!-- parameter of type 'typedef int32_t' -->
+      <parameter type-id='type-id-3' name='val' filepath='src/compat_futex.c' line='118' column='1'/>
+      <!-- parameter of type 'const timespec*' -->
+      <parameter type-id='type-id-67' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
+      <!-- parameter of type 'int32_t*' -->
+      <parameter type-id='type-id-62' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
+      <!-- parameter of type 'typedef int32_t' -->
+      <parameter type-id='type-id-3' name='val3' filepath='src/compat_futex.c' line='119' column='1'/>
+      <!-- int -->
+      <return type-id='type-id-4'/>
+    </function-decl>
+    <!-- int compat_futex_noasync(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
+    <function-decl name='compat_futex_noasync' mangled-name='compat_futex_noasync' filepath='src/compat_futex.c' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_noasync'>
+      <!-- parameter of type 'int32_t*' -->
+      <parameter type-id='type-id-62' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
+      <!-- parameter of type 'int' -->
+      <parameter type-id='type-id-4' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
+      <!-- parameter of type 'typedef int32_t' -->
+      <parameter type-id='type-id-3' name='val' filepath='src/compat_futex.c' line='54' column='1'/>
+      <!-- parameter of type 'const timespec*' -->
+      <parameter type-id='type-id-67' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
+      <!-- parameter of type 'int32_t*' -->
+      <parameter type-id='type-id-62' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
+      <!-- parameter of type 'typedef int32_t' -->
+      <parameter type-id='type-id-3' name='val3' filepath='src/compat_futex.c' line='55' column='1'/>
+      <!-- int -->
+      <return type-id='type-id-4'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
diff --git a/extras/abi/0.14/x86_64-pc-linux-gnu/liburcu-signal.so.8.xml b/extras/abi/0.14/x86_64-pc-linux-gnu/liburcu-signal.so.8.xml
new file mode 100644 (file)
index 0000000..bca453b
--- /dev/null
@@ -0,0 +1,853 @@
+<abi-corpus architecture='elf-amd-x86_64' soname='liburcu-signal.so.8'>
+  <elf-needed>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <!-- _fini -->
+    <elf-symbol name='_fini' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- _init -->
+    <elf-symbol name='_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- compat_futex_async -->
+    <elf-symbol name='compat_futex_async' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- compat_futex_noasync -->
+    <elf-symbol name='compat_futex_noasync' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- rcu_cmpxchg_pointer_sym -->
+    <elf-symbol name='rcu_cmpxchg_pointer_sym' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- rcu_dereference_sym -->
+    <elf-symbol name='rcu_dereference_sym' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- rcu_set_pointer_sym -->
+    <elf-symbol name='rcu_set_pointer_sym' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- rcu_xchg_pointer_sym -->
+    <elf-symbol name='rcu_xchg_pointer_sym' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_signal_barrier -->
+    <elf-symbol name='urcu_signal_barrier' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_signal_call_rcu -->
+    <elf-symbol name='urcu_signal_call_rcu' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_signal_call_rcu_after_fork_child -->
+    <elf-symbol name='urcu_signal_call_rcu_after_fork_child' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_signal_call_rcu_after_fork_parent -->
+    <elf-symbol name='urcu_signal_call_rcu_after_fork_parent' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_signal_call_rcu_before_fork -->
+    <elf-symbol name='urcu_signal_call_rcu_before_fork' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_signal_call_rcu_data_free -->
+    <elf-symbol name='urcu_signal_call_rcu_data_free' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_signal_create_all_cpu_call_rcu_data -->
+    <elf-symbol name='urcu_signal_create_all_cpu_call_rcu_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_signal_create_call_rcu_data -->
+    <elf-symbol name='urcu_signal_create_call_rcu_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_signal_defer_barrier -->
+    <elf-symbol name='urcu_signal_defer_barrier' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_signal_defer_barrier_thread -->
+    <elf-symbol name='urcu_signal_defer_barrier_thread' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_signal_defer_exit -->
+    <elf-symbol name='urcu_signal_defer_exit' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_signal_defer_rcu -->
+    <elf-symbol name='urcu_signal_defer_rcu' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_signal_defer_register_thread -->
+    <elf-symbol name='urcu_signal_defer_register_thread' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_signal_defer_unregister_thread -->
+    <elf-symbol name='urcu_signal_defer_unregister_thread' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_signal_exit -->
+    <elf-symbol name='urcu_signal_exit' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_signal_free_all_cpu_call_rcu_data -->
+    <elf-symbol name='urcu_signal_free_all_cpu_call_rcu_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_signal_get_call_rcu_data -->
+    <elf-symbol name='urcu_signal_get_call_rcu_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_signal_get_call_rcu_thread -->
+    <elf-symbol name='urcu_signal_get_call_rcu_thread' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_signal_get_cpu_call_rcu_data -->
+    <elf-symbol name='urcu_signal_get_cpu_call_rcu_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_signal_get_default_call_rcu_data -->
+    <elf-symbol name='urcu_signal_get_default_call_rcu_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_signal_get_thread_call_rcu_data -->
+    <elf-symbol name='urcu_signal_get_thread_call_rcu_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_signal_init -->
+    <elf-symbol name='urcu_signal_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_signal_read_lock -->
+    <elf-symbol name='urcu_signal_read_lock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_signal_read_ongoing -->
+    <elf-symbol name='urcu_signal_read_ongoing' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_signal_read_unlock -->
+    <elf-symbol name='urcu_signal_read_unlock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_signal_register_rculfhash_atfork -->
+    <elf-symbol name='urcu_signal_register_rculfhash_atfork' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_signal_register_thread -->
+    <elf-symbol name='urcu_signal_register_thread' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_signal_set_cpu_call_rcu_data -->
+    <elf-symbol name='urcu_signal_set_cpu_call_rcu_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_signal_set_thread_call_rcu_data -->
+    <elf-symbol name='urcu_signal_set_thread_call_rcu_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_signal_synchronize_rcu -->
+    <elf-symbol name='urcu_signal_synchronize_rcu' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_signal_unregister_rculfhash_atfork -->
+    <elf-symbol name='urcu_signal_unregister_rculfhash_atfork' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_signal_unregister_thread -->
+    <elf-symbol name='urcu_signal_unregister_thread' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <elf-variable-symbols>
+    <!-- __urcu_compat_futex_cond -->
+    <elf-symbol name='__urcu_compat_futex_cond' size='48' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- __urcu_compat_futex_lock -->
+    <elf-symbol name='__urcu_compat_futex_lock' size='40' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_signal_flavor -->
+    <elf-symbol name='urcu_signal_flavor' size='112' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_signal_gp -->
+    <elf-symbol name='urcu_signal_gp' size='128' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_signal_reader -->
+    <elf-symbol name='urcu_signal_reader' size='256' type='tls-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-variable-symbols>
+  <abi-instr version='1.0' address-size='64' path='urcu.c' comp-dir-path='src' language='LANG_C99'>
+    <!-- struct urcu_gp -->
+    <class-decl name='urcu_gp' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='66' column='1' id='type-id-1'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- unsigned long int urcu_gp::ctr -->
+        <var-decl name='ctr' type-id='type-id-2' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='74' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- int32_t urcu_gp::futex -->
+        <var-decl name='futex' type-id='type-id-3' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='76' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- unsigned long int -->
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-2'/>
+    <!-- int -->
+    <type-decl name='int' size-in-bits='32' id='type-id-4'/>
+    <!-- typedef int __int32_t -->
+    <typedef-decl name='__int32_t' type-id='type-id-4' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='40' column='1' id='type-id-5'/>
+    <!-- typedef __int32_t int32_t -->
+    <typedef-decl name='int32_t' type-id='type-id-5' filepath='/usr/include/x86_64-linux-gnu/bits/stdint-intn.h' line='26' column='1' id='type-id-3'/>
+    <!-- urcu_gp urcu_signal_gp -->
+    <var-decl name='urcu_signal_gp' type-id='type-id-1' mangled-name='urcu_signal_gp' visibility='default' filepath='../include/urcu/static/urcu-signal.h' line='61' column='1' elf-symbol-id='urcu_signal_gp'/>
+    <!-- struct urcu_reader -->
+    <class-decl name='urcu_reader' size-in-bits='2048' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='79' column='1' id='type-id-6'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- unsigned long int urcu_reader::ctr -->
+        <var-decl name='ctr' type-id='type-id-2' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- char urcu_reader::need_mb -->
+        <var-decl name='need_mb' type-id='type-id-7' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='82' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <!-- cds_list_head urcu_reader::node -->
+        <var-decl name='node' type-id='type-id-8' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <!-- pthread_t urcu_reader::tid -->
+        <var-decl name='tid' type-id='type-id-9' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='31'>
+        <!-- unsigned int urcu_reader::registered -->
+        <var-decl name='registered' type-id='type-id-10' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='87' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- char -->
+    <type-decl name='char' size-in-bits='8' id='type-id-7'/>
+    <!-- struct cds_list_head -->
+    <class-decl name='cds_list_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/list.h' line='37' column='1' id='type-id-8'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_list_head* cds_list_head::next -->
+        <var-decl name='next' type-id='type-id-11' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- cds_list_head* cds_list_head::prev -->
+        <var-decl name='prev' type-id='type-id-11' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- cds_list_head* -->
+    <pointer-type-def type-id='type-id-8' size-in-bits='64' id='type-id-11'/>
+    <!-- typedef unsigned long int pthread_t -->
+    <typedef-decl name='pthread_t' type-id='type-id-2' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='27' column='1' id='type-id-9'/>
+    <!-- unsigned int -->
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-10'/>
+    <!-- urcu_reader urcu_signal_reader -->
+    <var-decl name='urcu_signal_reader' type-id='type-id-6' mangled-name='urcu_signal_reader' visibility='default' filepath='../include/urcu/static/urcu-signal.h' line='63' column='1' elf-symbol-id='urcu_signal_reader'/>
+    <!-- struct rcu_flavor_struct -->
+    <class-decl name='rcu_flavor_struct' size-in-bits='896' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='42' column='1' id='type-id-12'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- void ()* rcu_flavor_struct::read_lock -->
+        <var-decl name='read_lock' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='43' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- void ()* rcu_flavor_struct::read_unlock -->
+        <var-decl name='read_unlock' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='44' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <!-- int ()* rcu_flavor_struct::read_ongoing -->
+        <var-decl name='read_ongoing' type-id='type-id-14' visibility='default' filepath='../include/urcu/flavor.h' line='45' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <!-- void ()* rcu_flavor_struct::read_quiescent_state -->
+        <var-decl name='read_quiescent_state' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='46' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <!-- void (rcu_head*, void (rcu_head*)*)* rcu_flavor_struct::update_call_rcu -->
+        <var-decl name='update_call_rcu' type-id='type-id-15' visibility='default' filepath='../include/urcu/flavor.h' line='47' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <!-- void ()* rcu_flavor_struct::update_synchronize_rcu -->
+        <var-decl name='update_synchronize_rcu' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <!-- void (void (void*)*, void*)* rcu_flavor_struct::update_defer_rcu -->
+        <var-decl name='update_defer_rcu' type-id='type-id-16' visibility='default' filepath='../include/urcu/flavor.h' line='50' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <!-- void ()* rcu_flavor_struct::thread_offline -->
+        <var-decl name='thread_offline' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <!-- void ()* rcu_flavor_struct::thread_online -->
+        <var-decl name='thread_online' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <!-- void ()* rcu_flavor_struct::register_thread -->
+        <var-decl name='register_thread' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='54' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <!-- void ()* rcu_flavor_struct::unregister_thread -->
+        <var-decl name='unregister_thread' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <!-- void ()* rcu_flavor_struct::barrier -->
+        <var-decl name='barrier' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='57' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <!-- void (urcu_atfork*)* rcu_flavor_struct::register_rculfhash_atfork -->
+        <var-decl name='register_rculfhash_atfork' type-id='type-id-17' visibility='default' filepath='../include/urcu/flavor.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <!-- void (urcu_atfork*)* rcu_flavor_struct::unregister_rculfhash_atfork -->
+        <var-decl name='unregister_rculfhash_atfork' type-id='type-id-17' visibility='default' filepath='../include/urcu/flavor.h' line='60' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- void -->
+    <type-decl name='void' id='type-id-18'/>
+    <!-- void ()* -->
+    <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-13'/>
+    <!-- int ()* -->
+    <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-14'/>
+    <!-- struct rcu_head -->
+    <class-decl name='rcu_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/call-rcu.h' line='57' column='1' id='type-id-21'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_wfcq_node rcu_head::next -->
+        <var-decl name='next' type-id='type-id-22' visibility='default' filepath='../include/urcu/call-rcu.h' line='58' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- void (rcu_head*)* rcu_head::func -->
+        <var-decl name='func' type-id='type-id-23' visibility='default' filepath='../include/urcu/call-rcu.h' line='59' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- struct cds_wfcq_node -->
+    <class-decl name='cds_wfcq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='58' column='1' id='type-id-22'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_wfcq_node* cds_wfcq_node::next -->
+        <var-decl name='next' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='59' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- cds_wfcq_node* -->
+    <pointer-type-def type-id='type-id-22' size-in-bits='64' id='type-id-24'/>
+    <!-- rcu_head* -->
+    <pointer-type-def type-id='type-id-21' size-in-bits='64' id='type-id-25'/>
+    <!-- void (rcu_head*)* -->
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-23'/>
+    <!-- void (rcu_head*, void (rcu_head*)*)* -->
+    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-15'/>
+    <!-- void* -->
+    <pointer-type-def type-id='type-id-18' size-in-bits='64' id='type-id-28'/>
+    <!-- void (void*)* -->
+    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-30'/>
+    <!-- void (void (void*)*, void*)* -->
+    <pointer-type-def type-id='type-id-31' size-in-bits='64' id='type-id-16'/>
+    <!-- struct urcu_atfork -->
+    <class-decl name='urcu_atfork' size-in-bits='256' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='32' column='1' id='type-id-32'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- void (void*)* urcu_atfork::before_fork -->
+        <var-decl name='before_fork' type-id='type-id-30' visibility='default' filepath='../include/urcu/flavor.h' line='33' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- void (void*)* urcu_atfork::after_fork_parent -->
+        <var-decl name='after_fork_parent' type-id='type-id-30' visibility='default' filepath='../include/urcu/flavor.h' line='34' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <!-- void (void*)* urcu_atfork::after_fork_child -->
+        <var-decl name='after_fork_child' type-id='type-id-30' visibility='default' filepath='../include/urcu/flavor.h' line='35' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <!-- void* urcu_atfork::priv -->
+        <var-decl name='priv' type-id='type-id-28' visibility='default' filepath='../include/urcu/flavor.h' line='36' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- urcu_atfork* -->
+    <pointer-type-def type-id='type-id-32' size-in-bits='64' id='type-id-33'/>
+    <!-- void (urcu_atfork*)* -->
+    <pointer-type-def type-id='type-id-34' size-in-bits='64' id='type-id-17'/>
+    <!-- const rcu_flavor_struct -->
+    <qualified-type-def type-id='type-id-12' const='yes' id='type-id-35'/>
+    <!-- const rcu_flavor_struct urcu_signal_flavor -->
+    <var-decl name='urcu_signal_flavor' type-id='type-id-35' mangled-name='urcu_signal_flavor' visibility='default' filepath='../include/urcu/flavor.h' line='81' column='1' elf-symbol-id='urcu_signal_flavor'/>
+    <!-- void urcu_signal_defer_exit() -->
+    <function-decl name='urcu_signal_defer_exit' mangled-name='urcu_signal_defer_exit' filepath='src/urcu-defer-impl.h' line='467' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_defer_exit'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_signal_defer_unregister_thread() -->
+    <function-decl name='urcu_signal_defer_unregister_thread' mangled-name='urcu_signal_defer_unregister_thread' filepath='src/urcu-defer-impl.h' line='449' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_defer_unregister_thread'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- int urcu_signal_defer_register_thread() -->
+    <function-decl name='urcu_signal_defer_register_thread' mangled-name='urcu_signal_defer_register_thread' filepath='src/urcu-defer-impl.h' line='427' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_defer_register_thread'>
+      <!-- int -->
+      <return type-id='type-id-4'/>
+    </function-decl>
+    <!-- void urcu_signal_defer_rcu(void (void*)*, void*) -->
+    <function-decl name='urcu_signal_defer_rcu' mangled-name='urcu_signal_defer_rcu' filepath='src/urcu-defer-impl.h' line='396' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_defer_rcu'>
+      <!-- parameter of type 'void (void*)*' -->
+      <parameter type-id='type-id-30' name='fct' filepath='src/urcu-defer-impl.h' line='396' column='1'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-28' name='p' filepath='src/urcu-defer-impl.h' line='396' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_signal_defer_barrier() -->
+    <function-decl name='urcu_signal_defer_barrier' mangled-name='urcu_signal_defer_barrier' filepath='src/urcu-defer-impl.h' line='282' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_defer_barrier'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_signal_defer_barrier_thread() -->
+    <function-decl name='urcu_signal_defer_barrier_thread' mangled-name='urcu_signal_defer_barrier_thread' filepath='src/urcu-defer-impl.h' line='262' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_defer_barrier_thread'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_signal_unregister_rculfhash_atfork(urcu_atfork*) -->
+    <function-decl name='urcu_signal_unregister_rculfhash_atfork' mangled-name='urcu_signal_unregister_rculfhash_atfork' filepath='src/urcu-call-rcu-impl.h' line='1012' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_unregister_rculfhash_atfork'>
+      <!-- parameter of type 'urcu_atfork*' -->
+      <parameter type-id='type-id-33' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1012' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_signal_register_rculfhash_atfork(urcu_atfork*) -->
+    <function-decl name='urcu_signal_register_rculfhash_atfork' mangled-name='urcu_signal_register_rculfhash_atfork' filepath='src/urcu-call-rcu-impl.h' line='1002' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_register_rculfhash_atfork'>
+      <!-- parameter of type 'urcu_atfork*' -->
+      <parameter type-id='type-id-33' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1012' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_signal_call_rcu_after_fork_child() -->
+    <function-decl name='urcu_signal_call_rcu_after_fork_child' mangled-name='urcu_signal_call_rcu_after_fork_child' filepath='src/urcu-call-rcu-impl.h' line='960' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_call_rcu_after_fork_child'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_signal_call_rcu_after_fork_parent() -->
+    <function-decl name='urcu_signal_call_rcu_after_fork_parent' mangled-name='urcu_signal_call_rcu_after_fork_parent' filepath='src/urcu-call-rcu-impl.h' line='938' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_call_rcu_after_fork_parent'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_signal_call_rcu_before_fork() -->
+    <function-decl name='urcu_signal_call_rcu_before_fork' mangled-name='urcu_signal_call_rcu_before_fork' filepath='src/urcu-call-rcu-impl.h' line='911' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_call_rcu_before_fork'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_signal_barrier() -->
+    <function-decl name='urcu_signal_barrier' mangled-name='urcu_signal_barrier' filepath='src/urcu-call-rcu-impl.h' line='840' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_barrier'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_signal_free_all_cpu_call_rcu_data() -->
+    <function-decl name='urcu_signal_free_all_cpu_call_rcu_data' mangled-name='urcu_signal_free_all_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='777' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_free_all_cpu_call_rcu_data'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- struct call_rcu_data -->
+    <class-decl name='call_rcu_data' size-in-bits='1024' is-struct='yes' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='53' column='1' id='type-id-36'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_wfcq_tail call_rcu_data::cbs_tail -->
+        <var-decl name='cbs_tail' type-id='type-id-37' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='61' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- cds_wfcq_head call_rcu_data::cbs_head -->
+        <var-decl name='cbs_head' type-id='type-id-38' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <!-- unsigned long int call_rcu_data::flags -->
+        <var-decl name='flags' type-id='type-id-2' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <!-- int32_t call_rcu_data::futex -->
+        <var-decl name='futex' type-id='type-id-3' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <!-- unsigned long int call_rcu_data::qlen -->
+        <var-decl name='qlen' type-id='type-id-2' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <!-- pthread_t call_rcu_data::tid -->
+        <var-decl name='tid' type-id='type-id-9' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <!-- int call_rcu_data::cpu_affinity -->
+        <var-decl name='cpu_affinity' type-id='type-id-4' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='67' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <!-- unsigned long int call_rcu_data::gp_count -->
+        <var-decl name='gp_count' type-id='type-id-2' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <!-- cds_list_head call_rcu_data::list -->
+        <var-decl name='list' type-id='type-id-8' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='69' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- struct cds_wfcq_tail -->
+    <class-decl name='cds_wfcq_tail' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='140' column='1' id='type-id-37'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_wfcq_node* cds_wfcq_tail::p -->
+        <var-decl name='p' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='141' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- struct cds_wfcq_head -->
+    <class-decl name='cds_wfcq_head' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='71' column='1' id='type-id-38'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_wfcq_node cds_wfcq_head::node -->
+        <var-decl name='node' type-id='type-id-22' visibility='default' filepath='../include/urcu/wfcqueue.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- pthread_mutex_t cds_wfcq_head::lock -->
+        <var-decl name='lock' type-id='type-id-39' visibility='default' filepath='../include/urcu/wfcqueue.h' line='73' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='67' column='1' id='type-id-40'>
+      <data-member access='private'>
+        <!-- __pthread_mutex_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-41' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='69' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <!-- char __anonymous_union__::__size[40] -->
+        <var-decl name='__size' type-id='type-id-42' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <!-- long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-43' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='71' column='1'/>
+      </data-member>
+    </union-decl>
+    <!-- struct __pthread_mutex_s -->
+    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='118' column='1' id='type-id-41'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- int __pthread_mutex_s::__lock -->
+        <var-decl name='__lock' type-id='type-id-4' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='120' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <!-- unsigned int __pthread_mutex_s::__count -->
+        <var-decl name='__count' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='121' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- int __pthread_mutex_s::__owner -->
+        <var-decl name='__owner' type-id='type-id-4' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='122' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <!-- unsigned int __pthread_mutex_s::__nusers -->
+        <var-decl name='__nusers' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='124' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <!-- int __pthread_mutex_s::__kind -->
+        <var-decl name='__kind' type-id='type-id-4' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='148' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <!-- short int __pthread_mutex_s::__spins -->
+        <var-decl name='__spins' type-id='type-id-44' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <!-- short int __pthread_mutex_s::__elision -->
+        <var-decl name='__elision' type-id='type-id-44' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <!-- __pthread_list_t __pthread_mutex_s::__list -->
+        <var-decl name='__list' type-id='type-id-45' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='155' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- short int -->
+    <type-decl name='short int' size-in-bits='16' id='type-id-44'/>
+    <!-- struct __pthread_internal_list -->
+    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='82' column='1' id='type-id-46'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- __pthread_internal_list* __pthread_internal_list::__prev -->
+        <var-decl name='__prev' type-id='type-id-47' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- __pthread_internal_list* __pthread_internal_list::__next -->
+        <var-decl name='__next' type-id='type-id-47' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='85' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- __pthread_internal_list* -->
+    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-47'/>
+    <!-- typedef __pthread_internal_list __pthread_list_t -->
+    <typedef-decl name='__pthread_list_t' type-id='type-id-46' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='86' column='1' id='type-id-45'/>
+
+    <!-- char[40] -->
+    <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='320' id='type-id-42'>
+      <!-- <anonymous range>[40] -->
+      <subrange length='40' type-id='type-id-2' id='type-id-48'/>
+
+    </array-type-def>
+    <!-- long int -->
+    <type-decl name='long int' size-in-bits='64' id='type-id-43'/>
+    <!-- typedef __anonymous_union__ pthread_mutex_t -->
+    <typedef-decl name='pthread_mutex_t' type-id='type-id-40' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='72' column='1' id='type-id-39'/>
+    <!-- call_rcu_data* -->
+    <pointer-type-def type-id='type-id-36' size-in-bits='64' id='type-id-49'/>
+    <!-- void urcu_signal_call_rcu_data_free(call_rcu_data*) -->
+    <function-decl name='urcu_signal_call_rcu_data_free' mangled-name='urcu_signal_call_rcu_data_free' filepath='src/urcu-call-rcu-impl.h' line='742' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_call_rcu_data_free'>
+      <!-- parameter of type 'call_rcu_data*' -->
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='742' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_signal_call_rcu(rcu_head*, void (rcu_head*)*) -->
+    <function-decl name='urcu_signal_call_rcu' mangled-name='urcu_signal_call_rcu' filepath='src/urcu-call-rcu-impl.h' line='704' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_call_rcu'>
+      <!-- parameter of type 'rcu_head*' -->
+      <parameter type-id='type-id-25' name='head' filepath='src/urcu-call-rcu-impl.h' line='704' column='1'/>
+      <!-- parameter of type 'void (rcu_head*)*' -->
+      <parameter type-id='type-id-23' name='func' filepath='src/urcu-call-rcu-impl.h' line='705' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- int urcu_signal_create_all_cpu_call_rcu_data(unsigned long int) -->
+    <function-decl name='urcu_signal_create_all_cpu_call_rcu_data' mangled-name='urcu_signal_create_all_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='626' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_create_all_cpu_call_rcu_data'>
+      <!-- parameter of type 'unsigned long int' -->
+      <parameter type-id='type-id-2' name='flags' filepath='src/urcu-call-rcu-impl.h' line='626' column='1'/>
+      <!-- int -->
+      <return type-id='type-id-4'/>
+    </function-decl>
+    <!-- void urcu_signal_set_thread_call_rcu_data(call_rcu_data*) -->
+    <function-decl name='urcu_signal_set_thread_call_rcu_data' mangled-name='urcu_signal_set_thread_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='613' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_set_thread_call_rcu_data'>
+      <!-- parameter of type 'call_rcu_data*' -->
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='613' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- call_rcu_data* urcu_signal_get_thread_call_rcu_data() -->
+    <function-decl name='urcu_signal_get_thread_call_rcu_data' mangled-name='urcu_signal_get_thread_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='597' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_get_thread_call_rcu_data'>
+      <!-- call_rcu_data* -->
+      <return type-id='type-id-49'/>
+    </function-decl>
+    <!-- call_rcu_data* urcu_signal_get_call_rcu_data() -->
+    <function-decl name='urcu_signal_get_call_rcu_data' mangled-name='urcu_signal_get_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='577' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_get_call_rcu_data'>
+      <!-- call_rcu_data* -->
+      <return type-id='type-id-49'/>
+    </function-decl>
+    <!-- call_rcu_data* urcu_signal_get_default_call_rcu_data() -->
+    <function-decl name='urcu_signal_get_default_call_rcu_data' mangled-name='urcu_signal_get_default_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='552' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_get_default_call_rcu_data'>
+      <!-- call_rcu_data* -->
+      <return type-id='type-id-49'/>
+    </function-decl>
+    <!-- int urcu_signal_set_cpu_call_rcu_data(int, call_rcu_data*) -->
+    <function-decl name='urcu_signal_set_cpu_call_rcu_data' mangled-name='urcu_signal_set_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='513' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_set_cpu_call_rcu_data'>
+      <!-- parameter of type 'int' -->
+      <parameter type-id='type-id-4' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='513' column='1'/>
+      <!-- parameter of type 'call_rcu_data*' -->
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='513' column='1'/>
+      <!-- int -->
+      <return type-id='type-id-4'/>
+    </function-decl>
+    <!-- call_rcu_data* urcu_signal_create_call_rcu_data(unsigned long int, int) -->
+    <function-decl name='urcu_signal_create_call_rcu_data' mangled-name='urcu_signal_create_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='489' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_create_call_rcu_data'>
+      <!-- parameter of type 'unsigned long int' -->
+      <parameter type-id='type-id-2' name='flags' filepath='src/urcu-call-rcu-impl.h' line='489' column='1'/>
+      <!-- parameter of type 'int' -->
+      <parameter type-id='type-id-4' name='cpu_affinity' filepath='src/urcu-call-rcu-impl.h' line='490' column='1'/>
+      <!-- call_rcu_data* -->
+      <return type-id='type-id-49'/>
+    </function-decl>
+    <!-- pthread_t urcu_signal_get_call_rcu_thread(call_rcu_data*) -->
+    <function-decl name='urcu_signal_get_call_rcu_thread' mangled-name='urcu_signal_get_call_rcu_thread' filepath='src/urcu-call-rcu-impl.h' line='471' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_get_call_rcu_thread'>
+      <!-- parameter of type 'call_rcu_data*' -->
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='471' column='1'/>
+      <!-- typedef pthread_t -->
+      <return type-id='type-id-9'/>
+    </function-decl>
+    <!-- call_rcu_data* urcu_signal_get_cpu_call_rcu_data(int) -->
+    <function-decl name='urcu_signal_get_cpu_call_rcu_data' mangled-name='urcu_signal_get_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='449' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_get_cpu_call_rcu_data'>
+      <!-- parameter of type 'int' -->
+      <parameter type-id='type-id-4' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='449' column='1'/>
+      <!-- call_rcu_data* -->
+      <return type-id='type-id-49'/>
+    </function-decl>
+    <!-- void urcu_signal_exit() -->
+    <function-decl name='urcu_signal_exit' mangled-name='urcu_signal_exit' filepath='src/urcu.c' line='643' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_exit'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_signal_init() -->
+    <function-decl name='urcu_signal_init' mangled-name='urcu_signal_init' filepath='src/urcu.c' line='626' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_init'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_signal_unregister_thread() -->
+    <function-decl name='urcu_signal_unregister_thread' mangled-name='urcu_signal_unregister_thread' filepath='src/urcu.c' line='546' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_unregister_thread'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_signal_register_thread() -->
+    <function-decl name='urcu_signal_register_thread' mangled-name='urcu_signal_register_thread' filepath='src/urcu.c' line='532' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_register_thread'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- int urcu_signal_read_ongoing() -->
+    <function-decl name='urcu_signal_read_ongoing' mangled-name='urcu_signal_read_ongoing' filepath='src/urcu.c' line='527' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_read_ongoing'>
+      <!-- int -->
+      <return type-id='type-id-4'/>
+    </function-decl>
+    <!-- void urcu_signal_read_unlock() -->
+    <function-decl name='urcu_signal_read_unlock' mangled-name='urcu_signal_read_unlock' filepath='src/urcu.c' line='522' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_read_unlock'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_signal_read_lock() -->
+    <function-decl name='urcu_signal_read_lock' mangled-name='urcu_signal_read_lock' filepath='src/urcu.c' line='517' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_read_lock'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_signal_synchronize_rcu() -->
+    <function-decl name='urcu_signal_synchronize_rcu' mangled-name='urcu_signal_synchronize_rcu' filepath='src/urcu.c' line='396' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_signal_synchronize_rcu'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- int () -->
+    <function-type size-in-bits='64' id='type-id-20'>
+      <!-- int -->
+      <return type-id='type-id-4'/>
+    </function-type>
+    <!-- void () -->
+    <function-type size-in-bits='64' id='type-id-19'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-type>
+    <!-- void (rcu_head*) -->
+    <function-type size-in-bits='64' id='type-id-26'>
+      <!-- parameter of type 'rcu_head*' -->
+      <parameter type-id='type-id-25'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-type>
+    <!-- void (rcu_head*, void (rcu_head*)*) -->
+    <function-type size-in-bits='64' id='type-id-27'>
+      <!-- parameter of type 'rcu_head*' -->
+      <parameter type-id='type-id-25'/>
+      <!-- parameter of type 'void (rcu_head*)*' -->
+      <parameter type-id='type-id-23'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-type>
+    <!-- void (urcu_atfork*) -->
+    <function-type size-in-bits='64' id='type-id-34'>
+      <!-- parameter of type 'urcu_atfork*' -->
+      <parameter type-id='type-id-33'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-type>
+    <!-- void (void (void*)*, void*) -->
+    <function-type size-in-bits='64' id='type-id-31'>
+      <!-- parameter of type 'void (void*)*' -->
+      <parameter type-id='type-id-30'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-28'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-type>
+    <!-- void (void*) -->
+    <function-type size-in-bits='64' id='type-id-29'>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-28'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='urcu-pointer.c' comp-dir-path='src' language='LANG_C99'>
+    <!-- void** -->
+    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-50'/>
+    <!-- void* rcu_cmpxchg_pointer_sym(void**, void*, void*) -->
+    <function-decl name='rcu_cmpxchg_pointer_sym' mangled-name='rcu_cmpxchg_pointer_sym' filepath='src/urcu-pointer.c' line='53' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_cmpxchg_pointer_sym'>
+      <!-- parameter of type 'void**' -->
+      <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='53' column='1'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-28' name='old' filepath='src/urcu-pointer.c' line='53' column='1'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-28' name='_new' filepath='src/urcu-pointer.c' line='53' column='1'/>
+      <!-- void* -->
+      <return type-id='type-id-28'/>
+    </function-decl>
+    <!-- void* rcu_xchg_pointer_sym(void**, void*) -->
+    <function-decl name='rcu_xchg_pointer_sym' mangled-name='rcu_xchg_pointer_sym' filepath='src/urcu-pointer.c' line='47' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_xchg_pointer_sym'>
+      <!-- parameter of type 'void**' -->
+      <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='47' column='1'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-28' name='v' filepath='src/urcu-pointer.c' line='47' column='1'/>
+      <!-- void* -->
+      <return type-id='type-id-28'/>
+    </function-decl>
+    <!-- void* rcu_set_pointer_sym(void**, void*) -->
+    <function-decl name='rcu_set_pointer_sym' mangled-name='rcu_set_pointer_sym' filepath='src/urcu-pointer.c' line='40' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_set_pointer_sym'>
+      <!-- parameter of type 'void**' -->
+      <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='40' column='1'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-28' name='v' filepath='src/urcu-pointer.c' line='40' column='1'/>
+      <!-- void* -->
+      <return type-id='type-id-28'/>
+    </function-decl>
+    <!-- void* rcu_dereference_sym(void*) -->
+    <function-decl name='rcu_dereference_sym' mangled-name='rcu_dereference_sym' filepath='src/urcu-pointer.c' line='35' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_dereference_sym'>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-28' name='p' filepath='src/urcu-pointer.c' line='35' column='1'/>
+      <!-- void* -->
+      <return type-id='type-id-28'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='compat_futex.c' comp-dir-path='src' language='LANG_C99'>
+    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
+    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-39' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='75' column='1' id='type-id-51'>
+      <data-member access='private'>
+        <!-- __pthread_cond_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-52' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <!-- char __anonymous_union__::__size[48] -->
+        <var-decl name='__size' type-id='type-id-53' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <!-- long long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-54' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='79' column='1'/>
+      </data-member>
+    </union-decl>
+    <!-- struct __pthread_cond_s -->
+    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='171' column='1' id='type-id-52'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- __anonymous_union__  -->
+        <var-decl name='' type-id='type-id-55' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <!-- unsigned int __pthread_cond_s::__g_refs[2] -->
+        <var-decl name='__g_refs' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <!-- unsigned int __pthread_cond_s::__g_size[2] -->
+        <var-decl name='__g_size' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='192' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <!-- unsigned int __pthread_cond_s::__g1_orig_size -->
+        <var-decl name='__g1_orig_size' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='193' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <!-- unsigned int __pthread_cond_s::__wrefs -->
+        <var-decl name='__wrefs' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <!-- unsigned int __pthread_cond_s::__g_signals[2] -->
+        <var-decl name='__g_signals' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='195' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='173' column='1' id='type-id-55'>
+      <data-member access='private'>
+        <!-- long long unsigned int __anonymous_union__::__wseq -->
+        <var-decl name='__wseq' type-id='type-id-57' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='175' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <!-- __anonymous_struct__ __anonymous_union__::__wseq32 -->
+        <var-decl name='__wseq32' type-id='type-id-58' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='180' column='1'/>
+      </data-member>
+    </union-decl>
+    <!-- long long unsigned int -->
+    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-57'/>
+    <!-- struct __anonymous_struct__ -->
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='176' column='1' id='type-id-58'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- unsigned int __anonymous_struct__::__low -->
+        <var-decl name='__low' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='178' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <!-- unsigned int __anonymous_struct__::__high -->
+        <var-decl name='__high' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='179' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <!-- unsigned int[2] -->
+    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='64' id='type-id-56'>
+      <!-- <anonymous range>[2] -->
+      <subrange length='2' type-id='type-id-2' id='type-id-59'/>
+
+    </array-type-def>
+
+    <!-- char[48] -->
+    <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='384' id='type-id-53'>
+      <!-- <anonymous range>[48] -->
+      <subrange length='48' type-id='type-id-2' id='type-id-60'/>
+
+    </array-type-def>
+    <!-- long long int -->
+    <type-decl name='long long int' size-in-bits='64' id='type-id-54'/>
+    <!-- typedef __anonymous_union__ pthread_cond_t -->
+    <typedef-decl name='pthread_cond_t' type-id='type-id-51' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='80' column='1' id='type-id-61'/>
+    <!-- pthread_cond_t __urcu_compat_futex_cond -->
+    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-61' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
+    <!-- int32_t* -->
+    <pointer-type-def type-id='type-id-3' size-in-bits='64' id='type-id-62'/>
+    <!-- struct timespec -->
+    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='9' column='1' id='type-id-63'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- __time_t timespec::tv_sec -->
+        <var-decl name='tv_sec' type-id='type-id-64' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='11' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- __syscall_slong_t timespec::tv_nsec -->
+        <var-decl name='tv_nsec' type-id='type-id-65' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='12' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- typedef long int __time_t -->
+    <typedef-decl name='__time_t' type-id='type-id-43' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='148' column='1' id='type-id-64'/>
+    <!-- typedef long int __syscall_slong_t -->
+    <typedef-decl name='__syscall_slong_t' type-id='type-id-43' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='184' column='1' id='type-id-65'/>
+    <!-- const timespec -->
+    <qualified-type-def type-id='type-id-63' const='yes' id='type-id-66'/>
+    <!-- const timespec* -->
+    <pointer-type-def type-id='type-id-66' size-in-bits='64' id='type-id-67'/>
+    <!-- int compat_futex_async(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
+    <function-decl name='compat_futex_async' mangled-name='compat_futex_async' filepath='src/compat_futex.c' line='118' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_async'>
+      <!-- parameter of type 'int32_t*' -->
+      <parameter type-id='type-id-62' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
+      <!-- parameter of type 'int' -->
+      <parameter type-id='type-id-4' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
+      <!-- parameter of type 'typedef int32_t' -->
+      <parameter type-id='type-id-3' name='val' filepath='src/compat_futex.c' line='118' column='1'/>
+      <!-- parameter of type 'const timespec*' -->
+      <parameter type-id='type-id-67' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
+      <!-- parameter of type 'int32_t*' -->
+      <parameter type-id='type-id-62' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
+      <!-- parameter of type 'typedef int32_t' -->
+      <parameter type-id='type-id-3' name='val3' filepath='src/compat_futex.c' line='119' column='1'/>
+      <!-- int -->
+      <return type-id='type-id-4'/>
+    </function-decl>
+    <!-- int compat_futex_noasync(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
+    <function-decl name='compat_futex_noasync' mangled-name='compat_futex_noasync' filepath='src/compat_futex.c' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_noasync'>
+      <!-- parameter of type 'int32_t*' -->
+      <parameter type-id='type-id-62' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
+      <!-- parameter of type 'int' -->
+      <parameter type-id='type-id-4' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
+      <!-- parameter of type 'typedef int32_t' -->
+      <parameter type-id='type-id-3' name='val' filepath='src/compat_futex.c' line='54' column='1'/>
+      <!-- parameter of type 'const timespec*' -->
+      <parameter type-id='type-id-67' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
+      <!-- parameter of type 'int32_t*' -->
+      <parameter type-id='type-id-62' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
+      <!-- parameter of type 'typedef int32_t' -->
+      <parameter type-id='type-id-3' name='val3' filepath='src/compat_futex.c' line='55' column='1'/>
+      <!-- int -->
+      <return type-id='type-id-4'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
diff --git a/extras/abi/0.14/x86_64-pc-linux-gnu/liburcu.so.8.xml b/extras/abi/0.14/x86_64-pc-linux-gnu/liburcu.so.8.xml
new file mode 100644 (file)
index 0000000..d70810e
--- /dev/null
@@ -0,0 +1,850 @@
+<abi-corpus architecture='elf-amd-x86_64' soname='liburcu.so.8'>
+  <elf-needed>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <!-- _fini -->
+    <elf-symbol name='_fini' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- _init -->
+    <elf-symbol name='_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- compat_futex_async -->
+    <elf-symbol name='compat_futex_async' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- compat_futex_noasync -->
+    <elf-symbol name='compat_futex_noasync' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- rcu_cmpxchg_pointer_sym -->
+    <elf-symbol name='rcu_cmpxchg_pointer_sym' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- rcu_dereference_sym -->
+    <elf-symbol name='rcu_dereference_sym' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- rcu_set_pointer_sym -->
+    <elf-symbol name='rcu_set_pointer_sym' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- rcu_xchg_pointer_sym -->
+    <elf-symbol name='rcu_xchg_pointer_sym' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_barrier -->
+    <elf-symbol name='urcu_memb_barrier' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_call_rcu -->
+    <elf-symbol name='urcu_memb_call_rcu' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_call_rcu_after_fork_child -->
+    <elf-symbol name='urcu_memb_call_rcu_after_fork_child' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_call_rcu_after_fork_parent -->
+    <elf-symbol name='urcu_memb_call_rcu_after_fork_parent' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_call_rcu_before_fork -->
+    <elf-symbol name='urcu_memb_call_rcu_before_fork' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_call_rcu_data_free -->
+    <elf-symbol name='urcu_memb_call_rcu_data_free' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_create_all_cpu_call_rcu_data -->
+    <elf-symbol name='urcu_memb_create_all_cpu_call_rcu_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_create_call_rcu_data -->
+    <elf-symbol name='urcu_memb_create_call_rcu_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_defer_barrier -->
+    <elf-symbol name='urcu_memb_defer_barrier' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_defer_barrier_thread -->
+    <elf-symbol name='urcu_memb_defer_barrier_thread' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_defer_exit -->
+    <elf-symbol name='urcu_memb_defer_exit' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_defer_rcu -->
+    <elf-symbol name='urcu_memb_defer_rcu' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_defer_register_thread -->
+    <elf-symbol name='urcu_memb_defer_register_thread' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_defer_unregister_thread -->
+    <elf-symbol name='urcu_memb_defer_unregister_thread' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_free_all_cpu_call_rcu_data -->
+    <elf-symbol name='urcu_memb_free_all_cpu_call_rcu_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_get_call_rcu_data -->
+    <elf-symbol name='urcu_memb_get_call_rcu_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_get_call_rcu_thread -->
+    <elf-symbol name='urcu_memb_get_call_rcu_thread' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_get_cpu_call_rcu_data -->
+    <elf-symbol name='urcu_memb_get_cpu_call_rcu_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_get_default_call_rcu_data -->
+    <elf-symbol name='urcu_memb_get_default_call_rcu_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_get_thread_call_rcu_data -->
+    <elf-symbol name='urcu_memb_get_thread_call_rcu_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_init -->
+    <elf-symbol name='urcu_memb_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_read_lock -->
+    <elf-symbol name='urcu_memb_read_lock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_read_ongoing -->
+    <elf-symbol name='urcu_memb_read_ongoing' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_read_unlock -->
+    <elf-symbol name='urcu_memb_read_unlock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_register_rculfhash_atfork -->
+    <elf-symbol name='urcu_memb_register_rculfhash_atfork' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_register_thread -->
+    <elf-symbol name='urcu_memb_register_thread' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_set_cpu_call_rcu_data -->
+    <elf-symbol name='urcu_memb_set_cpu_call_rcu_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_set_thread_call_rcu_data -->
+    <elf-symbol name='urcu_memb_set_thread_call_rcu_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_synchronize_rcu -->
+    <elf-symbol name='urcu_memb_synchronize_rcu' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_unregister_rculfhash_atfork -->
+    <elf-symbol name='urcu_memb_unregister_rculfhash_atfork' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_unregister_thread -->
+    <elf-symbol name='urcu_memb_unregister_thread' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <elf-variable-symbols>
+    <!-- __urcu_compat_futex_cond -->
+    <elf-symbol name='__urcu_compat_futex_cond' size='48' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- __urcu_compat_futex_lock -->
+    <elf-symbol name='__urcu_compat_futex_lock' size='40' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_flavor -->
+    <elf-symbol name='urcu_memb_flavor' size='112' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_gp -->
+    <elf-symbol name='urcu_memb_gp' size='128' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_has_sys_membarrier -->
+    <elf-symbol name='urcu_memb_has_sys_membarrier' size='4' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <!-- urcu_memb_reader -->
+    <elf-symbol name='urcu_memb_reader' size='256' type='tls-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-variable-symbols>
+  <abi-instr version='1.0' address-size='64' path='urcu.c' comp-dir-path='src' language='LANG_C99'>
+    <!-- int -->
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <!-- int urcu_memb_has_sys_membarrier -->
+    <var-decl name='urcu_memb_has_sys_membarrier' type-id='type-id-1' mangled-name='urcu_memb_has_sys_membarrier' visibility='default' filepath='../include/urcu/static/urcu-memb.h' line='72' column='1' elf-symbol-id='urcu_memb_has_sys_membarrier'/>
+    <!-- struct urcu_gp -->
+    <class-decl name='urcu_gp' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='66' column='1' id='type-id-2'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- unsigned long int urcu_gp::ctr -->
+        <var-decl name='ctr' type-id='type-id-3' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='74' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- int32_t urcu_gp::futex -->
+        <var-decl name='futex' type-id='type-id-4' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='76' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- unsigned long int -->
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-3'/>
+    <!-- typedef int __int32_t -->
+    <typedef-decl name='__int32_t' type-id='type-id-1' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='40' column='1' id='type-id-5'/>
+    <!-- typedef __int32_t int32_t -->
+    <typedef-decl name='int32_t' type-id='type-id-5' filepath='/usr/include/x86_64-linux-gnu/bits/stdint-intn.h' line='26' column='1' id='type-id-4'/>
+    <!-- urcu_gp urcu_memb_gp -->
+    <var-decl name='urcu_memb_gp' type-id='type-id-2' mangled-name='urcu_memb_gp' visibility='default' filepath='../include/urcu/static/urcu-memb.h' line='83' column='1' elf-symbol-id='urcu_memb_gp'/>
+    <!-- struct urcu_reader -->
+    <class-decl name='urcu_reader' size-in-bits='2048' is-struct='yes' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='79' column='1' id='type-id-6'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- unsigned long int urcu_reader::ctr -->
+        <var-decl name='ctr' type-id='type-id-3' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- char urcu_reader::need_mb -->
+        <var-decl name='need_mb' type-id='type-id-7' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='82' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <!-- cds_list_head urcu_reader::node -->
+        <var-decl name='node' type-id='type-id-8' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <!-- pthread_t urcu_reader::tid -->
+        <var-decl name='tid' type-id='type-id-9' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='31'>
+        <!-- unsigned int urcu_reader::registered -->
+        <var-decl name='registered' type-id='type-id-10' visibility='default' filepath='../include/urcu/static/urcu-common.h' line='87' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- char -->
+    <type-decl name='char' size-in-bits='8' id='type-id-7'/>
+    <!-- struct cds_list_head -->
+    <class-decl name='cds_list_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/list.h' line='37' column='1' id='type-id-8'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_list_head* cds_list_head::next -->
+        <var-decl name='next' type-id='type-id-11' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- cds_list_head* cds_list_head::prev -->
+        <var-decl name='prev' type-id='type-id-11' visibility='default' filepath='../include/urcu/list.h' line='38' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- cds_list_head* -->
+    <pointer-type-def type-id='type-id-8' size-in-bits='64' id='type-id-11'/>
+    <!-- typedef unsigned long int pthread_t -->
+    <typedef-decl name='pthread_t' type-id='type-id-3' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='27' column='1' id='type-id-9'/>
+    <!-- unsigned int -->
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-10'/>
+    <!-- urcu_reader urcu_memb_reader -->
+    <var-decl name='urcu_memb_reader' type-id='type-id-6' mangled-name='urcu_memb_reader' visibility='default' filepath='../include/urcu/static/urcu-memb.h' line='85' column='1' elf-symbol-id='urcu_memb_reader'/>
+    <!-- struct rcu_flavor_struct -->
+    <class-decl name='rcu_flavor_struct' size-in-bits='896' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='42' column='1' id='type-id-12'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- void ()* rcu_flavor_struct::read_lock -->
+        <var-decl name='read_lock' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='43' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- void ()* rcu_flavor_struct::read_unlock -->
+        <var-decl name='read_unlock' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='44' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <!-- int ()* rcu_flavor_struct::read_ongoing -->
+        <var-decl name='read_ongoing' type-id='type-id-14' visibility='default' filepath='../include/urcu/flavor.h' line='45' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <!-- void ()* rcu_flavor_struct::read_quiescent_state -->
+        <var-decl name='read_quiescent_state' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='46' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <!-- void (rcu_head*, void (rcu_head*)*)* rcu_flavor_struct::update_call_rcu -->
+        <var-decl name='update_call_rcu' type-id='type-id-15' visibility='default' filepath='../include/urcu/flavor.h' line='47' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <!-- void ()* rcu_flavor_struct::update_synchronize_rcu -->
+        <var-decl name='update_synchronize_rcu' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <!-- void (void (void*)*, void*)* rcu_flavor_struct::update_defer_rcu -->
+        <var-decl name='update_defer_rcu' type-id='type-id-16' visibility='default' filepath='../include/urcu/flavor.h' line='50' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <!-- void ()* rcu_flavor_struct::thread_offline -->
+        <var-decl name='thread_offline' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <!-- void ()* rcu_flavor_struct::thread_online -->
+        <var-decl name='thread_online' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <!-- void ()* rcu_flavor_struct::register_thread -->
+        <var-decl name='register_thread' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='54' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <!-- void ()* rcu_flavor_struct::unregister_thread -->
+        <var-decl name='unregister_thread' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <!-- void ()* rcu_flavor_struct::barrier -->
+        <var-decl name='barrier' type-id='type-id-13' visibility='default' filepath='../include/urcu/flavor.h' line='57' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <!-- void (urcu_atfork*)* rcu_flavor_struct::register_rculfhash_atfork -->
+        <var-decl name='register_rculfhash_atfork' type-id='type-id-17' visibility='default' filepath='../include/urcu/flavor.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <!-- void (urcu_atfork*)* rcu_flavor_struct::unregister_rculfhash_atfork -->
+        <var-decl name='unregister_rculfhash_atfork' type-id='type-id-17' visibility='default' filepath='../include/urcu/flavor.h' line='60' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- void -->
+    <type-decl name='void' id='type-id-18'/>
+    <!-- void ()* -->
+    <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-13'/>
+    <!-- int ()* -->
+    <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-14'/>
+    <!-- struct rcu_head -->
+    <class-decl name='rcu_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../include/urcu/call-rcu.h' line='57' column='1' id='type-id-21'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_wfcq_node rcu_head::next -->
+        <var-decl name='next' type-id='type-id-22' visibility='default' filepath='../include/urcu/call-rcu.h' line='58' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- void (rcu_head*)* rcu_head::func -->
+        <var-decl name='func' type-id='type-id-23' visibility='default' filepath='../include/urcu/call-rcu.h' line='59' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- struct cds_wfcq_node -->
+    <class-decl name='cds_wfcq_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='58' column='1' id='type-id-22'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_wfcq_node* cds_wfcq_node::next -->
+        <var-decl name='next' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='59' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- cds_wfcq_node* -->
+    <pointer-type-def type-id='type-id-22' size-in-bits='64' id='type-id-24'/>
+    <!-- rcu_head* -->
+    <pointer-type-def type-id='type-id-21' size-in-bits='64' id='type-id-25'/>
+    <!-- void (rcu_head*)* -->
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-23'/>
+    <!-- void (rcu_head*, void (rcu_head*)*)* -->
+    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-15'/>
+    <!-- void* -->
+    <pointer-type-def type-id='type-id-18' size-in-bits='64' id='type-id-28'/>
+    <!-- void (void*)* -->
+    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-30'/>
+    <!-- void (void (void*)*, void*)* -->
+    <pointer-type-def type-id='type-id-31' size-in-bits='64' id='type-id-16'/>
+    <!-- struct urcu_atfork -->
+    <class-decl name='urcu_atfork' size-in-bits='256' is-struct='yes' visibility='default' filepath='../include/urcu/flavor.h' line='32' column='1' id='type-id-32'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- void (void*)* urcu_atfork::before_fork -->
+        <var-decl name='before_fork' type-id='type-id-30' visibility='default' filepath='../include/urcu/flavor.h' line='33' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- void (void*)* urcu_atfork::after_fork_parent -->
+        <var-decl name='after_fork_parent' type-id='type-id-30' visibility='default' filepath='../include/urcu/flavor.h' line='34' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <!-- void (void*)* urcu_atfork::after_fork_child -->
+        <var-decl name='after_fork_child' type-id='type-id-30' visibility='default' filepath='../include/urcu/flavor.h' line='35' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <!-- void* urcu_atfork::priv -->
+        <var-decl name='priv' type-id='type-id-28' visibility='default' filepath='../include/urcu/flavor.h' line='36' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- urcu_atfork* -->
+    <pointer-type-def type-id='type-id-32' size-in-bits='64' id='type-id-33'/>
+    <!-- void (urcu_atfork*)* -->
+    <pointer-type-def type-id='type-id-34' size-in-bits='64' id='type-id-17'/>
+    <!-- const rcu_flavor_struct -->
+    <qualified-type-def type-id='type-id-12' const='yes' id='type-id-35'/>
+    <!-- const rcu_flavor_struct urcu_memb_flavor -->
+    <var-decl name='urcu_memb_flavor' type-id='type-id-35' mangled-name='urcu_memb_flavor' visibility='default' filepath='../include/urcu/flavor.h' line='81' column='1' elf-symbol-id='urcu_memb_flavor'/>
+    <!-- void urcu_memb_defer_exit() -->
+    <function-decl name='urcu_memb_defer_exit' mangled-name='urcu_memb_defer_exit' filepath='src/urcu-defer-impl.h' line='467' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_defer_exit'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_defer_unregister_thread() -->
+    <function-decl name='urcu_memb_defer_unregister_thread' mangled-name='urcu_memb_defer_unregister_thread' filepath='src/urcu-defer-impl.h' line='449' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_defer_unregister_thread'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- int urcu_memb_defer_register_thread() -->
+    <function-decl name='urcu_memb_defer_register_thread' mangled-name='urcu_memb_defer_register_thread' filepath='src/urcu-defer-impl.h' line='427' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_defer_register_thread'>
+      <!-- int -->
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <!-- void urcu_memb_defer_rcu(void (void*)*, void*) -->
+    <function-decl name='urcu_memb_defer_rcu' mangled-name='urcu_memb_defer_rcu' filepath='src/urcu-defer-impl.h' line='396' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_defer_rcu'>
+      <!-- parameter of type 'void (void*)*' -->
+      <parameter type-id='type-id-30' name='fct' filepath='src/urcu-defer-impl.h' line='396' column='1'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-28' name='p' filepath='src/urcu-defer-impl.h' line='396' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_defer_barrier() -->
+    <function-decl name='urcu_memb_defer_barrier' mangled-name='urcu_memb_defer_barrier' filepath='src/urcu-defer-impl.h' line='282' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_defer_barrier'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_defer_barrier_thread() -->
+    <function-decl name='urcu_memb_defer_barrier_thread' mangled-name='urcu_memb_defer_barrier_thread' filepath='src/urcu-defer-impl.h' line='262' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_defer_barrier_thread'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_unregister_rculfhash_atfork(urcu_atfork*) -->
+    <function-decl name='urcu_memb_unregister_rculfhash_atfork' mangled-name='urcu_memb_unregister_rculfhash_atfork' filepath='src/urcu-call-rcu-impl.h' line='1012' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_unregister_rculfhash_atfork'>
+      <!-- parameter of type 'urcu_atfork*' -->
+      <parameter type-id='type-id-33' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1012' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_register_rculfhash_atfork(urcu_atfork*) -->
+    <function-decl name='urcu_memb_register_rculfhash_atfork' mangled-name='urcu_memb_register_rculfhash_atfork' filepath='src/urcu-call-rcu-impl.h' line='1002' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_register_rculfhash_atfork'>
+      <!-- parameter of type 'urcu_atfork*' -->
+      <parameter type-id='type-id-33' name='atfork' filepath='src/urcu-call-rcu-impl.h' line='1012' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_call_rcu_after_fork_child() -->
+    <function-decl name='urcu_memb_call_rcu_after_fork_child' mangled-name='urcu_memb_call_rcu_after_fork_child' filepath='src/urcu-call-rcu-impl.h' line='960' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_call_rcu_after_fork_child'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_call_rcu_after_fork_parent() -->
+    <function-decl name='urcu_memb_call_rcu_after_fork_parent' mangled-name='urcu_memb_call_rcu_after_fork_parent' filepath='src/urcu-call-rcu-impl.h' line='938' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_call_rcu_after_fork_parent'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_call_rcu_before_fork() -->
+    <function-decl name='urcu_memb_call_rcu_before_fork' mangled-name='urcu_memb_call_rcu_before_fork' filepath='src/urcu-call-rcu-impl.h' line='911' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_call_rcu_before_fork'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_barrier() -->
+    <function-decl name='urcu_memb_barrier' mangled-name='urcu_memb_barrier' filepath='src/urcu-call-rcu-impl.h' line='840' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_barrier'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_free_all_cpu_call_rcu_data() -->
+    <function-decl name='urcu_memb_free_all_cpu_call_rcu_data' mangled-name='urcu_memb_free_all_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='777' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_free_all_cpu_call_rcu_data'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- struct call_rcu_data -->
+    <class-decl name='call_rcu_data' size-in-bits='1024' is-struct='yes' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='53' column='1' id='type-id-36'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_wfcq_tail call_rcu_data::cbs_tail -->
+        <var-decl name='cbs_tail' type-id='type-id-37' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='61' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- cds_wfcq_head call_rcu_data::cbs_head -->
+        <var-decl name='cbs_head' type-id='type-id-38' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <!-- unsigned long int call_rcu_data::flags -->
+        <var-decl name='flags' type-id='type-id-3' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <!-- int32_t call_rcu_data::futex -->
+        <var-decl name='futex' type-id='type-id-4' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <!-- unsigned long int call_rcu_data::qlen -->
+        <var-decl name='qlen' type-id='type-id-3' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <!-- pthread_t call_rcu_data::tid -->
+        <var-decl name='tid' type-id='type-id-9' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <!-- int call_rcu_data::cpu_affinity -->
+        <var-decl name='cpu_affinity' type-id='type-id-1' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='67' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <!-- unsigned long int call_rcu_data::gp_count -->
+        <var-decl name='gp_count' type-id='type-id-3' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <!-- cds_list_head call_rcu_data::list -->
+        <var-decl name='list' type-id='type-id-8' visibility='default' filepath='src/urcu-call-rcu-impl.h' line='69' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- struct cds_wfcq_tail -->
+    <class-decl name='cds_wfcq_tail' size-in-bits='64' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='140' column='1' id='type-id-37'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_wfcq_node* cds_wfcq_tail::p -->
+        <var-decl name='p' type-id='type-id-24' visibility='default' filepath='../include/urcu/wfcqueue.h' line='141' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- struct cds_wfcq_head -->
+    <class-decl name='cds_wfcq_head' size-in-bits='384' is-struct='yes' visibility='default' filepath='../include/urcu/wfcqueue.h' line='71' column='1' id='type-id-38'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- cds_wfcq_node cds_wfcq_head::node -->
+        <var-decl name='node' type-id='type-id-22' visibility='default' filepath='../include/urcu/wfcqueue.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- pthread_mutex_t cds_wfcq_head::lock -->
+        <var-decl name='lock' type-id='type-id-39' visibility='default' filepath='../include/urcu/wfcqueue.h' line='73' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='67' column='1' id='type-id-40'>
+      <data-member access='private'>
+        <!-- __pthread_mutex_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-41' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='69' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <!-- char __anonymous_union__::__size[40] -->
+        <var-decl name='__size' type-id='type-id-42' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <!-- long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-43' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='71' column='1'/>
+      </data-member>
+    </union-decl>
+    <!-- struct __pthread_mutex_s -->
+    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='118' column='1' id='type-id-41'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- int __pthread_mutex_s::__lock -->
+        <var-decl name='__lock' type-id='type-id-1' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='120' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <!-- unsigned int __pthread_mutex_s::__count -->
+        <var-decl name='__count' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='121' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- int __pthread_mutex_s::__owner -->
+        <var-decl name='__owner' type-id='type-id-1' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='122' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <!-- unsigned int __pthread_mutex_s::__nusers -->
+        <var-decl name='__nusers' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='124' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <!-- int __pthread_mutex_s::__kind -->
+        <var-decl name='__kind' type-id='type-id-1' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='148' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <!-- short int __pthread_mutex_s::__spins -->
+        <var-decl name='__spins' type-id='type-id-44' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <!-- short int __pthread_mutex_s::__elision -->
+        <var-decl name='__elision' type-id='type-id-44' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='154' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <!-- __pthread_list_t __pthread_mutex_s::__list -->
+        <var-decl name='__list' type-id='type-id-45' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='155' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- short int -->
+    <type-decl name='short int' size-in-bits='16' id='type-id-44'/>
+    <!-- struct __pthread_internal_list -->
+    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='82' column='1' id='type-id-46'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- __pthread_internal_list* __pthread_internal_list::__prev -->
+        <var-decl name='__prev' type-id='type-id-47' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- __pthread_internal_list* __pthread_internal_list::__next -->
+        <var-decl name='__next' type-id='type-id-47' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='85' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- __pthread_internal_list* -->
+    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-47'/>
+    <!-- typedef __pthread_internal_list __pthread_list_t -->
+    <typedef-decl name='__pthread_list_t' type-id='type-id-46' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='86' column='1' id='type-id-45'/>
+
+    <!-- char[40] -->
+    <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='320' id='type-id-42'>
+      <!-- <anonymous range>[40] -->
+      <subrange length='40' type-id='type-id-3' id='type-id-48'/>
+
+    </array-type-def>
+    <!-- long int -->
+    <type-decl name='long int' size-in-bits='64' id='type-id-43'/>
+    <!-- typedef __anonymous_union__ pthread_mutex_t -->
+    <typedef-decl name='pthread_mutex_t' type-id='type-id-40' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='72' column='1' id='type-id-39'/>
+    <!-- call_rcu_data* -->
+    <pointer-type-def type-id='type-id-36' size-in-bits='64' id='type-id-49'/>
+    <!-- void urcu_memb_call_rcu_data_free(call_rcu_data*) -->
+    <function-decl name='urcu_memb_call_rcu_data_free' mangled-name='urcu_memb_call_rcu_data_free' filepath='src/urcu-call-rcu-impl.h' line='742' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_call_rcu_data_free'>
+      <!-- parameter of type 'call_rcu_data*' -->
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='742' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_call_rcu(rcu_head*, void (rcu_head*)*) -->
+    <function-decl name='urcu_memb_call_rcu' mangled-name='urcu_memb_call_rcu' filepath='src/urcu-call-rcu-impl.h' line='704' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_call_rcu'>
+      <!-- parameter of type 'rcu_head*' -->
+      <parameter type-id='type-id-25' name='head' filepath='src/urcu-call-rcu-impl.h' line='704' column='1'/>
+      <!-- parameter of type 'void (rcu_head*)*' -->
+      <parameter type-id='type-id-23' name='func' filepath='src/urcu-call-rcu-impl.h' line='705' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- int urcu_memb_create_all_cpu_call_rcu_data(unsigned long int) -->
+    <function-decl name='urcu_memb_create_all_cpu_call_rcu_data' mangled-name='urcu_memb_create_all_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='626' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_create_all_cpu_call_rcu_data'>
+      <!-- parameter of type 'unsigned long int' -->
+      <parameter type-id='type-id-3' name='flags' filepath='src/urcu-call-rcu-impl.h' line='626' column='1'/>
+      <!-- int -->
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <!-- void urcu_memb_set_thread_call_rcu_data(call_rcu_data*) -->
+    <function-decl name='urcu_memb_set_thread_call_rcu_data' mangled-name='urcu_memb_set_thread_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='613' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_set_thread_call_rcu_data'>
+      <!-- parameter of type 'call_rcu_data*' -->
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='613' column='1'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- call_rcu_data* urcu_memb_get_thread_call_rcu_data() -->
+    <function-decl name='urcu_memb_get_thread_call_rcu_data' mangled-name='urcu_memb_get_thread_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='597' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_get_thread_call_rcu_data'>
+      <!-- call_rcu_data* -->
+      <return type-id='type-id-49'/>
+    </function-decl>
+    <!-- call_rcu_data* urcu_memb_get_call_rcu_data() -->
+    <function-decl name='urcu_memb_get_call_rcu_data' mangled-name='urcu_memb_get_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='577' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_get_call_rcu_data'>
+      <!-- call_rcu_data* -->
+      <return type-id='type-id-49'/>
+    </function-decl>
+    <!-- call_rcu_data* urcu_memb_get_default_call_rcu_data() -->
+    <function-decl name='urcu_memb_get_default_call_rcu_data' mangled-name='urcu_memb_get_default_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='552' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_get_default_call_rcu_data'>
+      <!-- call_rcu_data* -->
+      <return type-id='type-id-49'/>
+    </function-decl>
+    <!-- int urcu_memb_set_cpu_call_rcu_data(int, call_rcu_data*) -->
+    <function-decl name='urcu_memb_set_cpu_call_rcu_data' mangled-name='urcu_memb_set_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='513' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_set_cpu_call_rcu_data'>
+      <!-- parameter of type 'int' -->
+      <parameter type-id='type-id-1' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='513' column='1'/>
+      <!-- parameter of type 'call_rcu_data*' -->
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='513' column='1'/>
+      <!-- int -->
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <!-- call_rcu_data* urcu_memb_create_call_rcu_data(unsigned long int, int) -->
+    <function-decl name='urcu_memb_create_call_rcu_data' mangled-name='urcu_memb_create_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='489' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_create_call_rcu_data'>
+      <!-- parameter of type 'unsigned long int' -->
+      <parameter type-id='type-id-3' name='flags' filepath='src/urcu-call-rcu-impl.h' line='489' column='1'/>
+      <!-- parameter of type 'int' -->
+      <parameter type-id='type-id-1' name='cpu_affinity' filepath='src/urcu-call-rcu-impl.h' line='490' column='1'/>
+      <!-- call_rcu_data* -->
+      <return type-id='type-id-49'/>
+    </function-decl>
+    <!-- pthread_t urcu_memb_get_call_rcu_thread(call_rcu_data*) -->
+    <function-decl name='urcu_memb_get_call_rcu_thread' mangled-name='urcu_memb_get_call_rcu_thread' filepath='src/urcu-call-rcu-impl.h' line='471' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_get_call_rcu_thread'>
+      <!-- parameter of type 'call_rcu_data*' -->
+      <parameter type-id='type-id-49' name='crdp' filepath='src/urcu-call-rcu-impl.h' line='471' column='1'/>
+      <!-- typedef pthread_t -->
+      <return type-id='type-id-9'/>
+    </function-decl>
+    <!-- call_rcu_data* urcu_memb_get_cpu_call_rcu_data(int) -->
+    <function-decl name='urcu_memb_get_cpu_call_rcu_data' mangled-name='urcu_memb_get_cpu_call_rcu_data' filepath='src/urcu-call-rcu-impl.h' line='449' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_get_cpu_call_rcu_data'>
+      <!-- parameter of type 'int' -->
+      <parameter type-id='type-id-1' name='cpu' filepath='src/urcu-call-rcu-impl.h' line='449' column='1'/>
+      <!-- call_rcu_data* -->
+      <return type-id='type-id-49'/>
+    </function-decl>
+    <!-- void urcu_memb_init() -->
+    <function-decl name='urcu_memb_init' mangled-name='urcu_memb_init' filepath='src/urcu.c' line='594' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_init'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_unregister_thread() -->
+    <function-decl name='urcu_memb_unregister_thread' mangled-name='urcu_memb_unregister_thread' filepath='src/urcu.c' line='546' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_unregister_thread'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_register_thread() -->
+    <function-decl name='urcu_memb_register_thread' mangled-name='urcu_memb_register_thread' filepath='src/urcu.c' line='532' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_register_thread'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- int urcu_memb_read_ongoing() -->
+    <function-decl name='urcu_memb_read_ongoing' mangled-name='urcu_memb_read_ongoing' filepath='src/urcu.c' line='527' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_read_ongoing'>
+      <!-- int -->
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <!-- void urcu_memb_read_unlock() -->
+    <function-decl name='urcu_memb_read_unlock' mangled-name='urcu_memb_read_unlock' filepath='src/urcu.c' line='522' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_read_unlock'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_read_lock() -->
+    <function-decl name='urcu_memb_read_lock' mangled-name='urcu_memb_read_lock' filepath='src/urcu.c' line='517' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_read_lock'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- void urcu_memb_synchronize_rcu() -->
+    <function-decl name='urcu_memb_synchronize_rcu' mangled-name='urcu_memb_synchronize_rcu' filepath='src/urcu.c' line='396' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='urcu_memb_synchronize_rcu'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <!-- int () -->
+    <function-type size-in-bits='64' id='type-id-20'>
+      <!-- int -->
+      <return type-id='type-id-1'/>
+    </function-type>
+    <!-- void () -->
+    <function-type size-in-bits='64' id='type-id-19'>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-type>
+    <!-- void (rcu_head*) -->
+    <function-type size-in-bits='64' id='type-id-26'>
+      <!-- parameter of type 'rcu_head*' -->
+      <parameter type-id='type-id-25'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-type>
+    <!-- void (rcu_head*, void (rcu_head*)*) -->
+    <function-type size-in-bits='64' id='type-id-27'>
+      <!-- parameter of type 'rcu_head*' -->
+      <parameter type-id='type-id-25'/>
+      <!-- parameter of type 'void (rcu_head*)*' -->
+      <parameter type-id='type-id-23'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-type>
+    <!-- void (urcu_atfork*) -->
+    <function-type size-in-bits='64' id='type-id-34'>
+      <!-- parameter of type 'urcu_atfork*' -->
+      <parameter type-id='type-id-33'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-type>
+    <!-- void (void (void*)*, void*) -->
+    <function-type size-in-bits='64' id='type-id-31'>
+      <!-- parameter of type 'void (void*)*' -->
+      <parameter type-id='type-id-30'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-28'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-type>
+    <!-- void (void*) -->
+    <function-type size-in-bits='64' id='type-id-29'>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-28'/>
+      <!-- void -->
+      <return type-id='type-id-18'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='urcu-pointer.c' comp-dir-path='src' language='LANG_C99'>
+    <!-- void** -->
+    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-50'/>
+    <!-- void* rcu_cmpxchg_pointer_sym(void**, void*, void*) -->
+    <function-decl name='rcu_cmpxchg_pointer_sym' mangled-name='rcu_cmpxchg_pointer_sym' filepath='src/urcu-pointer.c' line='53' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_cmpxchg_pointer_sym'>
+      <!-- parameter of type 'void**' -->
+      <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='53' column='1'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-28' name='old' filepath='src/urcu-pointer.c' line='53' column='1'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-28' name='_new' filepath='src/urcu-pointer.c' line='53' column='1'/>
+      <!-- void* -->
+      <return type-id='type-id-28'/>
+    </function-decl>
+    <!-- void* rcu_xchg_pointer_sym(void**, void*) -->
+    <function-decl name='rcu_xchg_pointer_sym' mangled-name='rcu_xchg_pointer_sym' filepath='src/urcu-pointer.c' line='47' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_xchg_pointer_sym'>
+      <!-- parameter of type 'void**' -->
+      <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='47' column='1'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-28' name='v' filepath='src/urcu-pointer.c' line='47' column='1'/>
+      <!-- void* -->
+      <return type-id='type-id-28'/>
+    </function-decl>
+    <!-- void* rcu_set_pointer_sym(void**, void*) -->
+    <function-decl name='rcu_set_pointer_sym' mangled-name='rcu_set_pointer_sym' filepath='src/urcu-pointer.c' line='40' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_set_pointer_sym'>
+      <!-- parameter of type 'void**' -->
+      <parameter type-id='type-id-50' name='p' filepath='src/urcu-pointer.c' line='40' column='1'/>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-28' name='v' filepath='src/urcu-pointer.c' line='40' column='1'/>
+      <!-- void* -->
+      <return type-id='type-id-28'/>
+    </function-decl>
+    <!-- void* rcu_dereference_sym(void*) -->
+    <function-decl name='rcu_dereference_sym' mangled-name='rcu_dereference_sym' filepath='src/urcu-pointer.c' line='35' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_dereference_sym'>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-28' name='p' filepath='src/urcu-pointer.c' line='35' column='1'/>
+      <!-- void* -->
+      <return type-id='type-id-28'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='compat_futex.c' comp-dir-path='src' language='LANG_C99'>
+    <!-- pthread_mutex_t __urcu_compat_futex_lock -->
+    <var-decl name='__urcu_compat_futex_lock' type-id='type-id-39' mangled-name='__urcu_compat_futex_lock' visibility='default' filepath='src/compat_futex.c' line='44' column='1' elf-symbol-id='__urcu_compat_futex_lock'/>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='75' column='1' id='type-id-51'>
+      <data-member access='private'>
+        <!-- __pthread_cond_s __anonymous_union__::__data -->
+        <var-decl name='__data' type-id='type-id-52' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <!-- char __anonymous_union__::__size[48] -->
+        <var-decl name='__size' type-id='type-id-53' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <!-- long long int __anonymous_union__::__align -->
+        <var-decl name='__align' type-id='type-id-54' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='79' column='1'/>
+      </data-member>
+    </union-decl>
+    <!-- struct __pthread_cond_s -->
+    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='171' column='1' id='type-id-52'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- __anonymous_union__  -->
+        <var-decl name='' type-id='type-id-55' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <!-- unsigned int __pthread_cond_s::__g_refs[2] -->
+        <var-decl name='__g_refs' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <!-- unsigned int __pthread_cond_s::__g_size[2] -->
+        <var-decl name='__g_size' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='192' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <!-- unsigned int __pthread_cond_s::__g1_orig_size -->
+        <var-decl name='__g1_orig_size' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='193' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <!-- unsigned int __pthread_cond_s::__wrefs -->
+        <var-decl name='__wrefs' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <!-- unsigned int __pthread_cond_s::__g_signals[2] -->
+        <var-decl name='__g_signals' type-id='type-id-56' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='195' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- union __anonymous_union__ -->
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='173' column='1' id='type-id-55'>
+      <data-member access='private'>
+        <!-- long long unsigned int __anonymous_union__::__wseq -->
+        <var-decl name='__wseq' type-id='type-id-57' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='175' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <!-- __anonymous_struct__ __anonymous_union__::__wseq32 -->
+        <var-decl name='__wseq32' type-id='type-id-58' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='180' column='1'/>
+      </data-member>
+    </union-decl>
+    <!-- long long unsigned int -->
+    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-57'/>
+    <!-- struct __anonymous_struct__ -->
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='176' column='1' id='type-id-58'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- unsigned int __anonymous_struct__::__low -->
+        <var-decl name='__low' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='178' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <!-- unsigned int __anonymous_struct__::__high -->
+        <var-decl name='__high' type-id='type-id-10' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h' line='179' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <!-- unsigned int[2] -->
+    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='64' id='type-id-56'>
+      <!-- <anonymous range>[2] -->
+      <subrange length='2' type-id='type-id-3' id='type-id-59'/>
+
+    </array-type-def>
+
+    <!-- char[48] -->
+    <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='384' id='type-id-53'>
+      <!-- <anonymous range>[48] -->
+      <subrange length='48' type-id='type-id-3' id='type-id-60'/>
+
+    </array-type-def>
+    <!-- long long int -->
+    <type-decl name='long long int' size-in-bits='64' id='type-id-54'/>
+    <!-- typedef __anonymous_union__ pthread_cond_t -->
+    <typedef-decl name='pthread_cond_t' type-id='type-id-51' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='80' column='1' id='type-id-61'/>
+    <!-- pthread_cond_t __urcu_compat_futex_cond -->
+    <var-decl name='__urcu_compat_futex_cond' type-id='type-id-61' mangled-name='__urcu_compat_futex_cond' visibility='default' filepath='src/compat_futex.c' line='46' column='1' elf-symbol-id='__urcu_compat_futex_cond'/>
+    <!-- int32_t* -->
+    <pointer-type-def type-id='type-id-4' size-in-bits='64' id='type-id-62'/>
+    <!-- struct timespec -->
+    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='9' column='1' id='type-id-63'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- __time_t timespec::tv_sec -->
+        <var-decl name='tv_sec' type-id='type-id-64' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='11' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- __syscall_slong_t timespec::tv_nsec -->
+        <var-decl name='tv_nsec' type-id='type-id-65' visibility='default' filepath='/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h' line='12' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- typedef long int __time_t -->
+    <typedef-decl name='__time_t' type-id='type-id-43' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='148' column='1' id='type-id-64'/>
+    <!-- typedef long int __syscall_slong_t -->
+    <typedef-decl name='__syscall_slong_t' type-id='type-id-43' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='184' column='1' id='type-id-65'/>
+    <!-- const timespec -->
+    <qualified-type-def type-id='type-id-63' const='yes' id='type-id-66'/>
+    <!-- const timespec* -->
+    <pointer-type-def type-id='type-id-66' size-in-bits='64' id='type-id-67'/>
+    <!-- int compat_futex_async(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
+    <function-decl name='compat_futex_async' mangled-name='compat_futex_async' filepath='src/compat_futex.c' line='118' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_async'>
+      <!-- parameter of type 'int32_t*' -->
+      <parameter type-id='type-id-62' name='uaddr' filepath='src/compat_futex.c' line='118' column='1'/>
+      <!-- parameter of type 'int' -->
+      <parameter type-id='type-id-1' name='op' filepath='src/compat_futex.c' line='118' column='1'/>
+      <!-- parameter of type 'typedef int32_t' -->
+      <parameter type-id='type-id-4' name='val' filepath='src/compat_futex.c' line='118' column='1'/>
+      <!-- parameter of type 'const timespec*' -->
+      <parameter type-id='type-id-67' name='timeout' filepath='src/compat_futex.c' line='119' column='1'/>
+      <!-- parameter of type 'int32_t*' -->
+      <parameter type-id='type-id-62' name='uaddr2' filepath='src/compat_futex.c' line='119' column='1'/>
+      <!-- parameter of type 'typedef int32_t' -->
+      <parameter type-id='type-id-4' name='val3' filepath='src/compat_futex.c' line='119' column='1'/>
+      <!-- int -->
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <!-- int compat_futex_noasync(int32_t*, int, int32_t, const timespec*, int32_t*, int32_t) -->
+    <function-decl name='compat_futex_noasync' mangled-name='compat_futex_noasync' filepath='src/compat_futex.c' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_futex_noasync'>
+      <!-- parameter of type 'int32_t*' -->
+      <parameter type-id='type-id-62' name='uaddr' filepath='src/compat_futex.c' line='54' column='1'/>
+      <!-- parameter of type 'int' -->
+      <parameter type-id='type-id-1' name='op' filepath='src/compat_futex.c' line='54' column='1'/>
+      <!-- parameter of type 'typedef int32_t' -->
+      <parameter type-id='type-id-4' name='val' filepath='src/compat_futex.c' line='54' column='1'/>
+      <!-- parameter of type 'const timespec*' -->
+      <parameter type-id='type-id-67' name='timeout' filepath='src/compat_futex.c' line='55' column='1'/>
+      <!-- parameter of type 'int32_t*' -->
+      <parameter type-id='type-id-62' name='uaddr2' filepath='src/compat_futex.c' line='55' column='1'/>
+      <!-- parameter of type 'typedef int32_t' -->
+      <parameter type-id='type-id-4' name='val3' filepath='src/compat_futex.c' line='55' column='1'/>
+      <!-- int -->
+      <return type-id='type-id-1'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
index 4492fc680404e51011027e10386eb3e51c9b42ea..52bbd0489e0f9cc0a109b3939a2f574e9c22d414 100644 (file)
@@ -2,12 +2,13 @@ This directory contains the serialized ABI definitions for a typical build of
 the liburcu libraries. This information is extracted using libabigail
 (https://sourceware.org/libabigail/).
 
-The artefacts used to generate these were built with CFLAGS="-O0 -ggdb".
+The artefacts used to generate these were built with CFLAGS="-O0 -ggdb" on an
+Ubuntu 18.04 x86_64 system.
 
 You can compare the serialized ABI with a shared object to check for breaking
 changes. For example, here we compare an in-tree built version of
 liburcu-memb.so with the serialized ABI of stable-0.13 :
 
   abidiff \
-    extras/abi/0.13/x86_64-pc-linux-gnu/liburcu-memb.so.7.xml \
+    extras/abi/0.13/x86_64-pc-linux-gnu/liburcu-memb.so.8.xml \
     src/.libs/liburcu-memb.so
This page took 0.915736 seconds and 4 git commands to generate.