SyncPerf icon indicating copy to clipboard operation
SyncPerf copied to clipboard

Building SyncPerf

Open brnorris03 opened this issue 5 years ago • 1 comments

I tried building with many versions of gcc (4,5,6,7) on Ubuntu 18.04, but get numerous pthread-related errors. Are there specific dependencies I must address first? Thanks!

gcc -g -O2 -fno-omit-frame-pointer -I. -D_GNU_SOURCE -fPIC -DWITH_TRYLOCK  -DREPORT_LINE_INFO -DGET_STATISTICS  -c cond_wait.c
In file included from cond_wait.c:14:0:
pthreadP.h: In function ‘__do_cancel’:
pthreadP.h:165:11: warning: implicit declaration of function ‘__pthread_unwind’; did you mean ‘__pthread_unwind_next’? [-Wimplicit-function-declaration]
           __pthread_unwind ((__pthread_unwind_buf_t *)
           ^~~~~~~~~~~~~~~~
           __pthread_unwind_next
cond_wait.c: In function ‘__condvar_cleanup’:
cond_wait.c:34:39: error: ‘struct __pthread_cond_s’ has no member named ‘__mutex’
   int pshared = (cbuffer->cond->__data.__mutex == (void *) ~0l)
                                       ^
In file included from cond_wait.c:10:0:
cond_wait.c:38:34: error: ‘struct __pthread_cond_s’ has no member named ‘__lock’
   lll_lock (cbuffer->cond->__data.__lock, pshared);
                                  ^
./lowlevellock.h:122:48: note: in definition of macro ‘lll_lock’
       : "=S" (ignore1), "=&D" (ignore2), "=m" (futex),   \
                                                ^~~~~
cond_wait.c:38:34: error: ‘struct __pthread_cond_s’ has no member named ‘__lock’
   lll_lock (cbuffer->cond->__data.__lock, pshared);
                                  ^
./lowlevellock.h:124:23: note: in definition of macro ‘lll_lock’
       : "0" (1), "m" (futex), "3" (0)        \
                       ^~~~~
cond_wait.c:38:34: error: ‘struct __pthread_cond_s’ has no member named ‘__lock’
   lll_lock (cbuffer->cond->__data.__lock, pshared);
                                  ^
./lowlevellock.h:135:47: note: in definition of macro ‘lll_lock’
       : "=S" (ignore1), "=D" (ignore2), "=m" (futex),    \
                                               ^~~~~
cond_wait.c:38:34: error: ‘struct __pthread_cond_s’ has no member named ‘__lock’
   lll_lock (cbuffer->cond->__data.__lock, pshared);
                                  ^
./lowlevellock.h:137:23: note: in definition of macro ‘lll_lock’
       : "1" (1), "m" (futex), "3" (0), "0" (private)     \
                       ^~~~~
cond_wait.c:40:47: error: ‘struct __pthread_cond_s’ has no member named ‘__broadcast_seq’
   if (cbuffer->bc_seq == cbuffer->cond->__data.__broadcast_seq)
                                               ^
cond_wait.c:46:33: error: ‘struct __pthread_cond_s’ has no member named ‘__wakeup_seq’; did you mean ‘__wseq’?
       if (cbuffer->cond->__data.__wakeup_seq
                                 ^~~~~~~~~~~~
                                 __wseq
cond_wait.c:47:27: error: ‘struct __pthread_cond_s’ has no member named ‘__total_seq’
    < cbuffer->cond->__data.__total_seq)
                           ^
cond_wait.c:49:28: error: ‘struct __pthread_cond_s’ has no member named ‘__wakeup_seq’; did you mean ‘__wseq’?
    ++cbuffer->cond->__data.__wakeup_seq;
                            ^~~~~~~~~~~~
                            __wseq
cond_wait.c:50:27: error: ‘struct __pthread_cond_s’ has no member named ‘__futex’
    ++cbuffer->cond->__data.__futex;
                           ^
cond_wait.c:52:31: error: ‘struct __pthread_cond_s’ has no member named ‘__woken_seq’; did you mean ‘__wseq’?
       ++cbuffer->cond->__data.__woken_seq;
                               ^~~~~~~~~~~
                               __wseq
cond_wait.c:55:25: error: ‘struct __pthread_cond_s’ has no member named ‘__nwaiters’; did you mean ‘__wrefs’?
   cbuffer->cond->__data.__nwaiters -= 1 << COND_NWAITERS_SHIFT;
                         ^~~~~~~~~~
                         __wrefs
cond_wait.c:61:28: error: ‘struct __pthread_cond_s’ has no member named ‘__total_seq’
   if (cbuffer->cond->__data.__total_seq == -1ULL
                            ^
cond_wait.c:62:32: error: ‘struct __pthread_cond_s’ has no member named ‘__nwaiters’; did you mean ‘__wrefs’?
       && cbuffer->cond->__data.__nwaiters < (1 << COND_NWAITERS_SHIFT))
                                ^~~~~~~~~~
                                __wrefs
In file included from ./lowlevellock-futex.h:23:0,
                 from ./lowlevellock.h:48,
                 from cond_wait.c:10:
cond_wait.c:64:46: error: ‘struct __pthread_cond_s’ has no member named ‘__nwaiters’; did you mean ‘__wrefs’?
       lll_futex_wake (&cbuffer->cond->__data.__nwaiters, 1, pshared);
                                              ^
./sysdep.h:282:21: note: in definition of macro ‘LOAD_ARGS_TYPES_1’
   t1 __arg1 = (t1) (a1);         \
                     ^~
./sysdep.h:307:3: note: in expansion of macro ‘LOAD_ARGS_TYPES_2’
   LOAD_ARGS_TYPES_2 (t1, a1, t2, a2)
   ^~~~~~~~~~~~~~~~~
./sysdep.h:319:3: note: in expansion of macro ‘LOAD_ARGS_TYPES_3’
   LOAD_ARGS_TYPES_3 (t1, a1, t2, a2, t3, a3)
   ^~~~~~~~~~~~~~~~~
./sysdep.h:325:3: note: in expansion of macro ‘LOAD_ARGS_TYPES_4’
   LOAD_ARGS_TYPES_4 (long int, a1, long int, a2, long int, a3,     \
   ^~~~~~~~~~~~~~~~~
./sysdep.h:240:5: note: in expansion of macro ‘LOAD_ARGS_4’
     LOAD_ARGS_##nr (args)            \
     ^~~~~~~~~~
./sysdep.h:249:3: note: in expansion of macro ‘INTERNAL_SYSCALL_NCS’
   INTERNAL_SYSCALL_NCS (__NR_##name, err, nr, ##args)
   ^~~~~~~~~~~~~~~~~~~~
./lowlevellock-futex.h:81:22: note: in expansion of macro ‘INTERNAL_SYSCALL’
     long int __ret = INTERNAL_SYSCALL (futex, __err, nargs, futexp, op, \
                      ^~~~~~~~~~~~~~~~
./lowlevellock-futex.h:103:3: note: in expansion of macro ‘lll_futex_syscall’
   lll_futex_syscall (4, futexp,                                         \
   ^~~~~~~~~~~~~~~~~
cond_wait.c:64:7: note: in expansion of macro ‘lll_futex_wake’
       lll_futex_wake (&cbuffer->cond->__data.__nwaiters, 1, pshared);
       ^~~~~~~~~~~~~~
In file included from cond_wait.c:10:0:
cond_wait.c:69:36: error: ‘struct __pthread_cond_s’ has no member named ‘__lock’
   lll_unlock (cbuffer->cond->__data.__lock, pshared);
                                    ^
./lowlevellock.h:264:15: note: in definition of macro ‘lll_unlock’
       : "=m" (futex), "=&D" (ignore)        \
               ^~~~~
cond_wait.c:69:36: error: ‘struct __pthread_cond_s’ has no member named ‘__lock’
   lll_unlock (cbuffer->cond->__data.__lock, pshared);
                                    ^
./lowlevellock.h:265:14: note: in definition of macro ‘lll_unlock’
       : "m" (futex)          \
              ^~~~~
cond_wait.c:69:36: error: ‘struct __pthread_cond_s’ has no member named ‘__lock’
   lll_unlock (cbuffer->cond->__data.__lock, pshared);
                                    ^
./lowlevellock.h:276:15: note: in definition of macro ‘lll_unlock’
       : "=m" (futex), "=&D" (ignore)        \
               ^~~~~
cond_wait.c:69:36: error: ‘struct __pthread_cond_s’ has no member named ‘__lock’
   lll_unlock (cbuffer->cond->__data.__lock, pshared);
                                    ^
./lowlevellock.h:277:14: note: in definition of macro ‘lll_unlock’
       : "m" (futex), "S" (private)         \
              ^~~~~
In file included from ./lowlevellock-futex.h:23:0,
                 from ./lowlevellock.h:48,
                 from cond_wait.c:10:
cond_wait.c:73:43: error: ‘struct __pthread_cond_s’ has no member named ‘__futex’
     lll_futex_wake (&cbuffer->cond->__data.__futex, INT_MAX, pshared);
                                           ^
./sysdep.h:282:21: note: in definition of macro ‘LOAD_ARGS_TYPES_1’
   t1 __arg1 = (t1) (a1);         \
                     ^~
./sysdep.h:307:3: note: in expansion of macro ‘LOAD_ARGS_TYPES_2’
   LOAD_ARGS_TYPES_2 (t1, a1, t2, a2)
   ^~~~~~~~~~~~~~~~~
./sysdep.h:319:3: note: in expansion of macro ‘LOAD_ARGS_TYPES_3’
   LOAD_ARGS_TYPES_3 (t1, a1, t2, a2, t3, a3)
   ^~~~~~~~~~~~~~~~~
./sysdep.h:325:3: note: in expansion of macro ‘LOAD_ARGS_TYPES_4’
   LOAD_ARGS_TYPES_4 (long int, a1, long int, a2, long int, a3,     \
   ^~~~~~~~~~~~~~~~~
./sysdep.h:240:5: note: in expansion of macro ‘LOAD_ARGS_4’
     LOAD_ARGS_##nr (args)            \
     ^~~~~~~~~~
./sysdep.h:249:3: note: in expansion of macro ‘INTERNAL_SYSCALL_NCS’
   INTERNAL_SYSCALL_NCS (__NR_##name, err, nr, ##args)
   ^~~~~~~~~~~~~~~~~~~~
./lowlevellock-futex.h:81:22: note: in expansion of macro ‘INTERNAL_SYSCALL’
     long int __ret = INTERNAL_SYSCALL (futex, __err, nargs, futexp, op, \
                      ^~~~~~~~~~~~~~~~
./lowlevellock-futex.h:103:3: note: in expansion of macro ‘lll_futex_syscall’
   lll_futex_syscall (4, futexp,                                         \
   ^~~~~~~~~~~~~~~~~
cond_wait.c:73:5: note: in expansion of macro ‘lll_futex_wake’
     lll_futex_wake (&cbuffer->cond->__data.__futex, INT_MAX, pshared);
     ^~~~~~~~~~~~~~
cond_wait.c:82:5: warning: implicit declaration of function ‘__pthread_mutex_cond_lock’; did you mean ‘pthread_mutex_unlock’? [-Wimplicit-function-declaration]
     __pthread_mutex_cond_lock (cbuffer->mutex);
     ^~~~~~~~~~~~~~~~~~~~~~~~~
     pthread_mutex_unlock
cond_wait.c:85:5: warning: implicit declaration of function ‘__pthread_mutex_cond_lock_adjust’; did you mean ‘pthread_mutex_unlock’? [-Wimplicit-function-declaration]
     __pthread_mutex_cond_lock_adjust (cbuffer->mutex);
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     pthread_mutex_unlock
cond_wait.c: In function ‘pthread_cond_wait’:
cond_wait.c:96:29: error: ‘struct __pthread_cond_s’ has no member named ‘__mutex’
  int pshared = (cond->__data.__mutex == (void *) ~0l)
                             ^
cond_wait.c:105:12: warning: implicit declaration of function ‘getThreadIndex’; did you mean ‘pthread_once’? [-Wimplicit-function-declaration]
  int tid = getThreadIndex();
            ^~~~~~~~~~~~~~
            pthread_once
In file included from cond_wait.c:10:0:
cond_wait.c:130:24: error: ‘struct __pthread_cond_s’ has no member named ‘__lock’
  lll_lock (cond->__data.__lock, pshared);
                        ^
./lowlevellock.h:122:48: note: in definition of macro ‘lll_lock’
       : "=S" (ignore1), "=&D" (ignore2), "=m" (futex),   \
                                                ^~~~~
cond_wait.c:130:24: error: ‘struct __pthread_cond_s’ has no member named ‘__lock’
  lll_lock (cond->__data.__lock, pshared);
                        ^
./lowlevellock.h:124:23: note: in definition of macro ‘lll_lock’
       : "0" (1), "m" (futex), "3" (0)        \
                       ^~~~~
cond_wait.c:130:24: error: ‘struct __pthread_cond_s’ has no member named ‘__lock’
  lll_lock (cond->__data.__lock, pshared);
                        ^
./lowlevellock.h:135:47: note: in definition of macro ‘lll_lock’
       : "=S" (ignore1), "=D" (ignore2), "=m" (futex),    \
                                               ^~~~~
cond_wait.c:130:24: error: ‘struct __pthread_cond_s’ has no member named ‘__lock’
  lll_lock (cond->__data.__lock, pshared);
                        ^
./lowlevellock.h:137:23: note: in definition of macro ‘lll_lock’
       : "1" (1), "m" (futex), "3" (0), "0" (private)     \
                       ^~~~~
cond_wait.c:133:8: warning: implicit declaration of function ‘__pthread_mutex_unlock_usercnt’; did you mean ‘pthread_mutex_unlock’? [-Wimplicit-function-declaration]
  err = __pthread_mutex_unlock_usercnt (mutex, 0);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        pthread_mutex_unlock
In file included from cond_wait.c:10:0:
cond_wait.c:136:29: error: ‘struct __pthread_cond_s’ has no member named ‘__lock’
     lll_unlock (cond->__data.__lock, pshared);
                             ^
./lowlevellock.h:264:15: note: in definition of macro ‘lll_unlock’
       : "=m" (futex), "=&D" (ignore)        \
               ^~~~~
cond_wait.c:136:29: error: ‘struct __pthread_cond_s’ has no member named ‘__lock’
     lll_unlock (cond->__data.__lock, pshared);
                             ^
./lowlevellock.h:265:14: note: in definition of macro ‘lll_unlock’
       : "m" (futex)          \
              ^~~~~
cond_wait.c:136:29: error: ‘struct __pthread_cond_s’ has no member named ‘__lock’
     lll_unlock (cond->__data.__lock, pshared);
                             ^
./lowlevellock.h:276:15: note: in definition of macro ‘lll_unlock’
       : "=m" (futex), "=&D" (ignore)        \
               ^~~~~
cond_wait.c:136:29: error: ‘struct __pthread_cond_s’ has no member named ‘__lock’
     lll_unlock (cond->__data.__lock, pshared);
                             ^
./lowlevellock.h:277:14: note: in definition of macro ‘lll_unlock’
       : "m" (futex), "S" (private)         \
              ^~~~~
cond_wait.c:141:16: error: ‘struct __pthread_cond_s’ has no member named ‘__total_seq’
  ++cond->__data.__total_seq;
                ^
cond_wait.c:142:16: error: ‘struct __pthread_cond_s’ has no member named ‘__futex’
  ++cond->__data.__futex;
                ^
cond_wait.c:143:15: error: ‘struct __pthread_cond_s’ has no member named ‘__nwaiters’; did you mean ‘__wrefs’?
  cond->__data.__nwaiters += 1 << COND_NWAITERS_SHIFT;
               ^~~~~~~~~~
               __wrefs
cond_wait.c:148:18: error: ‘struct __pthread_cond_s’ has no member named ‘__mutex’
  if (cond->__data.__mutex != (void *) ~0l)
                  ^
cond_wait.c:149:15: error: ‘struct __pthread_cond_s’ has no member named ‘__mutex’
   cond->__data.__mutex = mutex;
               ^
cond_wait.c:157:2: warning: implicit declaration of function ‘__pthread_cleanup_push’; did you mean ‘pthread_cleanup_push’? [-Wimplicit-function-declaration]
  __pthread_cleanup_push (&buffer, __condvar_cleanup, &cbuffer);
  ^~~~~~~~~~~~~~~~~~~~~~
  pthread_cleanup_push
cond_wait.c:163:27: error: ‘struct __pthread_cond_s’ has no member named ‘__wakeup_seq’; did you mean ‘__wseq’?
  val = seq = cond->__data.__wakeup_seq;
                           ^~~~~~~~~~~~
                           __wseq
cond_wait.c:165:31: error: ‘struct __pthread_cond_s’ has no member named ‘__broadcast_seq’
  cbuffer.bc_seq = cond->__data.__broadcast_seq;
                               ^
cond_wait.c:168:40: error: ‘struct __pthread_cond_s’ has no member named ‘__futex’
   unsigned int futex_val = cond->__data.__futex;
                                        ^
In file included from cond_wait.c:10:0:
cond_wait.c:170:27: error: ‘struct __pthread_cond_s’ has no member named ‘__lock’
   lll_unlock (cond->__data.__lock, pshared);
                           ^
./lowlevellock.h:264:15: note: in definition of macro ‘lll_unlock’
       : "=m" (futex), "=&D" (ignore)        \
               ^~~~~
cond_wait.c:170:27: error: ‘struct __pthread_cond_s’ has no member named ‘__lock’
   lll_unlock (cond->__data.__lock, pshared);
                           ^
./lowlevellock.h:265:14: note: in definition of macro ‘lll_unlock’
       : "m" (futex)          \
              ^~~~~
cond_wait.c:170:27: error: ‘struct __pthread_cond_s’ has no member named ‘__lock’
   lll_unlock (cond->__data.__lock, pshared);
                           ^
./lowlevellock.h:276:15: note: in definition of macro ‘lll_unlock’
       : "=m" (futex), "=&D" (ignore)        \
               ^~~~~
cond_wait.c:170:27: error: ‘struct __pthread_cond_s’ has no member named ‘__lock’
   lll_unlock (cond->__data.__lock, pshared);
                           ^
./lowlevellock.h:277:14: note: in definition of macro ‘lll_unlock’
       : "m" (futex), "S" (private)         \
              ^~~~~
cond_wait.c:203:20: warning: passing argument 1 of ‘start_timestamp’ from incompatible pointer type [-Wincompatible-pointer-types]
    start_timestamp(&wait_start);
                    ^
In file included from cond_wait.c:16:0:
mutex_manager.h:68:6: note: expected ‘struct timeinfo *’ but argument is of type ‘struct timeinfo **’
 void start_timestamp( struct timeinfo *st );
      ^~~~~~~~~~~~~~~
In file included from ./lowlevellock-futex.h:23:0,
                 from ./lowlevellock.h:48,
                 from cond_wait.c:10:
cond_wait.c:206:33: error: ‘struct __pthread_cond_s’ has no member named ‘__futex’
    lll_futex_wait (&cond->__data.__futex, futex_val, pshared);
                                 ^
./sysdep.h:282:21: note: in definition of macro ‘LOAD_ARGS_TYPES_1’
   t1 __arg1 = (t1) (a1);         \
                     ^~
./sysdep.h:307:3: note: in expansion of macro ‘LOAD_ARGS_TYPES_2’
   LOAD_ARGS_TYPES_2 (t1, a1, t2, a2)
   ^~~~~~~~~~~~~~~~~
./sysdep.h:319:3: note: in expansion of macro ‘LOAD_ARGS_TYPES_3’
   LOAD_ARGS_TYPES_3 (t1, a1, t2, a2, t3, a3)
   ^~~~~~~~~~~~~~~~~
./sysdep.h:325:3: note: in expansion of macro ‘LOAD_ARGS_TYPES_4’
   LOAD_ARGS_TYPES_4 (long int, a1, long int, a2, long int, a3,     \
   ^~~~~~~~~~~~~~~~~
./sysdep.h:240:5: note: in expansion of macro ‘LOAD_ARGS_4’
     LOAD_ARGS_##nr (args)            \
     ^~~~~~~~~~
./sysdep.h:249:3: note: in expansion of macro ‘INTERNAL_SYSCALL_NCS’
   INTERNAL_SYSCALL_NCS (__NR_##name, err, nr, ##args)
   ^~~~~~~~~~~~~~~~~~~~
./lowlevellock-futex.h:81:22: note: in expansion of macro ‘INTERNAL_SYSCALL’
     long int __ret = INTERNAL_SYSCALL (futex, __err, nargs, futexp, op, \
                      ^~~~~~~~~~~~~~~~
./lowlevellock-futex.h:91:3: note: in expansion of macro ‘lll_futex_syscall’
   lll_futex_syscall (4, futexp,                                 \
   ^~~~~~~~~~~~~~~~~
./lowlevellock-futex.h:88:3: note: in expansion of macro ‘lll_futex_timed_wait’
   lll_futex_timed_wait (futexp, val, NULL, private)
   ^~~~~~~~~~~~~~~~~~~~
cond_wait.c:206:4: note: in expansion of macro ‘lll_futex_wait’
    lll_futex_wait (&cond->__data.__futex, futex_val, pshared);
    ^~~~~~~~~~~~~~
In file included from cond_wait.c:10:0:
cond_wait.c:213:25: error: ‘struct __pthread_cond_s’ has no member named ‘__lock’
   lll_lock (cond->__data.__lock, pshared);
                         ^
./lowlevellock.h:122:48: note: in definition of macro ‘lll_lock’
       : "=S" (ignore1), "=&D" (ignore2), "=m" (futex),   \
                                                ^~~~~
cond_wait.c:213:25: error: ‘struct __pthread_cond_s’ has no member named ‘__lock’
   lll_lock (cond->__data.__lock, pshared);
                         ^
./lowlevellock.h:124:23: note: in definition of macro ‘lll_lock’
       : "0" (1), "m" (futex), "3" (0)        \
                       ^~~~~
cond_wait.c:213:25: error: ‘struct __pthread_cond_s’ has no member named ‘__lock’
   lll_lock (cond->__data.__lock, pshared);
                         ^
./lowlevellock.h:135:47: note: in definition of macro ‘lll_lock’
       : "=S" (ignore1), "=D" (ignore2), "=m" (futex),    \
                                               ^~~~~
cond_wait.c:213:25: error: ‘struct __pthread_cond_s’ has no member named ‘__lock’
   lll_lock (cond->__data.__lock, pshared);
                         ^
./lowlevellock.h:137:23: note: in definition of macro ‘lll_lock’
       : "1" (1), "m" (futex), "3" (0), "0" (private)     \
                       ^~~~~
cond_wait.c:216:37: error: ‘struct __pthread_cond_s’ has no member named ‘__broadcast_seq’
   if (cbuffer.bc_seq != cond->__data.__broadcast_seq)
                                     ^
cond_wait.c:220:22: error: ‘struct __pthread_cond_s’ has no member named ‘__wakeup_seq’; did you mean ‘__wseq’?
   val = cond->__data.__wakeup_seq;
                      ^~~~~~~~~~~~
                      __wseq
cond_wait.c:222:36: error: ‘struct __pthread_cond_s’ has no member named ‘__woken_seq’; did you mean ‘__wseq’?
  while (val == seq || cond->__data.__woken_seq == val);
                                    ^~~~~~~~~~~
                                    __wseq
cond_wait.c:225:17: error: ‘struct __pthread_cond_s’ has no member named ‘__woken_seq’; did you mean ‘__wseq’?
  ++cond->__data.__woken_seq;
                 ^~~~~~~~~~~
                 __wseq
cond_wait.c:229:15: error: ‘struct __pthread_cond_s’ has no member named ‘__nwaiters’; did you mean ‘__wrefs’?
  cond->__data.__nwaiters -= 1 << COND_NWAITERS_SHIFT;
               ^~~~~~~~~~
               __wrefs
cond_wait.c:234:18: error: ‘struct __pthread_cond_s’ has no member named ‘__total_seq’
  if (cond->__data.__total_seq == -1ULL
                  ^
cond_wait.c:235:19: error: ‘struct __pthread_cond_s’ has no member named ‘__nwaiters’; did you mean ‘__wrefs’?
   && cond->__data.__nwaiters < (1 << COND_NWAITERS_SHIFT))
                   ^~~~~~~~~~
                   __wrefs
In file included from ./lowlevellock-futex.h:23:0,
                 from ./lowlevellock.h:48,
                 from cond_wait.c:10:
cond_wait.c:236:33: error: ‘struct __pthread_cond_s’ has no member named ‘__nwaiters’; did you mean ‘__wrefs’?
   lll_futex_wake (&cond->__data.__nwaiters, 1, pshared);
                                 ^
./sysdep.h:282:21: note: in definition of macro ‘LOAD_ARGS_TYPES_1’
   t1 __arg1 = (t1) (a1);         \
                     ^~
./sysdep.h:307:3: note: in expansion of macro ‘LOAD_ARGS_TYPES_2’
   LOAD_ARGS_TYPES_2 (t1, a1, t2, a2)
   ^~~~~~~~~~~~~~~~~
./sysdep.h:319:3: note: in expansion of macro ‘LOAD_ARGS_TYPES_3’
   LOAD_ARGS_TYPES_3 (t1, a1, t2, a2, t3, a3)
   ^~~~~~~~~~~~~~~~~
./sysdep.h:325:3: note: in expansion of macro ‘LOAD_ARGS_TYPES_4’
   LOAD_ARGS_TYPES_4 (long int, a1, long int, a2, long int, a3,     \
   ^~~~~~~~~~~~~~~~~
./sysdep.h:240:5: note: in expansion of macro ‘LOAD_ARGS_4’
     LOAD_ARGS_##nr (args)            \
     ^~~~~~~~~~
./sysdep.h:249:3: note: in expansion of macro ‘INTERNAL_SYSCALL_NCS’
   INTERNAL_SYSCALL_NCS (__NR_##name, err, nr, ##args)
   ^~~~~~~~~~~~~~~~~~~~
./lowlevellock-futex.h:81:22: note: in expansion of macro ‘INTERNAL_SYSCALL’
     long int __ret = INTERNAL_SYSCALL (futex, __err, nargs, futexp, op, \
                      ^~~~~~~~~~~~~~~~
./lowlevellock-futex.h:103:3: note: in expansion of macro ‘lll_futex_syscall’
   lll_futex_syscall (4, futexp,                                         \
   ^~~~~~~~~~~~~~~~~
cond_wait.c:236:3: note: in expansion of macro ‘lll_futex_wake’
   lll_futex_wake (&cond->__data.__nwaiters, 1, pshared);
   ^~~~~~~~~~~~~~
In file included from cond_wait.c:10:0:
cond_wait.c:239:26: error: ‘struct __pthread_cond_s’ has no member named ‘__lock’
  lll_unlock (cond->__data.__lock, pshared);
                          ^
./lowlevellock.h:264:15: note: in definition of macro ‘lll_unlock’
       : "=m" (futex), "=&D" (ignore)        \
               ^~~~~
cond_wait.c:239:26: error: ‘struct __pthread_cond_s’ has no member named ‘__lock’
  lll_unlock (cond->__data.__lock, pshared);
                          ^
./lowlevellock.h:265:14: note: in definition of macro ‘lll_unlock’
       : "m" (futex)          \
              ^~~~~
cond_wait.c:239:26: error: ‘struct __pthread_cond_s’ has no member named ‘__lock’
  lll_unlock (cond->__data.__lock, pshared);
                          ^
./lowlevellock.h:276:15: note: in definition of macro ‘lll_unlock’
       : "=m" (futex), "=&D" (ignore)        \
               ^~~~~
cond_wait.c:239:26: error: ‘struct __pthread_cond_s’ has no member named ‘__lock’
  lll_unlock (cond->__data.__lock, pshared);
                          ^
./lowlevellock.h:277:14: note: in definition of macro ‘lll_unlock’
       : "m" (futex), "S" (private)         \
              ^~~~~
cond_wait.c:242:3: warning: implicit declaration of function ‘__pthread_cleanup_pop’; did you mean ‘pthread_cleanup_pop’? [-Wimplicit-function-declaration]
   __pthread_cleanup_pop (&buffer, 0);
   ^~~~~~~~~~~~~~~~~~~~~
   pthread_cleanup_pop
cond_wait.c:260:52: warning: passing argument 3 of ‘add_cond_wait_time’ from incompatible pointer type [-Wincompatible-pointer-types]
   add_cond_wait_time(mutex_data->entry_index, tid, &wait_start);
                                                    ^
In file included from cond_wait.c:16:0:
mutex_manager.h:65:6: note: expected ‘struct timeinfo *’ but argument is of type ‘struct timeinfo **’
 void add_cond_wait_time(size_t mut_index, int thd_idx, struct timeinfo *st);
      ^~~~~~~~~~~~~~~~~~
In file included from cond_wait.c:10:0:
cond_wait.c: In function ‘__condvar_cleanup’:
./lowlevellock.h:114:3: error: invalid lvalue in asm output 2
   __asm __volatile (__lll_lock_asm_start          \
   ^
cond_wait.c:38:3: note: in expansion of macro ‘lll_lock’
   lll_lock (cbuffer->cond->__data.__lock, pshared);
   ^~~~~~~~
./lowlevellock.h:114:3: error: memory input 5 is not directly addressable
   __asm __volatile (__lll_lock_asm_start          \
   ^
cond_wait.c:38:3: note: in expansion of macro ‘lll_lock’
   lll_lock (cbuffer->cond->__data.__lock, pshared);
   ^~~~~~~~
./lowlevellock.h:127:3: error: invalid lvalue in asm output 2
   __asm __volatile (__lll_lock_asm_start          \
   ^
cond_wait.c:38:3: note: in expansion of macro ‘lll_lock’
   lll_lock (cbuffer->cond->__data.__lock, pshared);
   ^~~~~~~~
./lowlevellock.h:127:3: error: memory input 5 is not directly addressable
   __asm __volatile (__lll_lock_asm_start          \
   ^
cond_wait.c:38:3: note: in expansion of macro ‘lll_lock’
   lll_lock (cbuffer->cond->__data.__lock, pshared);
   ^~~~~~~~
./lowlevellock.h:256:3: error: invalid lvalue in asm output 0
   __asm __volatile (__lll_unlock_asm_start         \
   ^
cond_wait.c:69:3: note: in expansion of macro ‘lll_unlock’
   lll_unlock (cbuffer->cond->__data.__lock, pshared);
   ^~~~~~~~~~
./lowlevellock.h:256:3: error: memory input 2 is not directly addressable
   __asm __volatile (__lll_unlock_asm_start         \
   ^
cond_wait.c:69:3: note: in expansion of macro ‘lll_unlock’
   lll_unlock (cbuffer->cond->__data.__lock, pshared);
   ^~~~~~~~~~
./lowlevellock.h:268:3: error: invalid lvalue in asm output 0
   __asm __volatile (__lll_unlock_asm_start         \
   ^
cond_wait.c:69:3: note: in expansion of macro ‘lll_unlock’
   lll_unlock (cbuffer->cond->__data.__lock, pshared);
   ^~~~~~~~~~
./lowlevellock.h:268:3: error: memory input 2 is not directly addressable
   __asm __volatile (__lll_unlock_asm_start         \
   ^
cond_wait.c:69:3: note: in expansion of macro ‘lll_unlock’
   lll_unlock (cbuffer->cond->__data.__lock, pshared);
   ^~~~~~~~~~
cond_wait.c: In function ‘pthread_cond_wait’:
./lowlevellock.h:114:3: error: invalid lvalue in asm output 2
   __asm __volatile (__lll_lock_asm_start          \
   ^
cond_wait.c:130:2: note: in expansion of macro ‘lll_lock’
  lll_lock (cond->__data.__lock, pshared);
  ^~~~~~~~
./lowlevellock.h:114:3: error: memory input 5 is not directly addressable
   __asm __volatile (__lll_lock_asm_start          \
   ^
cond_wait.c:130:2: note: in expansion of macro ‘lll_lock’
  lll_lock (cond->__data.__lock, pshared);
  ^~~~~~~~
./lowlevellock.h:127:3: error: invalid lvalue in asm output 2
   __asm __volatile (__lll_lock_asm_start          \
   ^
cond_wait.c:130:2: note: in expansion of macro ‘lll_lock’
  lll_lock (cond->__data.__lock, pshared);
  ^~~~~~~~
./lowlevellock.h:127:3: error: memory input 5 is not directly addressable
   __asm __volatile (__lll_lock_asm_start          \
   ^
cond_wait.c:130:2: note: in expansion of macro ‘lll_lock’
  lll_lock (cond->__data.__lock, pshared);
  ^~~~~~~~
./lowlevellock.h:256:3: error: invalid lvalue in asm output 0
   __asm __volatile (__lll_unlock_asm_start         \
   ^
cond_wait.c:136:5: note: in expansion of macro ‘lll_unlock’
     lll_unlock (cond->__data.__lock, pshared);
     ^~~~~~~~~~
./lowlevellock.h:256:3: error: memory input 2 is not directly addressable
   __asm __volatile (__lll_unlock_asm_start         \
   ^
cond_wait.c:136:5: note: in expansion of macro ‘lll_unlock’
     lll_unlock (cond->__data.__lock, pshared);
     ^~~~~~~~~~
./lowlevellock.h:268:3: error: invalid lvalue in asm output 0
   __asm __volatile (__lll_unlock_asm_start         \
   ^
cond_wait.c:136:5: note: in expansion of macro ‘lll_unlock’
     lll_unlock (cond->__data.__lock, pshared);
     ^~~~~~~~~~
./lowlevellock.h:268:3: error: memory input 2 is not directly addressable
   __asm __volatile (__lll_unlock_asm_start         \
   ^
cond_wait.c:136:5: note: in expansion of macro ‘lll_unlock’
     lll_unlock (cond->__data.__lock, pshared);
     ^~~~~~~~~~
./lowlevellock.h:256:3: error: invalid lvalue in asm output 0
   __asm __volatile (__lll_unlock_asm_start         \
   ^
cond_wait.c:170:3: note: in expansion of macro ‘lll_unlock’
   lll_unlock (cond->__data.__lock, pshared);
   ^~~~~~~~~~
./lowlevellock.h:256:3: error: memory input 2 is not directly addressable
   __asm __volatile (__lll_unlock_asm_start         \
   ^
cond_wait.c:170:3: note: in expansion of macro ‘lll_unlock’
   lll_unlock (cond->__data.__lock, pshared);
   ^~~~~~~~~~
./lowlevellock.h:268:3: error: invalid lvalue in asm output 0
   __asm __volatile (__lll_unlock_asm_start         \
   ^
cond_wait.c:170:3: note: in expansion of macro ‘lll_unlock’
   lll_unlock (cond->__data.__lock, pshared);
   ^~~~~~~~~~
./lowlevellock.h:268:3: error: memory input 2 is not directly addressable
   __asm __volatile (__lll_unlock_asm_start         \
   ^
cond_wait.c:170:3: note: in expansion of macro ‘lll_unlock’
   lll_unlock (cond->__data.__lock, pshared);
   ^~~~~~~~~~
./lowlevellock.h:114:3: error: invalid lvalue in asm output 2
   __asm __volatile (__lll_lock_asm_start          \
   ^
cond_wait.c:213:3: note: in expansion of macro ‘lll_lock’
   lll_lock (cond->__data.__lock, pshared);
   ^~~~~~~~
./lowlevellock.h:114:3: error: memory input 5 is not directly addressable
   __asm __volatile (__lll_lock_asm_start          \
   ^
cond_wait.c:213:3: note: in expansion of macro ‘lll_lock’
   lll_lock (cond->__data.__lock, pshared);
   ^~~~~~~~
./lowlevellock.h:127:3: error: invalid lvalue in asm output 2
   __asm __volatile (__lll_lock_asm_start          \
   ^
cond_wait.c:213:3: note: in expansion of macro ‘lll_lock’
   lll_lock (cond->__data.__lock, pshared);
   ^~~~~~~~
./lowlevellock.h:127:3: error: memory input 5 is not directly addressable
   __asm __volatile (__lll_lock_asm_start          \
   ^
cond_wait.c:213:3: note: in expansion of macro ‘lll_lock’
   lll_lock (cond->__data.__lock, pshared);
   ^~~~~~~~
./lowlevellock.h:256:3: error: invalid lvalue in asm output 0
   __asm __volatile (__lll_unlock_asm_start         \
   ^
cond_wait.c:239:2: note: in expansion of macro ‘lll_unlock’
  lll_unlock (cond->__data.__lock, pshared);
  ^~~~~~~~~~
./lowlevellock.h:256:3: error: memory input 2 is not directly addressable
   __asm __volatile (__lll_unlock_asm_start         \
   ^
cond_wait.c:239:2: note: in expansion of macro ‘lll_unlock’
  lll_unlock (cond->__data.__lock, pshared);
  ^~~~~~~~~~
./lowlevellock.h:268:3: error: invalid lvalue in asm output 0
   __asm __volatile (__lll_unlock_asm_start         \
   ^
cond_wait.c:239:2: note: in expansion of macro ‘lll_unlock’
  lll_unlock (cond->__data.__lock, pshared);
  ^~~~~~~~~~
./lowlevellock.h:268:3: error: memory input 2 is not directly addressable
   __asm __volatile (__lll_unlock_asm_start         \
   ^
cond_wait.c:239:2: note: in expansion of macro ‘lll_unlock’
  lll_unlock (cond->__data.__lock, pshared);
  ^~~~~~~~~~
Makefile:24: recipe for target 'cond_wait.o' failed
make: *** [cond_wait.o] Error 1

brnorris03 avatar Oct 30 '18 14:10 brnorris03