vmlemon / Orion

Next-generation, L4Ka::Pistachio-based operating system
7 stars 0 forks source link

Regressions in space.h #15

Open vmlemon opened 5 years ago

vmlemon commented 5 years ago

Since bringing the bulk of the work for #9 to a close, we now seem to have introduced regressions in space.h, or the infrastructure responsible for generating it:

tyson@tyson-Lenovo-ideapad-120S-14IAP:~/Orion/kernel/ubd$ make
make[1]: Entering directory '/home/tyson/Orion/kernel/ubd'
===> Building dependencies
===> Generating include/tcb_layout.h
In file included from /home/tyson/Orion/kernel/src/api/v4/space.h:37,
                 from /home/tyson/Orion/kernel/src/api/v4/tcb.h:42,
                 from /home/tyson/Orion/kernel/ubd/_1568046587_123.c:2:
/home/tyson/Orion/kernel/src/glue/v4-x86/space.h:199:37: error: macro "ASSERT" requires 2 arguments, but only 1 given
     ASSERT(cpu < CONFIG_SMP_MAX_CPUS);
                                     ^
/home/tyson/Orion/kernel/src/glue/v4-x86/space.h:247:29: error: macro "ASSERT" requires 2 arguments, but only 1 given
  ASSERT (is_copy_area (addr));
                             ^
/home/tyson/Orion/kernel/src/glue/v4-x86/space.h:292:36: error: macro "ASSERT" requires 2 arguments, but only 1 given
     ASSERT (data.thread_count !=  0);
                                    ^
/home/tyson/Orion/kernel/src/glue/v4-x86/space.h:309:37: error: macro "ASSERT" requires 2 arguments, but only 1 given
     ASSERT(cpu < CONFIG_SMP_MAX_CPUS);
                                     ^
In file included from /home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:20,
                 from /home/tyson/Orion/kernel/src/api/v4/tcb.h:707,
                 from /home/tyson/Orion/kernel/ubd/_1568046587_123.c:2:
/home/tyson/Orion/kernel/src/api/v4/syscalls.h:53:48: error: macro "SYS_IPC" requires 3 arguments, but only 2 given
 SYS_IPC (threadid_t to_tid, threadid_t from_tid);
                                                ^
/home/tyson/Orion/kernel/src/api/v4/syscalls.h:76:59: error: macro "SYS_THREAD_CONTROL" passed 7 arguments, but takes just 5
       threadid_t recv_redirector_tid, word_t utcb_location);
                                                           ^
/home/tyson/Orion/kernel/src/api/v4/syscalls.h:90:40: error: macro "SYS_EXCHANGE_REGISTERS" requires 8 arguments, but only 7 given
    word_t uhandle, threadid_t pager_tid);
                                        ^
/home/tyson/Orion/kernel/src/api/v4/syscalls.h:125:23: error: macro "SYS_SPACE_CONTROL" requires 5 arguments, but only 4 given
      fpage_t utcb_area);
                       ^
In file included from /home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:21,
                 from /home/tyson/Orion/kernel/src/api/v4/tcb.h:707,
                 from /home/tyson/Orion/kernel/ubd/_1568046587_123.c:2:
/home/tyson/Orion/kernel/src/glue/v4-x86/resource_functions.h:27:32: error: macro "ASSERT" requires 2 arguments, but only 1 given
     ASSERT (n < COPY_AREA_COUNT);
                                ^
/home/tyson/Orion/kernel/src/glue/v4-x86/resource_functions.h:42:32: error: macro "ASSERT" requires 2 arguments, but only 1 given
     ASSERT (n < COPY_AREA_COUNT);
                                ^
/home/tyson/Orion/kernel/src/glue/v4-x86/resource_functions.h:48:32: error: macro "ASSERT" requires 2 arguments, but only 1 given
  ASSERT (pdir_idx[n][i] != ~0UL);
                                ^
/home/tyson/Orion/kernel/src/glue/v4-x86/resource_functions.h:63:32: error: macro "ASSERT" requires 2 arguments, but only 1 given
     ASSERT (n < COPY_AREA_COUNT);
                                ^
/home/tyson/Orion/kernel/src/glue/v4-x86/resource_functions.h:64:32: error: macro "ASSERT" requires 2 arguments, but only 1 given
     ASSERT (p < COPY_AREA_PDIRS);
                                ^
/home/tyson/Orion/kernel/src/glue/v4-x86/resource_functions.h:113:33: error: macro "ASSERT" requires 2 arguments, but only 1 given
     ASSERT (n <= COPY_AREA_COUNT);
                                 ^
In file included from /home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:22,
                 from /home/tyson/Orion/kernel/src/api/v4/tcb.h:707,
                 from /home/tyson/Orion/kernel/ubd/_1568046587_123.c:2:
/home/tyson/Orion/kernel/src/glue/v4-x86/x64/tcb.h:52:39: error: macro "ASSERT" requires 2 arguments, but only 1 given
     ASSERT(start + count <= IPC_NUM_MR);
                                       ^
/home/tyson/Orion/kernel/src/glue/v4-x86/x64/tcb.h:53:21: error: macro "ASSERT" requires 2 arguments, but only 1 given
     ASSERT(count > 0);
                     ^
In file included from /home/tyson/Orion/kernel/src/api/v4/tcb.h:707,
                 from /home/tyson/Orion/kernel/ubd/_1568046587_123.c:2:
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:58:25: error: macro "ASSERT" requires 2 arguments, but only 1 given
  ASSERT(this->pdir_cache);
                         ^
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:94:30: error: macro "ASSERT" requires 2 arguments, but only 1 given
     ASSERT(index < IPC_NUM_MR);
                              ^
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:105:30: error: macro "ASSERT" requires 2 arguments, but only 1 given
     ASSERT(index < IPC_NUM_MR);
                              ^
In file included from /home/tyson/Orion/kernel/src/api/v4/space.h:37,
                 from /home/tyson/Orion/kernel/src/api/v4/tcb.h:42,
                 from /home/tyson/Orion/kernel/ubd/_1568046587_123.c:2:
/home/tyson/Orion/kernel/src/glue/v4-x86/space.h: In member function ‘x86_space_t::top_pdir_t* space_t::get_top_pdir(cpuid_t)’:
/home/tyson/Orion/kernel/src/glue/v4-x86/space.h:199:5: error: ‘ASSERT’ was not declared in this scope
     ASSERT(cpu < CONFIG_SMP_MAX_CPUS);
     ^~~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/space.h: In member function ‘word_t space_t::get_copy_limit(addr_t, word_t)’:
/home/tyson/Orion/kernel/src/glue/v4-x86/space.h:247:2: error: ‘ASSERT’ was not declared in this scope
  ASSERT (is_copy_area (addr));
  ^~~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/space.h: In member function ‘bool space_t::remove_tcb(tcb_t*, cpuid_t)’:
/home/tyson/Orion/kernel/src/glue/v4-x86/space.h:292:5: error: ‘ASSERT’ was not declared in this scope
     ASSERT (data.thread_count !=  0);
     ^~~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/space.h: In member function ‘pgent_t* space_t::pgent(word_t, word_t)’:
/home/tyson/Orion/kernel/src/glue/v4-x86/space.h:309:5: error: ‘ASSERT’ was not declared in this scope
     ASSERT(cpu < CONFIG_SMP_MAX_CPUS);
     ^~~~~~
In file included from /home/tyson/Orion/kernel/src/api/v4/tcb.h:51,
                 from /home/tyson/Orion/kernel/ubd/_1568046587_123.c:2:
/home/tyson/Orion/kernel/src/glue/v4-x86/utcb.h: At global scope:
/home/tyson/Orion/kernel/src/glue/v4-x86/utcb.h:49:16: error: ‘IPC_NUM_BR’ was not declared in this scope
     word_t  br[IPC_NUM_BR];  /* -196 .. -64 */
                ^~~~~~~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/utcb.h:59:5: error: ‘timeout_t’ does not name a type
     timeout_t  xfer_timeout;  /* -32  */
     ^~~~~~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/utcb.h:64:16: error: ‘IPC_NUM_MR’ was not declared in this scope
     word_t  mr[IPC_NUM_MR];  /* 0 .. 252 */
                ^~~~~~~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/utcb.h:82:5: error: ‘timeout_t’ does not name a type
     timeout_t get_xfer_timeout();
     ^~~~~~~~~
In file included from /home/tyson/Orion/kernel/src/glue/v4-x86/utcb.h:89,
                 from /home/tyson/Orion/kernel/src/api/v4/tcb.h:51,
                 from /home/tyson/Orion/kernel/ubd/_1568046587_123.c:2:
/home/tyson/Orion/kernel/src/api/v4/generic-utcb.h:96:8: error: ‘timeout_t’ does not name a type
 INLINE timeout_t utcb_t::get_xfer_timeout()
        ^~~~~~~~~
In file included from /home/tyson/Orion/kernel/ubd/_1568046587_123.c:2:
/home/tyson/Orion/kernel/src/api/v4/tcb.h: In member function ‘tcb_t* tcb_t::get_partner_tcb()’:
/home/tyson/Orion/kernel/src/api/v4/tcb.h:425:31: error: ‘class space_t’ has no member named ‘get_tcb’; did you mean ‘add_tcb’?
     return this->get_space()->get_tcb(partner);
                               ^~~~~~~
                               add_tcb
/home/tyson/Orion/kernel/src/api/v4/tcb.h: In member function ‘void tcb_t::clear_notify_bits()’:
/home/tyson/Orion/kernel/src/api/v4/tcb.h:570:14: error: ‘class utcb_t’ has no member named ‘notify_bits’
  get_utcb()->notify_bits = 0;
              ^~~~~~~~~~~
/home/tyson/Orion/kernel/src/api/v4/tcb.h: In member function ‘void tcb_t::add_notify_bits(word_t)’:
/home/tyson/Orion/kernel/src/api/v4/tcb.h:578:14: error: ‘class utcb_t’ has no member named ‘notify_bits’
  get_utcb()->notify_bits |= bits;
              ^~~~~~~~~~~
/home/tyson/Orion/kernel/src/api/v4/tcb.h: In member function ‘void tcb_t::sub_notify_bits(word_t)’:
/home/tyson/Orion/kernel/src/api/v4/tcb.h:586:14: error: ‘class utcb_t’ has no member named ‘notify_bits’
  get_utcb()->notify_bits &= ~(bits);
              ^~~~~~~~~~~
/home/tyson/Orion/kernel/src/api/v4/tcb.h: In member function ‘word_t tcb_t::get_notify_bits()’:
/home/tyson/Orion/kernel/src/api/v4/tcb.h:594:24: error: ‘class utcb_t’ has no member named ‘notify_bits’
     return get_utcb()->notify_bits;
                        ^~~~~~~~~~~
/home/tyson/Orion/kernel/src/api/v4/tcb.h: In member function ‘word_t tcb_t::get_notify_mask()’:
/home/tyson/Orion/kernel/src/api/v4/tcb.h:602:24: error: ‘class utcb_t’ has no member named ‘notify_mask’; did you mean ‘word_size_mask’?
     return get_utcb()->notify_mask;
                        ^~~~~~~~~~~
                        word_size_mask
/home/tyson/Orion/kernel/src/api/v4/tcb.h: In member function ‘void tcb_t::set_notify_mask(word_t)’:
/home/tyson/Orion/kernel/src/api/v4/tcb.h:611:17: error: ‘class utcb_t’ has no member named ‘notify_mask’; did you mean ‘word_size_mask’?
     get_utcb()->notify_mask = mask;
                 ^~~~~~~~~~~
                 word_size_mask
In file included from /home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:20,
                 from /home/tyson/Orion/kernel/src/api/v4/tcb.h:707,
                 from /home/tyson/Orion/kernel/ubd/_1568046587_123.c:2:
/home/tyson/Orion/kernel/src/api/v4/syscalls.h: At global scope:
/home/tyson/Orion/kernel/src/api/v4/syscalls.h:53:1: error: ‘SYS_IPC’ does not name a type
 SYS_IPC (threadid_t to_tid, threadid_t from_tid);
 ^~~~~~~
/home/tyson/Orion/kernel/src/api/v4/syscalls.h:73:1: error: ‘SYS_THREAD_CONTROL’ does not name a type
 SYS_THREAD_CONTROL (threadid_t dest_tid, threadid_t space_tid,
 ^~~~~~~~~~~~~~~~~~
/home/tyson/Orion/kernel/src/api/v4/syscalls.h:88:1: error: ‘SYS_EXCHANGE_REGISTERS’ does not name a type
 SYS_EXCHANGE_REGISTERS (threadid_t dest_tid, word_t control,
 ^~~~~~~~~~~~~~~~~~~~~~
/home/tyson/Orion/kernel/src/api/v4/syscalls.h:124:1: error: ‘SYS_SPACE_CONTROL’ does not name a type
 SYS_SPACE_CONTROL (threadid_t space_tid, word_t control, fpage_t kip_area,
 ^~~~~~~~~~~~~~~~~
In file included from /home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:21,
                 from /home/tyson/Orion/kernel/src/api/v4/tcb.h:707,
                 from /home/tyson/Orion/kernel/ubd/_1568046587_123.c:2:
/home/tyson/Orion/kernel/src/glue/v4-x86/resource_functions.h: In member function ‘void* thread_resources_t::copy_area_address(word_t)’:
/home/tyson/Orion/kernel/src/glue/v4-x86/resource_functions.h:27:5: error: ‘ASSERT’ was not declared in this scope
     ASSERT (n < COPY_AREA_COUNT);
     ^~~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/resource_functions.h: In member function ‘void* thread_resources_t::copy_area_real_address(word_t)’:
/home/tyson/Orion/kernel/src/glue/v4-x86/resource_functions.h:42:5: error: ‘ASSERT’ was not declared in this scope
     ASSERT (n < COPY_AREA_COUNT);
     ^~~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/resource_functions.h: In member function ‘word_t thread_resources_t::copy_area_pdir_idx(word_t, word_t)’:
/home/tyson/Orion/kernel/src/glue/v4-x86/resource_functions.h:63:5: error: ‘ASSERT’ was not declared in this scope
     ASSERT (n < COPY_AREA_COUNT);
     ^~~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/resource_functions.h: In member function ‘void thread_resources_t::enable_copy_area(tcb_t*, void**, tcb_t*, void**)’:
/home/tyson/Orion/kernel/src/glue/v4-x86/resource_functions.h:113:5: error: ‘ASSERT’ was not declared in this scope
     ASSERT (n <= COPY_AREA_COUNT);
     ^~~~~~
In file included from /home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:22,
                 from /home/tyson/Orion/kernel/src/api/v4/tcb.h:707,
                 from /home/tyson/Orion/kernel/ubd/_1568046587_123.c:2:
/home/tyson/Orion/kernel/src/glue/v4-x86/x64/tcb.h: In member function ‘void tcb_t::copy_mrs(tcb_t*, word_t, word_t)’:
/home/tyson/Orion/kernel/src/glue/v4-x86/x64/tcb.h:52:5: error: ‘ASSERT’ was not declared in this scope
     ASSERT(start + count <= IPC_NUM_MR);
     ^~~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/x64/tcb.h:64:31: error: ‘class utcb_t’ has no member named ‘mr’
  "c"(count), "S"(&get_utcb()->mr[start]),
                               ^~
/home/tyson/Orion/kernel/src/glue/v4-x86/x64/tcb.h:65:25: error: ‘class utcb_t’ has no member named ‘mr’
  "D"(&dest->get_utcb()->mr[start]));
                         ^~
/home/tyson/Orion/kernel/src/glue/v4-x86/x64/tcb.h: At global scope:
/home/tyson/Orion/kernel/src/glue/v4-x86/x64/tcb.h:364:13: error: no declaration matches ‘void tcb_t::arch_init_root_server(space_t*, word_t, word_t)’
 INLINE void tcb_t::arch_init_root_server (space_t * space, word_t ip, word_t sp)
             ^~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/x64/tcb.h:364:13: note: no functions named ‘void tcb_t::arch_init_root_server(space_t*, word_t, word_t)’
In file included from /home/tyson/Orion/kernel/ubd/_1568046587_123.c:2:
/home/tyson/Orion/kernel/src/api/v4/tcb.h:60:7: note: ‘class tcb_t’ defined here
 class tcb_t
       ^~~~~
In file included from /home/tyson/Orion/kernel/src/api/v4/tcb.h:707,
                 from /home/tyson/Orion/kernel/ubd/_1568046587_123.c:2:
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h: In member function ‘void tcb_t::set_cpu(cpuid_t)’:
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:58:2: error: ‘ASSERT’ was not declared in this scope
  ASSERT(this->pdir_cache);
  ^~~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:65:11: error: ‘class tcb_t’ has no member named ‘cpu’
     this->cpu = cpu;
           ^~~
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h: In member function ‘void tcb_t::set_utcb_location(word_t)’:
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:78:5: error: ‘myself_local’ was not declared in this scope
     myself_local.set_raw (utcb_location + ((word_t)&dummy->mr[0]));
     ^~~~~~~~~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:78:5: note: suggested alternative: ‘myself_global’
     myself_local.set_raw (utcb_location + ((word_t)&dummy->mr[0]));
     ^~~~~~~~~~~~
     myself_global
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:78:60: error: ‘class utcb_t’ has no member named ‘mr’
     myself_local.set_raw (utcb_location + ((word_t)&dummy->mr[0]));
                                                            ^~
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h: In member function ‘word_t tcb_t::get_utcb_location()’:
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:84:12: error: ‘myself_local’ was not declared in this scope
     return myself_local.get_raw() - ((word_t)&dummy->mr[0]);
            ^~~~~~~~~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:84:12: note: suggested alternative: ‘myself_global’
     return myself_local.get_raw() - ((word_t)&dummy->mr[0]);
            ^~~~~~~~~~~~
            myself_global
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:84:54: error: ‘class utcb_t’ has no member named ‘mr’
     return myself_local.get_raw() - ((word_t)&dummy->mr[0]);
                                                      ^~
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h: In member function ‘word_t tcb_t::get_mr(word_t)’:
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:94:5: error: ‘ASSERT’ was not declared in this scope
     ASSERT(index < IPC_NUM_MR);
     ^~~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:95:24: error: ‘class utcb_t’ has no member named ‘mr’
     return get_utcb()->mr[index];
                        ^~
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h: In member function ‘void tcb_t::set_mr(word_t, word_t)’:
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:105:5: error: ‘ASSERT’ was not declared in this scope
     ASSERT(index < IPC_NUM_MR);
     ^~~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:106:17: error: ‘class utcb_t’ has no member named ‘mr’
     get_utcb()->mr[index] = value;
                 ^~
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h: At global scope:
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:115:15: error: no declaration matches ‘word_t tcb_t::get_br(word_t)’
 INLINE word_t tcb_t::get_br(word_t index)
               ^~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:115:15: note: no functions named ‘word_t tcb_t::get_br(word_t)’
In file included from /home/tyson/Orion/kernel/ubd/_1568046587_123.c:2:
/home/tyson/Orion/kernel/src/api/v4/tcb.h:60:7: note: ‘class tcb_t’ defined here
 class tcb_t
       ^~~~~
In file included from /home/tyson/Orion/kernel/src/api/v4/tcb.h:707,
                 from /home/tyson/Orion/kernel/ubd/_1568046587_123.c:2:
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:126:13: error: no declaration matches ‘void tcb_t::set_br(word_t, word_t)’
 INLINE void tcb_t::set_br(word_t index, word_t value)
             ^~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:126:13: note: no functions named ‘void tcb_t::set_br(word_t, word_t)’
In file included from /home/tyson/Orion/kernel/ubd/_1568046587_123.c:2:
/home/tyson/Orion/kernel/src/api/v4/tcb.h:60:7: note: ‘class tcb_t’ defined here
 class tcb_t
       ^~~~~
In file included from /home/tyson/Orion/kernel/src/api/v4/tcb.h:707,
                 from /home/tyson/Orion/kernel/ubd/_1568046587_123.c:2:
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:209:13: error: no declaration matches ‘void tcb_t::adjust_for_copy_area(tcb_t*, void**, void**)’
 INLINE void tcb_t::adjust_for_copy_area (tcb_t * dst,
             ^~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:209:13: note: no functions named ‘void tcb_t::adjust_for_copy_area(tcb_t*, void**, void**)’
In file included from /home/tyson/Orion/kernel/ubd/_1568046587_123.c:2:
/home/tyson/Orion/kernel/src/api/v4/tcb.h:60:7: note: ‘class tcb_t’ defined here
 class tcb_t
       ^~~~~
In file included from /home/tyson/Orion/kernel/src/api/v4/tcb.h:707,
                 from /home/tyson/Orion/kernel/ubd/_1568046587_123.c:2:
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:219:13: error: no declaration matches ‘void tcb_t::release_copy_area()’
 INLINE void tcb_t::release_copy_area (void)
             ^~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:219:13: note: no functions named ‘void tcb_t::release_copy_area()’
In file included from /home/tyson/Orion/kernel/ubd/_1568046587_123.c:2:
/home/tyson/Orion/kernel/src/api/v4/tcb.h:60:7: note: ‘class tcb_t’ defined here
 class tcb_t
       ^~~~~
/home/tyson/Orion/kernel/ubd/_1568046587_123.c: In function ‘void make_offsets()’:
/home/tyson/Orion/kernel/ubd/_1568046587_123.c:51:51: error: ‘class tcb_t’ has no member named ‘sched_state’; did you mean ‘saved_state’?
    O(OFS_TCB_SCHED_STATE_SCHEDULER,offsetof(tcb_t,sched_state.scheduler));
                                                   ^~~~~~~~~~~
/home/tyson/Orion/kernel/ubd/_1568046587_123.c:12:84: note: in definition of macro ‘O’
 #define O(sym,value) __asm__ __volatile__ ("\n#define " MKSTR(sym) " %0 " : : "i" (value));
                                                                                    ^~~~~
/home/tyson/Orion/kernel/ubd/_1568046587_123.c:51:36: note: in expansion of macro ‘offsetof’
    O(OFS_TCB_SCHED_STATE_SCHEDULER,offsetof(tcb_t,sched_state.scheduler));
                                    ^~~~~~~~
/home/tyson/Orion/kernel/ubd/_1568046587_123.c:54:34: error: ‘class utcb_t’ has no member named ‘br’
    O(OFS_UTCB_BR,offsetof(utcb_t,br));
                                  ^~
/home/tyson/Orion/kernel/ubd/_1568046587_123.c:12:84: note: in definition of macro ‘O’
 #define O(sym,value) __asm__ __volatile__ ("\n#define " MKSTR(sym) " %0 " : : "i" (value));
                                                                                    ^~~~~
/home/tyson/Orion/kernel/ubd/_1568046587_123.c:54:18: note: in expansion of macro ‘offsetof’
    O(OFS_UTCB_BR,offsetof(utcb_t,br));
                  ^~~~~~~~
/home/tyson/Orion/kernel/ubd/_1568046587_123.c:64:44: error: ‘class utcb_t’ has no member named ‘xfer_timeout’
    O(OFS_UTCB_XFER_TIMEOUT,offsetof(utcb_t,xfer_timeout));
                                            ^~~~~~~~~~~~
/home/tyson/Orion/kernel/ubd/_1568046587_123.c:12:84: note: in definition of macro ‘O’
 #define O(sym,value) __asm__ __volatile__ ("\n#define " MKSTR(sym) " %0 " : : "i" (value));
                                                                                    ^~~~~
/home/tyson/Orion/kernel/ubd/_1568046587_123.c:64:28: note: in expansion of macro ‘offsetof’
    O(OFS_UTCB_XFER_TIMEOUT,offsetof(utcb_t,xfer_timeout));
                            ^~~~~~~~
/home/tyson/Orion/kernel/ubd/_1568046587_123.c:69:34: error: ‘class utcb_t’ has no member named ‘mr’
    O(OFS_UTCB_MR,offsetof(utcb_t,mr));
                                  ^~
/home/tyson/Orion/kernel/ubd/_1568046587_123.c:12:84: note: in definition of macro ‘O’
 #define O(sym,value) __asm__ __volatile__ ("\n#define " MKSTR(sym) " %0 " : : "i" (value));
                                                                                    ^~~~~
/home/tyson/Orion/kernel/ubd/_1568046587_123.c:69:18: note: in expansion of macro ‘offsetof’
    O(OFS_UTCB_MR,offsetof(utcb_t,mr));
                  ^~~~~~~~
===> src/arch/x86/x64/init32.cc
cd src/arch/x86/x64/ &&  gcc  -nostdinc -I/home/tyson/Orion/kernel/ubd/include -I/home/tyson/Orion/kernel/src -I/home/tyson/Orion/kernel/src/generic -I/usr/lib/gcc/x86_64-linux-gnu/8/include/ -Ux64 -Ux86 -Up4 -Upc99 -Uv4 -Urr -D__SUBARCH__=x64 -D__ARCH__=x86 -D__CPU__=p4 -D__PLATFORM__=pc99 -D__API__=v4 -D__SCHED__=rr -imacros /home/tyson/Orion/kernel/ubd/config/config.h -imacros /home/tyson/Orion/kernel/src/generic/macros.h -include /home/tyson/Orion/kernel/src/generic/config.h  -include /home/tyson/Orion/kernel/src/generic/types.h -DX64_32BIT_CODE   -fno-rtti -fno-builtin  -fomit-frame-pointer -fno-exceptions -Wall -Wno-non-virtual-dtor -Wno-format -O2  -m32   -mno-red-zone -fno-pie  -fno-stack-protector -lssp  -mno-mmx -mno-sse -mno-sse2 -mno-sse3    -Wconversion -x c++ -c /home/tyson/Orion/kernel/src/arch/x86/x64/init32.cc -o init32.o
In file included from /home/tyson/Orion/kernel/src/arch/x86/x64/init32.cc:40:
/home/tyson/Orion/kernel/src/arch/x86/mmu.h: In static member function ‘static void x86_mmu_t::enable_long_mode()’:
/home/tyson/Orion/kernel/src/arch/x86/mmu.h:170:28: warning: conversion from ‘u64_t’ {aka ‘long long unsigned int’} to ‘word_t’ {aka ‘unsigned int’} may change value [-Wconversion]
     word_t efer = x86_rdmsr(X86_MSR_EFER);
                   ~~~~~~~~~^~~~~~~~~~~~~~
/home/tyson/Orion/kernel/src/arch/x86/mmu.h: In static member function ‘static bool x86_mmu_t::long_mode_active()’:
/home/tyson/Orion/kernel/src/arch/x86/mmu.h:182:28: warning: conversion from ‘u64_t’ {aka ‘long long unsigned int’} to ‘word_t’ {aka ‘unsigned int’} may change value [-Wconversion]
     word_t efer = x86_rdmsr(X86_MSR_EFER);
                   ~~~~~~~~~^~~~~~~~~~~~~~
In file included from /home/tyson/Orion/kernel/src/arch/x86/segdesc.h:20,
                 from /home/tyson/Orion/kernel/src/arch/x86/x64/init32.cc:41:
/home/tyson/Orion/kernel/src/arch/x86/x64/segdesc.h: In member function ‘void x86_segdesc_t::set_seg(u64_t, x86_segdesc_t::segtype_e, int, x86_segdesc_t::mode_e, x86_segdesc_t::msr_e)’:
/home/tyson/Orion/kernel/src/arch/x86/x64/segdesc.h:80:17: warning: conversion from ‘u64_t’ {aka ‘long long unsigned int’} to ‘unsigned char:4’ may change value [-Wconversion]
      x.d.type = type;
                 ^~~~
/home/tyson/Orion/kernel/src/arch/x86/x64/segdesc.h:81:17: warning: conversion from ‘u64_t’ {aka ‘long long unsigned int’} to ‘unsigned char:1’ may change value [-Wconversion]
      x.d.l    = mode;
                 ^~~~
/home/tyson/Orion/kernel/src/arch/x86/x64/segdesc.h:82:17: warning: conversion from ‘u64_t’ {aka ‘long long unsigned int’} to ‘unsigned char:2’ may change value [-Wconversion]
      x.d.dpl  = dpl;
                 ^~~
/home/tyson/Orion/kernel/src/arch/x86/x64/segdesc.h: In member function ‘void x86_segdesc_t::set_seg(u32_t, x86_segdesc_t::segtype_e, int, x86_segdesc_t::mode_e)’:
/home/tyson/Orion/kernel/src/arch/x86/x64/segdesc.h:99:36: warning: conversion from ‘u64_t’ {aka ‘long long unsigned int’} to ‘unsigned char’ may change value [-Wconversion]
      x.d.base_high  = (base >> 24) & 0xFF;
                       ~~~~~~~~~~~~~^~~~~~
/home/tyson/Orion/kernel/src/arch/x86/x64/segdesc.h:101:17: warning: conversion from ‘u64_t’ {aka ‘long long unsigned int’} to ‘unsigned char:4’ may change value [-Wconversion]
      x.d.type = type;
                 ^~~~
/home/tyson/Orion/kernel/src/arch/x86/x64/segdesc.h:102:17: warning: conversion from ‘u64_t’ {aka ‘long long unsigned int’} to ‘unsigned char:1’ may change value [-Wconversion]
      x.d.l    = mode;
                 ^~~~
/home/tyson/Orion/kernel/src/arch/x86/x64/segdesc.h:103:16: warning: conversion from ‘u64_t’ {aka ‘long long unsigned int’} to ‘unsigned char:2’ may change value [-Wconversion]
      x.d.dpl = dpl;
                ^~~
cd src/arch/x86/x64/ && objcopy -g -O elf64-x86-64  init32.o init32.o
===> src/arch/x86/x64/cpu.cc
cd src/arch/x86/x64/ &&  gcc  -nostdinc -I/home/tyson/Orion/kernel/ubd/include -I/home/tyson/Orion/kernel/src -I/home/tyson/Orion/kernel/src/generic -I/usr/lib/gcc/x86_64-linux-gnu/8/include/ -Ux64 -Ux86 -Up4 -Upc99 -Uv4 -Urr -D__SUBARCH__=x64 -D__ARCH__=x86 -D__CPU__=p4 -D__PLATFORM__=pc99 -D__API__=v4 -D__SCHED__=rr -imacros /home/tyson/Orion/kernel/ubd/config/config.h -imacros /home/tyson/Orion/kernel/src/generic/macros.h -include /home/tyson/Orion/kernel/src/generic/config.h  -include /home/tyson/Orion/kernel/src/generic/types.h -fno-rtti -fno-builtin  -fomit-frame-pointer -fno-exceptions -Wall -Wno-non-virtual-dtor -Wno-format -O2 -m64 -mcmodel=kernel -mno-red-zone -fno-pie  -fno-stack-protector -lssp  -mno-mmx -mno-sse -mno-sse2 -mno-sse3    -Wconversion  -c /home/tyson/Orion/kernel/src/arch/x86/x64/cpu.cc
/home/tyson/Orion/kernel/src/arch/x86/x64/cpu.cc: In constructor ‘x86_x64_cpu_features_t::x86_x64_cpu_features_t()’:
/home/tyson/Orion/kernel/src/arch/x86/x64/cpu.cc:66:25: warning: conversion from ‘u32_t’ {aka ‘unsigned int’} to ‘u8_t’ {aka ‘unsigned char’} may change value [-Wconversion]
  apic_id = ((ebx >> 24) & 0xFF);
            ~~~~~~~~~~~~~^~~~~~~
make[1]: *** No rule to make target '/home/tyson/Orion/kernel/ubd/include/tcb_layout.h', needed by 'tcb_layout.h'. Stop.
make[1]: Leaving directory '/home/tyson/Orion/kernel/ubd'
make: *** [Makefile:38: all] Error 2
tyson@tyson-Lenovo-ideapad-120S-14IAP:~/Orion/kernel/ubd$ make
make[1]: Entering directory '/home/tyson/Orion/kernel/ubd'
===> Generating include/tcb_layout.h
In file included from /home/tyson/Orion/kernel/src/api/v4/space.h:37,
                 from /home/tyson/Orion/kernel/src/api/v4/tcb.h:42,
                 from /home/tyson/Orion/kernel/ubd/_1568046679_123.c:2:
/home/tyson/Orion/kernel/src/glue/v4-x86/space.h:199:37: error: macro "ASSERT" requires 2 arguments, but only 1 given
     ASSERT(cpu < CONFIG_SMP_MAX_CPUS);
                                     ^
/home/tyson/Orion/kernel/src/glue/v4-x86/space.h:247:29: error: macro "ASSERT" requires 2 arguments, but only 1 given
  ASSERT (is_copy_area (addr));
                             ^
/home/tyson/Orion/kernel/src/glue/v4-x86/space.h:292:36: error: macro "ASSERT" requires 2 arguments, but only 1 given
     ASSERT (data.thread_count !=  0);
                                    ^
/home/tyson/Orion/kernel/src/glue/v4-x86/space.h:309:37: error: macro "ASSERT" requires 2 arguments, but only 1 given
     ASSERT(cpu < CONFIG_SMP_MAX_CPUS);
                                     ^
In file included from /home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:20,
                 from /home/tyson/Orion/kernel/src/api/v4/tcb.h:707,
                 from /home/tyson/Orion/kernel/ubd/_1568046679_123.c:2:
/home/tyson/Orion/kernel/src/api/v4/syscalls.h:53:48: error: macro "SYS_IPC" requires 3 arguments, but only 2 given
 SYS_IPC (threadid_t to_tid, threadid_t from_tid);
                                                ^
/home/tyson/Orion/kernel/src/api/v4/syscalls.h:76:59: error: macro "SYS_THREAD_CONTROL" passed 7 arguments, but takes just 5
       threadid_t recv_redirector_tid, word_t utcb_location);
                                                           ^
/home/tyson/Orion/kernel/src/api/v4/syscalls.h:90:40: error: macro "SYS_EXCHANGE_REGISTERS" requires 8 arguments, but only 7 given
    word_t uhandle, threadid_t pager_tid);
                                        ^
/home/tyson/Orion/kernel/src/api/v4/syscalls.h:125:23: error: macro "SYS_SPACE_CONTROL" requires 5 arguments, but only 4 given
      fpage_t utcb_area);
                       ^
In file included from /home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:21,
                 from /home/tyson/Orion/kernel/src/api/v4/tcb.h:707,
                 from /home/tyson/Orion/kernel/ubd/_1568046679_123.c:2:
/home/tyson/Orion/kernel/src/glue/v4-x86/resource_functions.h:27:32: error: macro "ASSERT" requires 2 arguments, but only 1 given
     ASSERT (n < COPY_AREA_COUNT);
                                ^
/home/tyson/Orion/kernel/src/glue/v4-x86/resource_functions.h:42:32: error: macro "ASSERT" requires 2 arguments, but only 1 given
     ASSERT (n < COPY_AREA_COUNT);
                                ^
/home/tyson/Orion/kernel/src/glue/v4-x86/resource_functions.h:48:32: error: macro "ASSERT" requires 2 arguments, but only 1 given
  ASSERT (pdir_idx[n][i] != ~0UL);
                                ^
/home/tyson/Orion/kernel/src/glue/v4-x86/resource_functions.h:63:32: error: macro "ASSERT" requires 2 arguments, but only 1 given
     ASSERT (n < COPY_AREA_COUNT);
                                ^
/home/tyson/Orion/kernel/src/glue/v4-x86/resource_functions.h:64:32: error: macro "ASSERT" requires 2 arguments, but only 1 given
     ASSERT (p < COPY_AREA_PDIRS);
                                ^
/home/tyson/Orion/kernel/src/glue/v4-x86/resource_functions.h:113:33: error: macro "ASSERT" requires 2 arguments, but only 1 given
     ASSERT (n <= COPY_AREA_COUNT);
                                 ^
In file included from /home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:22,
                 from /home/tyson/Orion/kernel/src/api/v4/tcb.h:707,
                 from /home/tyson/Orion/kernel/ubd/_1568046679_123.c:2:
/home/tyson/Orion/kernel/src/glue/v4-x86/x64/tcb.h:52:39: error: macro "ASSERT" requires 2 arguments, but only 1 given
     ASSERT(start + count <= IPC_NUM_MR);
                                       ^
/home/tyson/Orion/kernel/src/glue/v4-x86/x64/tcb.h:53:21: error: macro "ASSERT" requires 2 arguments, but only 1 given
     ASSERT(count > 0);
                     ^
In file included from /home/tyson/Orion/kernel/src/api/v4/tcb.h:707,
                 from /home/tyson/Orion/kernel/ubd/_1568046679_123.c:2:
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:58:25: error: macro "ASSERT" requires 2 arguments, but only 1 given
  ASSERT(this->pdir_cache);
                         ^
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:94:30: error: macro "ASSERT" requires 2 arguments, but only 1 given
     ASSERT(index < IPC_NUM_MR);
                              ^
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:105:30: error: macro "ASSERT" requires 2 arguments, but only 1 given
     ASSERT(index < IPC_NUM_MR);
                              ^
In file included from /home/tyson/Orion/kernel/src/api/v4/space.h:37,
                 from /home/tyson/Orion/kernel/src/api/v4/tcb.h:42,
                 from /home/tyson/Orion/kernel/ubd/_1568046679_123.c:2:
/home/tyson/Orion/kernel/src/glue/v4-x86/space.h: In member function ‘x86_space_t::top_pdir_t* space_t::get_top_pdir(cpuid_t)’:
/home/tyson/Orion/kernel/src/glue/v4-x86/space.h:199:5: error: ‘ASSERT’ was not declared in this scope
     ASSERT(cpu < CONFIG_SMP_MAX_CPUS);
     ^~~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/space.h: In member function ‘word_t space_t::get_copy_limit(addr_t, word_t)’:
/home/tyson/Orion/kernel/src/glue/v4-x86/space.h:247:2: error: ‘ASSERT’ was not declared in this scope
  ASSERT (is_copy_area (addr));
  ^~~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/space.h: In member function ‘bool space_t::remove_tcb(tcb_t*, cpuid_t)’:
/home/tyson/Orion/kernel/src/glue/v4-x86/space.h:292:5: error: ‘ASSERT’ was not declared in this scope
     ASSERT (data.thread_count !=  0);
     ^~~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/space.h: In member function ‘pgent_t* space_t::pgent(word_t, word_t)’:
/home/tyson/Orion/kernel/src/glue/v4-x86/space.h:309:5: error: ‘ASSERT’ was not declared in this scope
     ASSERT(cpu < CONFIG_SMP_MAX_CPUS);
     ^~~~~~
In file included from /home/tyson/Orion/kernel/src/api/v4/tcb.h:51,
                 from /home/tyson/Orion/kernel/ubd/_1568046679_123.c:2:
/home/tyson/Orion/kernel/src/glue/v4-x86/utcb.h: At global scope:
/home/tyson/Orion/kernel/src/glue/v4-x86/utcb.h:49:16: error: ‘IPC_NUM_BR’ was not declared in this scope
     word_t  br[IPC_NUM_BR];  /* -196 .. -64 */
                ^~~~~~~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/utcb.h:59:5: error: ‘timeout_t’ does not name a type
     timeout_t  xfer_timeout;  /* -32  */
     ^~~~~~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/utcb.h:64:16: error: ‘IPC_NUM_MR’ was not declared in this scope
     word_t  mr[IPC_NUM_MR];  /* 0 .. 252 */
                ^~~~~~~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/utcb.h:82:5: error: ‘timeout_t’ does not name a type
     timeout_t get_xfer_timeout();
     ^~~~~~~~~
In file included from /home/tyson/Orion/kernel/src/glue/v4-x86/utcb.h:89,
                 from /home/tyson/Orion/kernel/src/api/v4/tcb.h:51,
                 from /home/tyson/Orion/kernel/ubd/_1568046679_123.c:2:
/home/tyson/Orion/kernel/src/api/v4/generic-utcb.h:96:8: error: ‘timeout_t’ does not name a type
 INLINE timeout_t utcb_t::get_xfer_timeout()
        ^~~~~~~~~
In file included from /home/tyson/Orion/kernel/ubd/_1568046679_123.c:2:
/home/tyson/Orion/kernel/src/api/v4/tcb.h: In member function ‘tcb_t* tcb_t::get_partner_tcb()’:
/home/tyson/Orion/kernel/src/api/v4/tcb.h:425:31: error: ‘class space_t’ has no member named ‘get_tcb’; did you mean ‘add_tcb’?
     return this->get_space()->get_tcb(partner);
                               ^~~~~~~
                               add_tcb
/home/tyson/Orion/kernel/src/api/v4/tcb.h: In member function ‘void tcb_t::clear_notify_bits()’:
/home/tyson/Orion/kernel/src/api/v4/tcb.h:570:14: error: ‘class utcb_t’ has no member named ‘notify_bits’
  get_utcb()->notify_bits = 0;
              ^~~~~~~~~~~
/home/tyson/Orion/kernel/src/api/v4/tcb.h: In member function ‘void tcb_t::add_notify_bits(word_t)’:
/home/tyson/Orion/kernel/src/api/v4/tcb.h:578:14: error: ‘class utcb_t’ has no member named ‘notify_bits’
  get_utcb()->notify_bits |= bits;
              ^~~~~~~~~~~
/home/tyson/Orion/kernel/src/api/v4/tcb.h: In member function ‘void tcb_t::sub_notify_bits(word_t)’:
/home/tyson/Orion/kernel/src/api/v4/tcb.h:586:14: error: ‘class utcb_t’ has no member named ‘notify_bits’
  get_utcb()->notify_bits &= ~(bits);
              ^~~~~~~~~~~
/home/tyson/Orion/kernel/src/api/v4/tcb.h: In member function ‘word_t tcb_t::get_notify_bits()’:
/home/tyson/Orion/kernel/src/api/v4/tcb.h:594:24: error: ‘class utcb_t’ has no member named ‘notify_bits’
     return get_utcb()->notify_bits;
                        ^~~~~~~~~~~
/home/tyson/Orion/kernel/src/api/v4/tcb.h: In member function ‘word_t tcb_t::get_notify_mask()’:
/home/tyson/Orion/kernel/src/api/v4/tcb.h:602:24: error: ‘class utcb_t’ has no member named ‘notify_mask’; did you mean ‘word_size_mask’?
     return get_utcb()->notify_mask;
                        ^~~~~~~~~~~
                        word_size_mask
/home/tyson/Orion/kernel/src/api/v4/tcb.h: In member function ‘void tcb_t::set_notify_mask(word_t)’:
/home/tyson/Orion/kernel/src/api/v4/tcb.h:611:17: error: ‘class utcb_t’ has no member named ‘notify_mask’; did you mean ‘word_size_mask’?
     get_utcb()->notify_mask = mask;
                 ^~~~~~~~~~~
                 word_size_mask
In file included from /home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:20,
                 from /home/tyson/Orion/kernel/src/api/v4/tcb.h:707,
                 from /home/tyson/Orion/kernel/ubd/_1568046679_123.c:2:
/home/tyson/Orion/kernel/src/api/v4/syscalls.h: At global scope:
/home/tyson/Orion/kernel/src/api/v4/syscalls.h:53:1: error: ‘SYS_IPC’ does not name a type
 SYS_IPC (threadid_t to_tid, threadid_t from_tid);
 ^~~~~~~
/home/tyson/Orion/kernel/src/api/v4/syscalls.h:73:1: error: ‘SYS_THREAD_CONTROL’ does not name a type
 SYS_THREAD_CONTROL (threadid_t dest_tid, threadid_t space_tid,
 ^~~~~~~~~~~~~~~~~~
/home/tyson/Orion/kernel/src/api/v4/syscalls.h:88:1: error: ‘SYS_EXCHANGE_REGISTERS’ does not name a type
 SYS_EXCHANGE_REGISTERS (threadid_t dest_tid, word_t control,
 ^~~~~~~~~~~~~~~~~~~~~~
/home/tyson/Orion/kernel/src/api/v4/syscalls.h:124:1: error: ‘SYS_SPACE_CONTROL’ does not name a type
 SYS_SPACE_CONTROL (threadid_t space_tid, word_t control, fpage_t kip_area,
 ^~~~~~~~~~~~~~~~~
In file included from /home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:21,
                 from /home/tyson/Orion/kernel/src/api/v4/tcb.h:707,
                 from /home/tyson/Orion/kernel/ubd/_1568046679_123.c:2:
/home/tyson/Orion/kernel/src/glue/v4-x86/resource_functions.h: In member function ‘void* thread_resources_t::copy_area_address(word_t)’:
/home/tyson/Orion/kernel/src/glue/v4-x86/resource_functions.h:27:5: error: ‘ASSERT’ was not declared in this scope
     ASSERT (n < COPY_AREA_COUNT);
     ^~~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/resource_functions.h: In member function ‘void* thread_resources_t::copy_area_real_address(word_t)’:
/home/tyson/Orion/kernel/src/glue/v4-x86/resource_functions.h:42:5: error: ‘ASSERT’ was not declared in this scope
     ASSERT (n < COPY_AREA_COUNT);
     ^~~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/resource_functions.h: In member function ‘word_t thread_resources_t::copy_area_pdir_idx(word_t, word_t)’:
/home/tyson/Orion/kernel/src/glue/v4-x86/resource_functions.h:63:5: error: ‘ASSERT’ was not declared in this scope
     ASSERT (n < COPY_AREA_COUNT);
     ^~~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/resource_functions.h: In member function ‘void thread_resources_t::enable_copy_area(tcb_t*, void**, tcb_t*, void**)’:
/home/tyson/Orion/kernel/src/glue/v4-x86/resource_functions.h:113:5: error: ‘ASSERT’ was not declared in this scope
     ASSERT (n <= COPY_AREA_COUNT);
     ^~~~~~
In file included from /home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:22,
                 from /home/tyson/Orion/kernel/src/api/v4/tcb.h:707,
                 from /home/tyson/Orion/kernel/ubd/_1568046679_123.c:2:
/home/tyson/Orion/kernel/src/glue/v4-x86/x64/tcb.h: In member function ‘void tcb_t::copy_mrs(tcb_t*, word_t, word_t)’:
/home/tyson/Orion/kernel/src/glue/v4-x86/x64/tcb.h:52:5: error: ‘ASSERT’ was not declared in this scope
     ASSERT(start + count <= IPC_NUM_MR);
     ^~~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/x64/tcb.h:64:31: error: ‘class utcb_t’ has no member named ‘mr’
  "c"(count), "S"(&get_utcb()->mr[start]),
                               ^~
/home/tyson/Orion/kernel/src/glue/v4-x86/x64/tcb.h:65:25: error: ‘class utcb_t’ has no member named ‘mr’
  "D"(&dest->get_utcb()->mr[start]));
                         ^~
/home/tyson/Orion/kernel/src/glue/v4-x86/x64/tcb.h: At global scope:
/home/tyson/Orion/kernel/src/glue/v4-x86/x64/tcb.h:364:13: error: no declaration matches ‘void tcb_t::arch_init_root_server(space_t*, word_t, word_t)’
 INLINE void tcb_t::arch_init_root_server (space_t * space, word_t ip, word_t sp)
             ^~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/x64/tcb.h:364:13: note: no functions named ‘void tcb_t::arch_init_root_server(space_t*, word_t, word_t)’
In file included from /home/tyson/Orion/kernel/ubd/_1568046679_123.c:2:
/home/tyson/Orion/kernel/src/api/v4/tcb.h:60:7: note: ‘class tcb_t’ defined here
 class tcb_t
       ^~~~~
In file included from /home/tyson/Orion/kernel/src/api/v4/tcb.h:707,
                 from /home/tyson/Orion/kernel/ubd/_1568046679_123.c:2:
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h: In member function ‘void tcb_t::set_cpu(cpuid_t)’:
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:58:2: error: ‘ASSERT’ was not declared in this scope
  ASSERT(this->pdir_cache);
  ^~~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:65:11: error: ‘class tcb_t’ has no member named ‘cpu’
     this->cpu = cpu;
           ^~~
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h: In member function ‘void tcb_t::set_utcb_location(word_t)’:
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:78:5: error: ‘myself_local’ was not declared in this scope
     myself_local.set_raw (utcb_location + ((word_t)&dummy->mr[0]));
     ^~~~~~~~~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:78:5: note: suggested alternative: ‘myself_global’
     myself_local.set_raw (utcb_location + ((word_t)&dummy->mr[0]));
     ^~~~~~~~~~~~
     myself_global
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:78:60: error: ‘class utcb_t’ has no member named ‘mr’
     myself_local.set_raw (utcb_location + ((word_t)&dummy->mr[0]));
                                                            ^~
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h: In member function ‘word_t tcb_t::get_utcb_location()’:
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:84:12: error: ‘myself_local’ was not declared in this scope
     return myself_local.get_raw() - ((word_t)&dummy->mr[0]);
            ^~~~~~~~~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:84:12: note: suggested alternative: ‘myself_global’
     return myself_local.get_raw() - ((word_t)&dummy->mr[0]);
            ^~~~~~~~~~~~
            myself_global
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:84:54: error: ‘class utcb_t’ has no member named ‘mr’
     return myself_local.get_raw() - ((word_t)&dummy->mr[0]);
                                                      ^~
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h: In member function ‘word_t tcb_t::get_mr(word_t)’:
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:94:5: error: ‘ASSERT’ was not declared in this scope
     ASSERT(index < IPC_NUM_MR);
     ^~~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:95:24: error: ‘class utcb_t’ has no member named ‘mr’
     return get_utcb()->mr[index];
                        ^~
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h: In member function ‘void tcb_t::set_mr(word_t, word_t)’:
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:105:5: error: ‘ASSERT’ was not declared in this scope
     ASSERT(index < IPC_NUM_MR);
     ^~~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:106:17: error: ‘class utcb_t’ has no member named ‘mr’
     get_utcb()->mr[index] = value;
                 ^~
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h: At global scope:
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:115:15: error: no declaration matches ‘word_t tcb_t::get_br(word_t)’
 INLINE word_t tcb_t::get_br(word_t index)
               ^~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:115:15: note: no functions named ‘word_t tcb_t::get_br(word_t)’
In file included from /home/tyson/Orion/kernel/ubd/_1568046679_123.c:2:
/home/tyson/Orion/kernel/src/api/v4/tcb.h:60:7: note: ‘class tcb_t’ defined here
 class tcb_t
       ^~~~~
In file included from /home/tyson/Orion/kernel/src/api/v4/tcb.h:707,
                 from /home/tyson/Orion/kernel/ubd/_1568046679_123.c:2:
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:126:13: error: no declaration matches ‘void tcb_t::set_br(word_t, word_t)’
 INLINE void tcb_t::set_br(word_t index, word_t value)
             ^~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:126:13: note: no functions named ‘void tcb_t::set_br(word_t, word_t)’
In file included from /home/tyson/Orion/kernel/ubd/_1568046679_123.c:2:
/home/tyson/Orion/kernel/src/api/v4/tcb.h:60:7: note: ‘class tcb_t’ defined here
 class tcb_t
       ^~~~~
In file included from /home/tyson/Orion/kernel/src/api/v4/tcb.h:707,
                 from /home/tyson/Orion/kernel/ubd/_1568046679_123.c:2:
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:209:13: error: no declaration matches ‘void tcb_t::adjust_for_copy_area(tcb_t*, void**, void**)’
 INLINE void tcb_t::adjust_for_copy_area (tcb_t * dst,
             ^~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:209:13: note: no functions named ‘void tcb_t::adjust_for_copy_area(tcb_t*, void**, void**)’
In file included from /home/tyson/Orion/kernel/ubd/_1568046679_123.c:2:
/home/tyson/Orion/kernel/src/api/v4/tcb.h:60:7: note: ‘class tcb_t’ defined here
 class tcb_t
       ^~~~~
In file included from /home/tyson/Orion/kernel/src/api/v4/tcb.h:707,
                 from /home/tyson/Orion/kernel/ubd/_1568046679_123.c:2:
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:219:13: error: no declaration matches ‘void tcb_t::release_copy_area()’
 INLINE void tcb_t::release_copy_area (void)
             ^~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:219:13: note: no functions named ‘void tcb_t::release_copy_area()’
In file included from /home/tyson/Orion/kernel/ubd/_1568046679_123.c:2:
/home/tyson/Orion/kernel/src/api/v4/tcb.h:60:7: note: ‘class tcb_t’ defined here
 class tcb_t
       ^~~~~
/home/tyson/Orion/kernel/ubd/_1568046679_123.c: In function ‘void make_offsets()’:
/home/tyson/Orion/kernel/ubd/_1568046679_123.c:51:51: error: ‘class tcb_t’ has no member named ‘sched_state’; did you mean ‘saved_state’?
    O(OFS_TCB_SCHED_STATE_SCHEDULER,offsetof(tcb_t,sched_state.scheduler));
                                                   ^~~~~~~~~~~
/home/tyson/Orion/kernel/ubd/_1568046679_123.c:12:84: note: in definition of macro ‘O’
 #define O(sym,value) __asm__ __volatile__ ("\n#define " MKSTR(sym) " %0 " : : "i" (value));
                                                                                    ^~~~~
/home/tyson/Orion/kernel/ubd/_1568046679_123.c:51:36: note: in expansion of macro ‘offsetof’
    O(OFS_TCB_SCHED_STATE_SCHEDULER,offsetof(tcb_t,sched_state.scheduler));
                                    ^~~~~~~~
/home/tyson/Orion/kernel/ubd/_1568046679_123.c:54:34: error: ‘class utcb_t’ has no member named ‘br’
    O(OFS_UTCB_BR,offsetof(utcb_t,br));
                                  ^~
/home/tyson/Orion/kernel/ubd/_1568046679_123.c:12:84: note: in definition of macro ‘O’
 #define O(sym,value) __asm__ __volatile__ ("\n#define " MKSTR(sym) " %0 " : : "i" (value));
                                                                                    ^~~~~
/home/tyson/Orion/kernel/ubd/_1568046679_123.c:54:18: note: in expansion of macro ‘offsetof’
    O(OFS_UTCB_BR,offsetof(utcb_t,br));
                  ^~~~~~~~
/home/tyson/Orion/kernel/ubd/_1568046679_123.c:64:44: error: ‘class utcb_t’ has no member named ‘xfer_timeout’
    O(OFS_UTCB_XFER_TIMEOUT,offsetof(utcb_t,xfer_timeout));
                                            ^~~~~~~~~~~~
/home/tyson/Orion/kernel/ubd/_1568046679_123.c:12:84: note: in definition of macro ‘O’
 #define O(sym,value) __asm__ __volatile__ ("\n#define " MKSTR(sym) " %0 " : : "i" (value));
                                                                                    ^~~~~
/home/tyson/Orion/kernel/ubd/_1568046679_123.c:64:28: note: in expansion of macro ‘offsetof’
    O(OFS_UTCB_XFER_TIMEOUT,offsetof(utcb_t,xfer_timeout));
                            ^~~~~~~~
/home/tyson/Orion/kernel/ubd/_1568046679_123.c:69:34: error: ‘class utcb_t’ has no member named ‘mr’
    O(OFS_UTCB_MR,offsetof(utcb_t,mr));
                                  ^~
/home/tyson/Orion/kernel/ubd/_1568046679_123.c:12:84: note: in definition of macro ‘O’
 #define O(sym,value) __asm__ __volatile__ ("\n#define " MKSTR(sym) " %0 " : : "i" (value));
                                                                                    ^~~~~
/home/tyson/Orion/kernel/ubd/_1568046679_123.c:69:18: note: in expansion of macro ‘offsetof’
    O(OFS_UTCB_MR,offsetof(utcb_t,mr));
                  ^~~~~~~~
make[1]: *** No rule to make target '/home/tyson/Orion/kernel/ubd/include/tcb_layout.h', needed by 'tcb_layout.h'. Stop.
make[1]: Leaving directory '/home/tyson/Orion/kernel/ubd'
make: *** [Makefile:38: all] Error 2
tyson@tyson-Lenovo-ideapad-120S-14IAP:~/Orion/kernel/ubd$ 

This breaks the build, on both x86-64, and PowerPC.

vmlemon commented 5 years ago

We seem to be recovering old ground, patching up stuff, that we already fixed, prior to bringing in the new code. In the meantime, commenting out ASSERT gets us further:

make[1]: Entering directory '/home/tyson/Orion/kernel/ubd'
===> Building dependencies
===> Generating include/tcb_layout.h
In file included from /home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:20,
                 from /home/tyson/Orion/kernel/src/api/v4/tcb.h:707,
                 from /home/tyson/Orion/kernel/ubd/_1568047911_123.c:2:
/home/tyson/Orion/kernel/src/api/v4/syscalls.h:53:48: error: macro "SYS_IPC" requires 3 arguments, but only 2 given
 SYS_IPC (threadid_t to_tid, threadid_t from_tid);
                                                ^
/home/tyson/Orion/kernel/src/api/v4/syscalls.h:76:59: error: macro "SYS_THREAD_CONTROL" passed 7 arguments, but takes just 5
       threadid_t recv_redirector_tid, word_t utcb_location);
                                                           ^
/home/tyson/Orion/kernel/src/api/v4/syscalls.h:90:40: error: macro "SYS_EXCHANGE_REGISTERS" requires 8 arguments, but only 7 given
    word_t uhandle, threadid_t pager_tid);
                                        ^
/home/tyson/Orion/kernel/src/api/v4/syscalls.h:125:23: error: macro "SYS_SPACE_CONTROL" requires 5 arguments, but only 4 given
      fpage_t utcb_area);
                       ^
In file included from /home/tyson/Orion/kernel/src/api/v4/tcb.h:51,
                 from /home/tyson/Orion/kernel/ubd/_1568047911_123.c:2:
/home/tyson/Orion/kernel/src/glue/v4-x86/utcb.h:49:16: error: ‘IPC_NUM_BR’ was not declared in this scope
     word_t  br[IPC_NUM_BR];  /* -196 .. -64 */
                ^~~~~~~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/utcb.h:59:5: error: ‘timeout_t’ does not name a type
     timeout_t  xfer_timeout;  /* -32  */
     ^~~~~~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/utcb.h:64:16: error: ‘IPC_NUM_MR’ was not declared in this scope
     word_t  mr[IPC_NUM_MR];  /* 0 .. 252 */
                ^~~~~~~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/utcb.h:82:5: error: ‘timeout_t’ does not name a type
     timeout_t get_xfer_timeout();
     ^~~~~~~~~
In file included from /home/tyson/Orion/kernel/src/glue/v4-x86/utcb.h:89,
                 from /home/tyson/Orion/kernel/src/api/v4/tcb.h:51,
                 from /home/tyson/Orion/kernel/ubd/_1568047911_123.c:2:
/home/tyson/Orion/kernel/src/api/v4/generic-utcb.h:96:8: error: ‘timeout_t’ does not name a type
 INLINE timeout_t utcb_t::get_xfer_timeout()
        ^~~~~~~~~
In file included from /home/tyson/Orion/kernel/ubd/_1568047911_123.c:2:
/home/tyson/Orion/kernel/src/api/v4/tcb.h: In member function ‘tcb_t* tcb_t::get_partner_tcb()’:
/home/tyson/Orion/kernel/src/api/v4/tcb.h:425:31: error: ‘class space_t’ has no member named ‘get_tcb’; did you mean ‘add_tcb’?
     return this->get_space()->get_tcb(partner);
                               ^~~~~~~
                               add_tcb
/home/tyson/Orion/kernel/src/api/v4/tcb.h: In member function ‘void tcb_t::clear_notify_bits()’:
/home/tyson/Orion/kernel/src/api/v4/tcb.h:570:14: error: ‘class utcb_t’ has no member named ‘notify_bits’
  get_utcb()->notify_bits = 0;
              ^~~~~~~~~~~
/home/tyson/Orion/kernel/src/api/v4/tcb.h: In member function ‘void tcb_t::add_notify_bits(word_t)’:
/home/tyson/Orion/kernel/src/api/v4/tcb.h:578:14: error: ‘class utcb_t’ has no member named ‘notify_bits’
  get_utcb()->notify_bits |= bits;
              ^~~~~~~~~~~
/home/tyson/Orion/kernel/src/api/v4/tcb.h: In member function ‘void tcb_t::sub_notify_bits(word_t)’:
/home/tyson/Orion/kernel/src/api/v4/tcb.h:586:14: error: ‘class utcb_t’ has no member named ‘notify_bits’
  get_utcb()->notify_bits &= ~(bits);
              ^~~~~~~~~~~
/home/tyson/Orion/kernel/src/api/v4/tcb.h: In member function ‘word_t tcb_t::get_notify_bits()’:
/home/tyson/Orion/kernel/src/api/v4/tcb.h:594:24: error: ‘class utcb_t’ has no member named ‘notify_bits’
     return get_utcb()->notify_bits;
                        ^~~~~~~~~~~
/home/tyson/Orion/kernel/src/api/v4/tcb.h: In member function ‘word_t tcb_t::get_notify_mask()’:
/home/tyson/Orion/kernel/src/api/v4/tcb.h:602:24: error: ‘class utcb_t’ has no member named ‘notify_mask’; did you mean ‘word_size_mask’?
     return get_utcb()->notify_mask;
                        ^~~~~~~~~~~
                        word_size_mask
/home/tyson/Orion/kernel/src/api/v4/tcb.h: In member function ‘void tcb_t::set_notify_mask(word_t)’:
/home/tyson/Orion/kernel/src/api/v4/tcb.h:611:17: error: ‘class utcb_t’ has no member named ‘notify_mask’; did you mean ‘word_size_mask’?
     get_utcb()->notify_mask = mask;
                 ^~~~~~~~~~~
                 word_size_mask
In file included from /home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:20,
                 from /home/tyson/Orion/kernel/src/api/v4/tcb.h:707,
                 from /home/tyson/Orion/kernel/ubd/_1568047911_123.c:2:
/home/tyson/Orion/kernel/src/api/v4/syscalls.h: At global scope:
/home/tyson/Orion/kernel/src/api/v4/syscalls.h:53:1: error: ‘SYS_IPC’ does not name a type
 SYS_IPC (threadid_t to_tid, threadid_t from_tid);
 ^~~~~~~
/home/tyson/Orion/kernel/src/api/v4/syscalls.h:73:1: error: ‘SYS_THREAD_CONTROL’ does not name a type
 SYS_THREAD_CONTROL (threadid_t dest_tid, threadid_t space_tid,
 ^~~~~~~~~~~~~~~~~~
/home/tyson/Orion/kernel/src/api/v4/syscalls.h:88:1: error: ‘SYS_EXCHANGE_REGISTERS’ does not name a type
 SYS_EXCHANGE_REGISTERS (threadid_t dest_tid, word_t control,
 ^~~~~~~~~~~~~~~~~~~~~~
/home/tyson/Orion/kernel/src/api/v4/syscalls.h:124:1: error: ‘SYS_SPACE_CONTROL’ does not name a type
 SYS_SPACE_CONTROL (threadid_t space_tid, word_t control, fpage_t kip_area,
 ^~~~~~~~~~~~~~~~~
In file included from /home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:22,
                 from /home/tyson/Orion/kernel/src/api/v4/tcb.h:707,
                 from /home/tyson/Orion/kernel/ubd/_1568047911_123.c:2:
/home/tyson/Orion/kernel/src/glue/v4-x86/x64/tcb.h: In member function ‘void tcb_t::copy_mrs(tcb_t*, word_t, word_t)’:
/home/tyson/Orion/kernel/src/glue/v4-x86/x64/tcb.h:64:31: error: ‘class utcb_t’ has no member named ‘mr’
  "c"(count), "S"(&get_utcb()->mr[start]),
                               ^~
/home/tyson/Orion/kernel/src/glue/v4-x86/x64/tcb.h:65:25: error: ‘class utcb_t’ has no member named ‘mr’
  "D"(&dest->get_utcb()->mr[start]));
                         ^~
/home/tyson/Orion/kernel/src/glue/v4-x86/x64/tcb.h: At global scope:
/home/tyson/Orion/kernel/src/glue/v4-x86/x64/tcb.h:364:13: error: no declaration matches ‘void tcb_t::arch_init_root_server(space_t*, word_t, word_t)’
 INLINE void tcb_t::arch_init_root_server (space_t * space, word_t ip, word_t sp)
             ^~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/x64/tcb.h:364:13: note: no functions named ‘void tcb_t::arch_init_root_server(space_t*, word_t, word_t)’
In file included from /home/tyson/Orion/kernel/ubd/_1568047911_123.c:2:
/home/tyson/Orion/kernel/src/api/v4/tcb.h:60:7: note: ‘class tcb_t’ defined here
 class tcb_t
       ^~~~~
In file included from /home/tyson/Orion/kernel/src/api/v4/tcb.h:707,
                 from /home/tyson/Orion/kernel/ubd/_1568047911_123.c:2:
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h: In member function ‘void tcb_t::set_cpu(cpuid_t)’:
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:65:11: error: ‘class tcb_t’ has no member named ‘cpu’
     this->cpu = cpu;
           ^~~
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h: In member function ‘void tcb_t::set_utcb_location(word_t)’:
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:78:5: error: ‘myself_local’ was not declared in this scope
     myself_local.set_raw (utcb_location + ((word_t)&dummy->mr[0]));
     ^~~~~~~~~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:78:5: note: suggested alternative: ‘myself_global’
     myself_local.set_raw (utcb_location + ((word_t)&dummy->mr[0]));
     ^~~~~~~~~~~~
     myself_global
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:78:60: error: ‘class utcb_t’ has no member named ‘mr’
     myself_local.set_raw (utcb_location + ((word_t)&dummy->mr[0]));
                                                            ^~
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h: In member function ‘word_t tcb_t::get_utcb_location()’:
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:84:12: error: ‘myself_local’ was not declared in this scope
     return myself_local.get_raw() - ((word_t)&dummy->mr[0]);
            ^~~~~~~~~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:84:12: note: suggested alternative: ‘myself_global’
     return myself_local.get_raw() - ((word_t)&dummy->mr[0]);
            ^~~~~~~~~~~~
            myself_global
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:84:54: error: ‘class utcb_t’ has no member named ‘mr’
     return myself_local.get_raw() - ((word_t)&dummy->mr[0]);
                                                      ^~
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h: In member function ‘word_t tcb_t::get_mr(word_t)’:
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:95:24: error: ‘class utcb_t’ has no member named ‘mr’
     return get_utcb()->mr[index];
                        ^~
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h: In member function ‘void tcb_t::set_mr(word_t, word_t)’:
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:106:17: error: ‘class utcb_t’ has no member named ‘mr’
     get_utcb()->mr[index] = value;
                 ^~
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h: At global scope:
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:115:15: error: no declaration matches ‘word_t tcb_t::get_br(word_t)’
 INLINE word_t tcb_t::get_br(word_t index)
               ^~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:115:15: note: no functions named ‘word_t tcb_t::get_br(word_t)’
In file included from /home/tyson/Orion/kernel/ubd/_1568047911_123.c:2:
/home/tyson/Orion/kernel/src/api/v4/tcb.h:60:7: note: ‘class tcb_t’ defined here
 class tcb_t
       ^~~~~
In file included from /home/tyson/Orion/kernel/src/api/v4/tcb.h:707,
                 from /home/tyson/Orion/kernel/ubd/_1568047911_123.c:2:
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:126:13: error: no declaration matches ‘void tcb_t::set_br(word_t, word_t)’
 INLINE void tcb_t::set_br(word_t index, word_t value)
             ^~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:126:13: note: no functions named ‘void tcb_t::set_br(word_t, word_t)’
In file included from /home/tyson/Orion/kernel/ubd/_1568047911_123.c:2:
/home/tyson/Orion/kernel/src/api/v4/tcb.h:60:7: note: ‘class tcb_t’ defined here
 class tcb_t
       ^~~~~
In file included from /home/tyson/Orion/kernel/src/api/v4/tcb.h:707,
                 from /home/tyson/Orion/kernel/ubd/_1568047911_123.c:2:
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:209:13: error: no declaration matches ‘void tcb_t::adjust_for_copy_area(tcb_t*, void**, void**)’
 INLINE void tcb_t::adjust_for_copy_area (tcb_t * dst,
             ^~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:209:13: note: no functions named ‘void tcb_t::adjust_for_copy_area(tcb_t*, void**, void**)’
In file included from /home/tyson/Orion/kernel/ubd/_1568047911_123.c:2:
/home/tyson/Orion/kernel/src/api/v4/tcb.h:60:7: note: ‘class tcb_t’ defined here
 class tcb_t
       ^~~~~
In file included from /home/tyson/Orion/kernel/src/api/v4/tcb.h:707,
                 from /home/tyson/Orion/kernel/ubd/_1568047911_123.c:2:
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:219:13: error: no declaration matches ‘void tcb_t::release_copy_area()’
 INLINE void tcb_t::release_copy_area (void)
             ^~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:219:13: note: no functions named ‘void tcb_t::release_copy_area()’
In file included from /home/tyson/Orion/kernel/ubd/_1568047911_123.c:2:
/home/tyson/Orion/kernel/src/api/v4/tcb.h:60:7: note: ‘class tcb_t’ defined here
 class tcb_t
       ^~~~~
/home/tyson/Orion/kernel/ubd/_1568047911_123.c: In function ‘void make_offsets()’:
/home/tyson/Orion/kernel/ubd/_1568047911_123.c:51:51: error: ‘class tcb_t’ has no member named ‘sched_state’; did you mean ‘saved_state’?
    O(OFS_TCB_SCHED_STATE_SCHEDULER,offsetof(tcb_t,sched_state.scheduler));
                                                   ^~~~~~~~~~~
/home/tyson/Orion/kernel/ubd/_1568047911_123.c:12:84: note: in definition of macro ‘O’
 #define O(sym,value) __asm__ __volatile__ ("\n#define " MKSTR(sym) " %0 " : : "i" (value));
                                                                                    ^~~~~
/home/tyson/Orion/kernel/ubd/_1568047911_123.c:51:36: note: in expansion of macro ‘offsetof’
    O(OFS_TCB_SCHED_STATE_SCHEDULER,offsetof(tcb_t,sched_state.scheduler));
                                    ^~~~~~~~
/home/tyson/Orion/kernel/ubd/_1568047911_123.c:54:34: error: ‘class utcb_t’ has no member named ‘br’
    O(OFS_UTCB_BR,offsetof(utcb_t,br));
                                  ^~
/home/tyson/Orion/kernel/ubd/_1568047911_123.c:12:84: note: in definition of macro ‘O’
 #define O(sym,value) __asm__ __volatile__ ("\n#define " MKSTR(sym) " %0 " : : "i" (value));
                                                                                    ^~~~~
/home/tyson/Orion/kernel/ubd/_1568047911_123.c:54:18: note: in expansion of macro ‘offsetof’
    O(OFS_UTCB_BR,offsetof(utcb_t,br));
                  ^~~~~~~~
/home/tyson/Orion/kernel/ubd/_1568047911_123.c:64:44: error: ‘class utcb_t’ has no member named ‘xfer_timeout’
    O(OFS_UTCB_XFER_TIMEOUT,offsetof(utcb_t,xfer_timeout));
                                            ^~~~~~~~~~~~
/home/tyson/Orion/kernel/ubd/_1568047911_123.c:12:84: note: in definition of macro ‘O’
 #define O(sym,value) __asm__ __volatile__ ("\n#define " MKSTR(sym) " %0 " : : "i" (value));
                                                                                    ^~~~~
/home/tyson/Orion/kernel/ubd/_1568047911_123.c:64:28: note: in expansion of macro ‘offsetof’
    O(OFS_UTCB_XFER_TIMEOUT,offsetof(utcb_t,xfer_timeout));
                            ^~~~~~~~
/home/tyson/Orion/kernel/ubd/_1568047911_123.c:69:34: error: ‘class utcb_t’ has no member named ‘mr’
    O(OFS_UTCB_MR,offsetof(utcb_t,mr));
                                  ^~
/home/tyson/Orion/kernel/ubd/_1568047911_123.c:12:84: note: in definition of macro ‘O’
 #define O(sym,value) __asm__ __volatile__ ("\n#define " MKSTR(sym) " %0 " : : "i" (value));
                                                                                    ^~~~~
/home/tyson/Orion/kernel/ubd/_1568047911_123.c:69:18: note: in expansion of macro ‘offsetof’
    O(OFS_UTCB_MR,offsetof(utcb_t,mr));
                  ^~~~~~~~
===> src/arch/x86/x64/init32.cc
cd src/arch/x86/x64/ &&  gcc  -nostdinc -I/home/tyson/Orion/kernel/ubd/include -I/home/tyson/Orion/kernel/src -I/home/tyson/Orion/kernel/src/generic -I/usr/lib/gcc/x86_64-linux-gnu/8/include/ -Ux64 -Ux86 -Up4 -Upc99 -Uv4 -Urr -D__SUBARCH__=x64 -D__ARCH__=x86 -D__CPU__=p4 -D__PLATFORM__=pc99 -D__API__=v4 -D__SCHED__=rr -imacros /home/tyson/Orion/kernel/ubd/config/config.h -imacros /home/tyson/Orion/kernel/src/generic/macros.h -include /home/tyson/Orion/kernel/src/generic/config.h  -include /home/tyson/Orion/kernel/src/generic/types.h -DX64_32BIT_CODE   -fno-rtti -fno-builtin  -fomit-frame-pointer -fno-exceptions -Wall -Wno-non-virtual-dtor -Wno-format -O2  -m32   -mno-red-zone -fno-pie  -fno-stack-protector -lssp  -mno-mmx -mno-sse -mno-sse2 -mno-sse3    -Wconversion -x c++ -c /home/tyson/Orion/kernel/src/arch/x86/x64/init32.cc -o init32.o
In file included from /home/tyson/Orion/kernel/src/arch/x86/x64/init32.cc:40:
/home/tyson/Orion/kernel/src/arch/x86/mmu.h: In static member function ‘static void x86_mmu_t::enable_long_mode()’:
/home/tyson/Orion/kernel/src/arch/x86/mmu.h:170:28: warning: conversion from ‘u64_t’ {aka ‘long long unsigned int’} to ‘word_t’ {aka ‘unsigned int’} may change value [-Wconversion]
     word_t efer = x86_rdmsr(X86_MSR_EFER);
                   ~~~~~~~~~^~~~~~~~~~~~~~
/home/tyson/Orion/kernel/src/arch/x86/mmu.h: In static member function ‘static bool x86_mmu_t::long_mode_active()’:
/home/tyson/Orion/kernel/src/arch/x86/mmu.h:182:28: warning: conversion from ‘u64_t’ {aka ‘long long unsigned int’} to ‘word_t’ {aka ‘unsigned int’} may change value [-Wconversion]
     word_t efer = x86_rdmsr(X86_MSR_EFER);
                   ~~~~~~~~~^~~~~~~~~~~~~~
In file included from /home/tyson/Orion/kernel/src/arch/x86/segdesc.h:20,
                 from /home/tyson/Orion/kernel/src/arch/x86/x64/init32.cc:41:
/home/tyson/Orion/kernel/src/arch/x86/x64/segdesc.h: In member function ‘void x86_segdesc_t::set_seg(u64_t, x86_segdesc_t::segtype_e, int, x86_segdesc_t::mode_e, x86_segdesc_t::msr_e)’:
/home/tyson/Orion/kernel/src/arch/x86/x64/segdesc.h:80:17: warning: conversion from ‘u64_t’ {aka ‘long long unsigned int’} to ‘unsigned char:4’ may change value [-Wconversion]
      x.d.type = type;
                 ^~~~
/home/tyson/Orion/kernel/src/arch/x86/x64/segdesc.h:81:17: warning: conversion from ‘u64_t’ {aka ‘long long unsigned int’} to ‘unsigned char:1’ may change value [-Wconversion]
      x.d.l    = mode;
                 ^~~~
/home/tyson/Orion/kernel/src/arch/x86/x64/segdesc.h:82:17: warning: conversion from ‘u64_t’ {aka ‘long long unsigned int’} to ‘unsigned char:2’ may change value [-Wconversion]
      x.d.dpl  = dpl;
                 ^~~
/home/tyson/Orion/kernel/src/arch/x86/x64/segdesc.h: In member function ‘void x86_segdesc_t::set_seg(u32_t, x86_segdesc_t::segtype_e, int, x86_segdesc_t::mode_e)’:
/home/tyson/Orion/kernel/src/arch/x86/x64/segdesc.h:99:36: warning: conversion from ‘u64_t’ {aka ‘long long unsigned int’} to ‘unsigned char’ may change value [-Wconversion]
      x.d.base_high  = (base >> 24) & 0xFF;
                       ~~~~~~~~~~~~~^~~~~~
/home/tyson/Orion/kernel/src/arch/x86/x64/segdesc.h:101:17: warning: conversion from ‘u64_t’ {aka ‘long long unsigned int’} to ‘unsigned char:4’ may change value [-Wconversion]
      x.d.type = type;
                 ^~~~
/home/tyson/Orion/kernel/src/arch/x86/x64/segdesc.h:102:17: warning: conversion from ‘u64_t’ {aka ‘long long unsigned int’} to ‘unsigned char:1’ may change value [-Wconversion]
      x.d.l    = mode;
                 ^~~~
/home/tyson/Orion/kernel/src/arch/x86/x64/segdesc.h:103:16: warning: conversion from ‘u64_t’ {aka ‘long long unsigned int’} to ‘unsigned char:2’ may change value [-Wconversion]
      x.d.dpl = dpl;
                ^~~
cd src/arch/x86/x64/ && objcopy -g -O elf64-x86-64  init32.o init32.o
===> src/arch/x86/x64/cpu.cc
cd src/arch/x86/x64/ &&  gcc  -nostdinc -I/home/tyson/Orion/kernel/ubd/include -I/home/tyson/Orion/kernel/src -I/home/tyson/Orion/kernel/src/generic -I/usr/lib/gcc/x86_64-linux-gnu/8/include/ -Ux64 -Ux86 -Up4 -Upc99 -Uv4 -Urr -D__SUBARCH__=x64 -D__ARCH__=x86 -D__CPU__=p4 -D__PLATFORM__=pc99 -D__API__=v4 -D__SCHED__=rr -imacros /home/tyson/Orion/kernel/ubd/config/config.h -imacros /home/tyson/Orion/kernel/src/generic/macros.h -include /home/tyson/Orion/kernel/src/generic/config.h  -include /home/tyson/Orion/kernel/src/generic/types.h -fno-rtti -fno-builtin  -fomit-frame-pointer -fno-exceptions -Wall -Wno-non-virtual-dtor -Wno-format -O2 -m64 -mcmodel=kernel -mno-red-zone -fno-pie  -fno-stack-protector -lssp  -mno-mmx -mno-sse -mno-sse2 -mno-sse3    -Wconversion  -c /home/tyson/Orion/kernel/src/arch/x86/x64/cpu.cc
/home/tyson/Orion/kernel/src/arch/x86/x64/cpu.cc: In constructor ‘x86_x64_cpu_features_t::x86_x64_cpu_features_t()’:
/home/tyson/Orion/kernel/src/arch/x86/x64/cpu.cc:66:25: warning: conversion from ‘u32_t’ {aka ‘unsigned int’} to ‘u8_t’ {aka ‘unsigned char’} may change value [-Wconversion]
  apic_id = ((ebx >> 24) & 0xFF);
            ~~~~~~~~~~~~~^~~~~~~
make[1]: *** No rule to make target '/home/tyson/Orion/kernel/ubd/include/tcb_layout.h', needed by 'tcb_layout.h'. Stop.
make[1]: Leaving directory '/home/tyson/Orion/kernel/ubd'
make: *** [Makefile:38: all] Error 2
tyson@tyson-Lenovo-ideapad-120S-14IAP:~/Orion/kernel/ubd$ 
vmlemon commented 5 years ago

We get further, on x86 (built on the wrong machine, by accident), but on PPC:

[root@fedora28 user]# autoreconf
aclocal: warning: autoconf input should be named 'configure.ac', not 'configure.in'
[root@fedora28 user]# ./configure
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for a BSD-compatible install... /usr/bin/install -c
checking whether make sets $(MAKE)... yes
checking whether ln -s works... yes
checking for gawk... gawk
checking location of libgcc.a... /usr/lib/gcc/ppc64-redhat-linux/8
checking location of stdarg.h... /usr/lib/gcc/ppc64-redhat-linux/8/include
checking kernel build directory... $(top_builddir)
configure: creating ./config.status
config.status: creating config.mk
config.status: creating Makefile
config.status: creating lib/Makefile
config.status: creating lib/l4/Makefile
config.status: creating lib/io/Makefile
config.status: creating serv/Makefile
config.status: creating serv/sigma0/Makefile
config.status: creating apps/Makefile
config.status: creating apps/bench/Makefile
config.status: creating apps/bench/pingpong/Makefile
config.status: creating apps/grabmem/Makefile
config.status: creating apps/l4test/Makefile
config.status: creating util/Makefile
config.status: creating util/kickstart/Makefile
config.status: creating util/grubdisk/Makefile
config.status: creating util/piggybacker/Makefile
config.status: creating util/piggybacker/ofppc/Makefile
config.status: creating util/piggybacker/ofppc64/Makefile
config.status: creating contrib/Makefile
config.status: creating contrib/elf-loader/Makefile
config.status: creating config.h
config.status: config.h is unchanged
[root@fedora28 user]# make
make[1]: Entering directory '/root/Orion/user/lib'
make[2]: Entering directory '/root/Orion/user/lib/l4'
===> Making dependencies in .
===> debug.cc
gcc -x c++ -I../../include -I../.. -I/usr/lib/gcc/ppc64-redhat-linux/8/include   -nostdinc -g -O2 -msoft-float -mminimal-toc   -fno-stack-protector -lssp -O2 -g -Wall -Wshadow   -fno-stack-protector  -Wconversion -fno-exceptions -c debug.cc -o debug.o
In file included from ../../include/l4/powerpc64/syscalls.h:36,
                 from ../../include/l4/kip.h:36,
                 from debug.cc:31:
../../include/l4/message.h: In function ‘void L4_MsgAppendCtrlXferItem(L4_Msg_t*, L4_CtrlXferItem_t*)’:
../../include/l4/message.h:727:15: error: ‘__L4_Lsb’ was not declared in this scope
     for (reg+=__L4_Lsb(mask); mask!=0; mask>>=__L4_Lsb(mask)+1,reg+=__L4_Lsb(mask)+1,num++)
               ^~~~~~~~
../../include/l4/message.h:727:15: note: suggested alternative: ‘__L4_Msb’
     for (reg+=__L4_Lsb(mask); mask!=0; mask>>=__L4_Lsb(mask)+1,reg+=__L4_Lsb(mask)+1,num++)
               ^~~~~~~~
               __L4_Msb
../../include/l4/message.h: In function ‘void L4_AppendFaultConfCtrlXferItems(L4_Msg_t*, L4_Word64_t, L4_Word_t, L4_Word_t)’:
../../include/l4/message.h:746:20: error: ‘__L4_Lsb’ was not declared in this scope
     for (fault_id+=__L4_Lsb(fault_id_mask_low); fault_id_mask_low != 0;
                    ^~~~~~~~
../../include/l4/message.h:746:20: note: suggested alternative: ‘__L4_Msb’
     for (fault_id+=__L4_Lsb(fault_id_mask_low); fault_id_mask_low != 0;
                    ^~~~~~~~
                    __L4_Msb
../../include/l4/message.h:755:20: error: ‘__L4_Lsb’ was not declared in this scope
     for (fault_id+=__L4_Lsb(fault_id_mask_high); fault_id_mask_high != 0;
                    ^~~~~~~~
../../include/l4/message.h:755:20: note: suggested alternative: ‘__L4_Msb’
     for (fault_id+=__L4_Lsb(fault_id_mask_high); fault_id_mask_high != 0;
                    ^~~~~~~~
                    __L4_Msb
../../include/l4/message.h: In function ‘void L4_MsgPutCtrlXferItem(L4_Msg_t*, L4_Word_t, L4_CtrlXferItem_t*)’:
../../include/l4/message.h:808:15: error: ‘__L4_Lsb’ was not declared in this scope
     for (reg+=__L4_Lsb(mask); mask!=0; mask>>=__L4_Lsb(mask)+1,reg+=__L4_Lsb(mask)+1,num++)
               ^~~~~~~~
../../include/l4/message.h:808:15: note: suggested alternative: ‘__L4_Msb’
     for (reg+=__L4_Lsb(mask); mask!=0; mask>>=__L4_Lsb(mask)+1,reg+=__L4_Lsb(mask)+1,num++)
               ^~~~~~~~
               __L4_Msb
../../include/l4/message.h: In function ‘L4_Word_t L4_MsgGetCtrlXferItem(L4_Msg_t*, L4_Word_t, L4_CtrlXferItem_t*)’:
../../include/l4/message.h:862:15: error: ‘__L4_Lsb’ was not declared in this scope
     for (reg+=__L4_Lsb(mask); mask!=0; mask>>=__L4_Lsb(mask)+1,reg+=__L4_Lsb(mask)+1,num++)
               ^~~~~~~~
../../include/l4/message.h:862:15: note: suggested alternative: ‘__L4_Msb’
     for (reg+=__L4_Lsb(mask); mask!=0; mask>>=__L4_Lsb(mask)+1,reg+=__L4_Lsb(mask)+1,num++)
               ^~~~~~~~
               __L4_Msb
In file included from ../../include/l4/kip.h:36,
                 from debug.cc:31:
../../include/l4/powerpc64/syscalls.h: In function ‘L4_Clock_t L4_SystemClock()’:
../../include/l4/powerpc64/syscalls.h:178:17: error: address of explicit register variable ‘r3’ requested
     return ( r3 );
                 ^
../../include/l4/powerpc64/syscalls.h:178:17: error: address of explicit register variable ‘r3’ requested
make[2]: *** [../../Mk/l4.build.mk:58: debug.o] Error 1
make[2]: Leaving directory '/root/Orion/user/lib/l4'
make[1]: *** [../Mk/l4.subdir.mk:41: subdirs-all] Error 2
make[1]: Leaving directory '/root/Orion/user/lib'
make: *** [Mk/l4.subdir.mk:41: subdirs-all] Error 2
[root@fedora28 user]# 
vmlemon commented 5 years ago

Seems weird, but the -Wconversion flag also hides some of the actual errors:

make[1]: Entering directory '/root/Orion/kernel/rpb8'
===> Building dependencies
===> src/generic/lib.cc
cd src/generic/ &&  gcc  -nostdinc -I/root/Orion/kernel/rpb8/include -I/root/Orion/kernel/src -I/root/Orion/kernel/src/generic -I/usr/lib/gcc/ppc64-redhat-linux/8/include/ -Upowerpc64 -Upower4 -Uofpower4 -Uv4 -Urr -D__ARCH__=powerpc64 -D__CPU__=power4 -D__PLATFORM__=ofpower4 -D__API__=v4 -D__SCHED__=rr -imacros /root/Orion/kernel/rpb8/config/config.h -imacros /root/Orion/kernel/src/generic/macros.h -include /root/Orion/kernel/src/generic/config.h  -include /root/Orion/kernel/src/generic/types.h -fno-rtti -fno-builtin  -fomit-frame-pointer -fno-exceptions -Wall -Wno-non-virtual-dtor -Wno-format -O2 -mpowerpc64 -msoft-float -mno-minimal-toc  -mcpu=power4   -Wconversion -g  -c /root/Orion/kernel/src/generic/lib.cc
/root/Orion/kernel/src/generic/lib.cc: In function ‘void* memset(void*, unsigned int, unsigned int)’:
/root/Orion/kernel/src/generic/lib.cc:56:9: warning: conversion from ‘unsigned int’ to ‘u8_t’ {aka ‘unsigned char’} may change value [-Wconversion]
  *s++ = c;
         ^
===> src/generic/kmemory.cc
cd src/generic/ &&  gcc  -nostdinc -I/root/Orion/kernel/rpb8/include -I/root/Orion/kernel/src -I/root/Orion/kernel/src/generic -I/usr/lib/gcc/ppc64-redhat-linux/8/include/ -Upowerpc64 -Upower4 -Uofpower4 -Uv4 -Urr -D__ARCH__=powerpc64 -D__CPU__=power4 -D__PLATFORM__=ofpower4 -D__API__=v4 -D__SCHED__=rr -imacros /root/Orion/kernel/rpb8/config/config.h -imacros /root/Orion/kernel/src/generic/macros.h -include /root/Orion/kernel/src/generic/config.h  -include /root/Orion/kernel/src/generic/types.h -fno-rtti -fno-builtin  -fomit-frame-pointer -fno-exceptions -Wall -Wno-non-virtual-dtor -Wno-format -O2 -mpowerpc64 -msoft-float -mno-minimal-toc  -mcpu=power4   -Wconversion -g  -c /root/Orion/kernel/src/generic/kmemory.cc
===> src/generic/traceids.cc
cd src/generic/ &&  gcc  -nostdinc -I/root/Orion/kernel/rpb8/include -I/root/Orion/kernel/src -I/root/Orion/kernel/src/generic -I/usr/lib/gcc/ppc64-redhat-linux/8/include/ -Upowerpc64 -Upower4 -Uofpower4 -Uv4 -Urr -D__ARCH__=powerpc64 -D__CPU__=power4 -D__PLATFORM__=ofpower4 -D__API__=v4 -D__SCHED__=rr -imacros /root/Orion/kernel/rpb8/config/config.h -imacros /root/Orion/kernel/src/generic/macros.h -include /root/Orion/kernel/src/generic/config.h  -include /root/Orion/kernel/src/generic/types.h -fno-rtti -fno-builtin  -fomit-frame-pointer -fno-exceptions -Wall -Wno-non-virtual-dtor -Wno-format -O2 -mpowerpc64 -msoft-float -mno-minimal-toc  -mcpu=power4   -Wconversion -g  -c /root/Orion/kernel/src/generic/traceids.cc
/root/Orion/kernel/src/generic/traceids.cc:138:1: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
 };
 ^
/root/Orion/kernel/src/generic/traceids.cc:138:1: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
/root/Orion/kernel/src/generic/traceids.cc:138:1: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
/root/Orion/kernel/src/generic/traceids.cc:138:1: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
/root/Orion/kernel/src/generic/traceids.cc:138:1: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
/root/Orion/kernel/src/generic/traceids.cc:138:1: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
/root/Orion/kernel/src/generic/traceids.cc:138:1: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
/root/Orion/kernel/src/generic/traceids.cc:138:1: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
/root/Orion/kernel/src/generic/traceids.cc:138:1: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
/root/Orion/kernel/src/generic/traceids.cc:138:1: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
/root/Orion/kernel/src/generic/traceids.cc:138:1: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
/root/Orion/kernel/src/generic/traceids.cc:138:1: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
/root/Orion/kernel/src/generic/traceids.cc:138:1: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
/root/Orion/kernel/src/generic/traceids.cc:138:1: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
/root/Orion/kernel/src/generic/traceids.cc:138:1: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
/root/Orion/kernel/src/generic/traceids.cc:138:1: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
/root/Orion/kernel/src/generic/traceids.cc:138:1: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
/root/Orion/kernel/src/generic/traceids.cc:138:1: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
/root/Orion/kernel/src/generic/traceids.cc:138:1: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
/root/Orion/kernel/src/generic/traceids.cc:138:1: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
/root/Orion/kernel/src/generic/traceids.cc:138:1: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
/root/Orion/kernel/src/generic/traceids.cc:138:1: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
/root/Orion/kernel/src/generic/traceids.cc:138:1: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
/root/Orion/kernel/src/generic/traceids.cc:138:1: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
/root/Orion/kernel/src/generic/traceids.cc:138:1: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
/root/Orion/kernel/src/generic/traceids.cc:138:1: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
/root/Orion/kernel/src/generic/traceids.cc:138:1: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
/root/Orion/kernel/src/generic/traceids.cc:138:1: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
/root/Orion/kernel/src/generic/traceids.cc:138:1: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
/root/Orion/kernel/src/generic/traceids.cc:138:1: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
/root/Orion/kernel/src/generic/traceids.cc:138:1: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
/root/Orion/kernel/src/generic/traceids.cc:138:1: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
make[1]: *** No rule to make target 'glue/v4-powerpc64/space.h', needed by 'src/generic/tracebuffer.o'.  Stop.
make[1]: Leaving directory '/root/Orion/kernel/rpb8'
make: *** [Makefile:38: all] Error 2
[root@fedora28 rpb8]# 
vmlemon commented 5 years ago

It turns out that we had space.h, under a different file name, trashed it during the merge, and when I tried to restore it, it was broken, and created problems:

[root@fedora28 rpb8]# make tcb_layout.h
make[1]: Entering directory '/root/Orion/kernel/rpb8'
===> Generating include/tcb_layout.h
In file included from /root/Orion/kernel/src/api/v4/space.h:37,
                 from /root/Orion/kernel/src/api/v4/tcb.h:42,
                 from /root/Orion/kernel/rpb8/_1568058771_123.c:2:
/root/Orion/kernel/src/glue/v4-powerpc64/space.h:183:31: error: macro "ASSERT" requires 2 arguments, but only 1 given
     ASSERT(x.thread_count != 0);
                               ^
In file included from /root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:41,
                 from /root/Orion/kernel/src/api/v4/tcb.h:707,
                 from /root/Orion/kernel/rpb8/_1568058771_123.c:2:
/root/Orion/kernel/src/api/v4/syscalls.h:53:48: error: macro "SYS_IPC" requires 3 arguments, but only 2 given
 SYS_IPC (threadid_t to_tid, threadid_t from_tid);
                                                ^
/root/Orion/kernel/src/api/v4/syscalls.h:90:40: error: macro "SYS_EXCHANGE_REGISTERS" requires 8 arguments, but only 7 given
    word_t uhandle, threadid_t pager_tid);
                                        ^
In file included from /root/Orion/kernel/src/api/v4/space.h:37,
                 from /root/Orion/kernel/src/api/v4/tcb.h:42,
                 from /root/Orion/kernel/rpb8/_1568058771_123.c:2:
/root/Orion/kernel/src/glue/v4-powerpc64/space.h:169:13: error: extra qualification ‘space_t::’ on member ‘add_tcb’ [-fpermissive]
 inline void space_t::add_tcb(tcb_t * tcb, cpuid_t cpu)
             ^~~~~~~
/root/Orion/kernel/src/glue/v4-powerpc64/space.h:180:14: error: extra qualification ‘space_t::’ on member ‘remove_tcb’ [-fpermissive]
 inline  bool space_t::remove_tcb(tcb_t * tcb, cpuid_t cpu)
              ^~~~~~~
/root/Orion/kernel/src/glue/v4-powerpc64/space.h: In member function ‘bool space_t::remove_tcb(tcb_t*, cpuid_t)’:
/root/Orion/kernel/src/glue/v4-powerpc64/space.h:183:5: error: ‘ASSERT’ was not declared in this scope
     ASSERT(x.thread_count != 0);
     ^~~~~~
/root/Orion/kernel/src/glue/v4-powerpc64/space.h: At global scope:
/root/Orion/kernel/src/glue/v4-powerpc64/space.h:268:1: error: version control conflict marker in file
 <<<<<<< HEAD
 ^~~~~~~
In file included from /root/Orion/kernel/src/api/v4/tcb.h:40,
                 from /root/Orion/kernel/rpb8/_1568058771_123.c:2:
/root/Orion/kernel/src/glue/v4-powerpc64/space.h: In member function ‘void space_t::enqueue_spaces()’:
/root/Orion/kernel/src/glue/v4-powerpc64/space.h:284:23: error: ‘global_spaces_list’ was not declared in this scope
     ENQUEUE_LIST_TAIL(global_spaces_list, this, x.spaces_list);
                       ^~~~~~~~~~~~~~~~~~
/root/Orion/kernel/src/api/v4/queueing.h:37:9: note: in definition of macro ‘ENQUEUE_LIST_TAIL’
     if (head == NULL)    \
         ^~~~
/root/Orion/kernel/src/glue/v4-powerpc64/space.h:284:23: note: suggested alternative: ‘get_spaces_list’
     ENQUEUE_LIST_TAIL(global_spaces_list, this, x.spaces_list);
                       ^~~~~~~~~~~~~~~~~~
/root/Orion/kernel/src/api/v4/queueing.h:37:9: note: in definition of macro ‘ENQUEUE_LIST_TAIL’
     if (head == NULL)    \
         ^~~~
/root/Orion/kernel/src/glue/v4-powerpc64/space.h: In member function ‘void space_t::dequeue_spaces()’:
/root/Orion/kernel/src/glue/v4-powerpc64/space.h:293:18: error: ‘global_spaces_list’ was not declared in this scope
     DEQUEUE_LIST(global_spaces_list, this, x.spaces_list);
                  ^~~~~~~~~~~~~~~~~~
/root/Orion/kernel/src/api/v4/queueing.h:69:2: note: in definition of macro ‘DEQUEUE_LIST’
  head = NULL;     \
  ^~~~
/root/Orion/kernel/src/glue/v4-powerpc64/space.h:293:18: note: suggested alternative: ‘get_spaces_list’
     DEQUEUE_LIST(global_spaces_list, this, x.spaces_list);
                  ^~~~~~~~~~~~~~~~~~
/root/Orion/kernel/src/api/v4/queueing.h:69:2: note: in definition of macro ‘DEQUEUE_LIST’
  head = NULL;     \
  ^~~~
/root/Orion/kernel/src/glue/v4-powerpc64/space.h:293:18: error: ‘global_spaces_list’ was not declared in this scope
     DEQUEUE_LIST(global_spaces_list, this, x.spaces_list);
                  ^~~~~~~~~~~~~~~~~~
/root/Orion/kernel/src/api/v4/queueing.h:74:6: note: in definition of macro ‘DEQUEUE_LIST’
  if (head == tcb)    \
      ^~~~
/root/Orion/kernel/src/glue/v4-powerpc64/space.h:293:18: note: suggested alternative: ‘get_spaces_list’
     DEQUEUE_LIST(global_spaces_list, this, x.spaces_list);
                  ^~~~~~~~~~~~~~~~~~
/root/Orion/kernel/src/api/v4/queueing.h:74:6: note: in definition of macro ‘DEQUEUE_LIST’
  if (head == tcb)    \
      ^~~~
In file included from /root/Orion/kernel/src/api/v4/space.h:37,
                 from /root/Orion/kernel/src/api/v4/tcb.h:42,
                 from /root/Orion/kernel/rpb8/_1568058771_123.c:2:
/root/Orion/kernel/src/glue/v4-powerpc64/space.h: At global scope:
/root/Orion/kernel/src/glue/v4-powerpc64/space.h:297:1: error: version control conflict marker in file
 >>>>>>> NICTA_Pistachio_Mainline_FCL
 ^~~~~~~
/root/Orion/kernel/src/glue/v4-powerpc64/space.h:390:1: error: version control conflict marker in file
 <<<<<<< HEAD
 ^~~~~~~
In file included from /root/Orion/kernel/rpb8/_1568058771_123.c:2:
/root/Orion/kernel/src/api/v4/tcb.h: In member function ‘void tcb_t::clear_notify_bits()’:
/root/Orion/kernel/src/api/v4/tcb.h:570:14: error: ‘class utcb_t’ has no member named ‘notify_bits’; did you mean ‘notify_mask’?
  get_utcb()->notify_bits = 0;
              ^~~~~~~~~~~
              notify_mask
/root/Orion/kernel/src/api/v4/tcb.h: In member function ‘void tcb_t::add_notify_bits(word_t)’:
/root/Orion/kernel/src/api/v4/tcb.h:578:14: error: ‘class utcb_t’ has no member named ‘notify_bits’; did you mean ‘notify_mask’?
  get_utcb()->notify_bits |= bits;
              ^~~~~~~~~~~
              notify_mask
/root/Orion/kernel/src/api/v4/tcb.h: In member function ‘void tcb_t::sub_notify_bits(word_t)’:
/root/Orion/kernel/src/api/v4/tcb.h:586:14: error: ‘class utcb_t’ has no member named ‘notify_bits’; did you mean ‘notify_mask’?
  get_utcb()->notify_bits &= ~(bits);
              ^~~~~~~~~~~
              notify_mask
/root/Orion/kernel/src/api/v4/tcb.h: In member function ‘word_t tcb_t::get_notify_bits()’:
/root/Orion/kernel/src/api/v4/tcb.h:594:24: error: ‘class utcb_t’ has no member named ‘notify_bits’; did you mean ‘notify_mask’?
     return get_utcb()->notify_bits;
                        ^~~~~~~~~~~
                        notify_mask
In file included from /root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:41,
                 from /root/Orion/kernel/src/api/v4/tcb.h:707,
                 from /root/Orion/kernel/rpb8/_1568058771_123.c:2:
/root/Orion/kernel/src/api/v4/syscalls.h: At global scope:
/root/Orion/kernel/src/api/v4/syscalls.h:53:1: error: ‘SYS_IPC’ does not name a type
 SYS_IPC (threadid_t to_tid, threadid_t from_tid);
 ^~~~~~~
/root/Orion/kernel/src/api/v4/syscalls.h:88:1: error: ‘SYS_EXCHANGE_REGISTERS’ does not name a type
 SYS_EXCHANGE_REGISTERS (threadid_t dest_tid, word_t control,
 ^~~~~~~~~~~~~~~~~~~~~~
In file included from /root/Orion/kernel/src/api/v4/tcb.h:707,
                 from /root/Orion/kernel/rpb8/_1568058771_123.c:2:
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:112:13: error: no declaration matches ‘void tcb_t::allocate()’
 INLINE void tcb_t::allocate()
             ^~~~~
In file included from /root/Orion/kernel/rpb8/_1568058771_123.c:2:
/root/Orion/kernel/src/api/v4/tcb.h:216:10: note: candidate is: ‘bool tcb_t::allocate()’
     bool allocate();
          ^~~~~~~~
/root/Orion/kernel/src/api/v4/tcb.h:60:7: note: ‘class tcb_t’ defined here
 class tcb_t
       ^~~~~
In file included from /root/Orion/kernel/src/api/v4/tcb.h:707,
                 from /root/Orion/kernel/rpb8/_1568058771_123.c:2:
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:569:13: error: no declaration matches ‘void tcb_t::copy_saved_regs(tcb_t*)’
 INLINE void tcb_t::copy_saved_regs(tcb_t *src)
             ^~~~~
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:569:13: note: no functions named ‘void tcb_t::copy_saved_regs(tcb_t*)’
In file included from /root/Orion/kernel/rpb8/_1568058771_123.c:2:
/root/Orion/kernel/src/api/v4/tcb.h:60:7: note: ‘class tcb_t’ defined here
 class tcb_t
       ^~~~~
In file included from /root/Orion/kernel/src/api/v4/tcb.h:707,
                 from /root/Orion/kernel/rpb8/_1568058771_123.c:2:
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:601:13: error: no declaration matches ‘void tcb_t::copy_volatile_regs(tcb_t*)’
 INLINE void tcb_t::copy_volatile_regs(tcb_t *src)
             ^~~~~
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:601:13: note: no functions named ‘void tcb_t::copy_volatile_regs(tcb_t*)’
In file included from /root/Orion/kernel/rpb8/_1568058771_123.c:2:
/root/Orion/kernel/src/api/v4/tcb.h:60:7: note: ‘class tcb_t’ defined here
 class tcb_t
       ^~~~~
In file included from /root/Orion/kernel/src/api/v4/tcb.h:707,
                 from /root/Orion/kernel/rpb8/_1568058771_123.c:2:
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:735:33: error: ‘timeout_t’ has not been declared
                                 timeout_t timeout)
                                 ^~~~~~~~~
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:734:18: error: no declaration matches ‘msg_tag_t tcb_t::do_ipc(threadid_t, threadid_t, int)’
 INLINE msg_tag_t tcb_t::do_ipc (threadid_t to_tid, threadid_t from_tid,
                  ^~~~~
In file included from /root/Orion/kernel/rpb8/_1568058771_123.c:2:
/root/Orion/kernel/src/api/v4/tcb.h:130:15: note: candidate is: ‘msg_tag_t tcb_t::do_ipc(threadid_t, threadid_t)’
     msg_tag_t do_ipc(threadid_t to_tid, threadid_t from_tid);
               ^~~~~~
/root/Orion/kernel/src/api/v4/tcb.h:60:7: note: ‘class tcb_t’ defined here
 class tcb_t
       ^~~~~
In file included from /root/Orion/kernel/src/api/v4/tcb.h:707,
                 from /root/Orion/kernel/rpb8/_1568058771_123.c:2:
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:748:13: error: no declaration matches ‘void space_t::add_tcb(tcb_t*)’
 INLINE void space_t::add_tcb(tcb_t * tcb)
             ^~~~~~~
In file included from /root/Orion/kernel/src/api/v4/space.h:37,
                 from /root/Orion/kernel/src/api/v4/tcb.h:42,
                 from /root/Orion/kernel/rpb8/_1568058771_123.c:2:
/root/Orion/kernel/src/glue/v4-powerpc64/space.h:169:13: note: candidate is: ‘void space_t::add_tcb(tcb_t*, cpuid_t)’
 inline void space_t::add_tcb(tcb_t * tcb, cpuid_t cpu)
             ^~~~~~~
/root/Orion/kernel/src/glue/v4-powerpc64/space.h:59:7: note: ‘class space_t’ defined here
 class space_t
       ^~~~~~~
In file included from /root/Orion/kernel/src/api/v4/tcb.h:707,
                 from /root/Orion/kernel/rpb8/_1568058771_123.c:2:
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:763:13: error: no declaration matches ‘bool space_t::remove_tcb(tcb_t*)’
 INLINE bool space_t::remove_tcb(tcb_t * tcb)
             ^~~~~~~
In file included from /root/Orion/kernel/src/api/v4/space.h:37,
                 from /root/Orion/kernel/src/api/v4/tcb.h:42,
                 from /root/Orion/kernel/rpb8/_1568058771_123.c:2:
/root/Orion/kernel/src/glue/v4-powerpc64/space.h:180:14: note: candidate is: ‘bool space_t::remove_tcb(tcb_t*, cpuid_t)’
 inline  bool space_t::remove_tcb(tcb_t * tcb, cpuid_t cpu)
              ^~~~~~~
/root/Orion/kernel/src/glue/v4-powerpc64/space.h:59:7: note: ‘class space_t’ defined here
 class space_t
       ^~~~~~~
/root/Orion/kernel/rpb8/_1568058771_123.c: In function ‘void make_offsets()’:
/root/Orion/kernel/rpb8/_1568058771_123.c:51:51: error: ‘class tcb_t’ has no member named ‘sched_state’; did you mean ‘saved_state’?
    O(OFS_TCB_SCHED_STATE_SCHEDULER,offsetof(tcb_t,sched_state.scheduler));
                                                   ^~~~~~~~~~~
/root/Orion/kernel/rpb8/_1568058771_123.c:12:84: note: in definition of macro ‘O’
 #define O(sym,value) __asm__ __volatile__ ("\n#define " MKSTR(sym) " %0 " : : "i" (value));
                                                                                    ^~~~~
/root/Orion/kernel/rpb8/_1568058771_123.c:51:36: note: in expansion of macro ‘offsetof’
    O(OFS_TCB_SCHED_STATE_SCHEDULER,offsetof(tcb_t,sched_state.scheduler));
                                    ^~~~~~~~
make[1]: *** [/root/Orion/kernel/Mk/Makefile.voodoo:69: /root/Orion/kernel/rpb8/include/tcb_layout.h] Error 255
make[1]: Leaving directory '/root/Orion/kernel/rpb8'
make: *** [Makefile:38: tcb_layout.h] Error 2
[root@fedora28 rpb8]# git comm
vmlemon commented 5 years ago

Current state of PPC:

[root@fedora28 rpb8]# make
make[1]: Entering directory '/root/Orion/kernel/rpb8'
===> src/generic/lib.cc
cd src/generic/ &&  gcc  -nostdinc -I/root/Orion/kernel/rpb8/include -I/root/Orion/kernel/src -I/root/Orion/kernel/src/generic -I/usr/lib/gcc/ppc64-redhat-linux/8/include/ -Upowerpc64 -Upower4 -Uofpower4 -Uv4 -Urr -D__ARCH__=powerpc64 -D__CPU__=power4 -D__PLATFORM__=ofpower4 -D__API__=v4 -D__SCHED__=rr -imacros /root/Orion/kernel/rpb8/config/config.h -imacros /root/Orion/kernel/src/generic/macros.h -include /root/Orion/kernel/src/generic/config.h  -include /root/Orion/kernel/src/generic/types.h -fno-rtti -fno-builtin  -fomit-frame-pointer -fno-exceptions -Wall -Wno-non-virtual-dtor -Wno-format -O2 -mpowerpc64 -msoft-float -mno-minimal-toc  -mcpu=power4   -Wconversion -g  -c /root/Orion/kernel/src/generic/lib.cc
/root/Orion/kernel/src/generic/lib.cc: In function ‘void* memset(void*, unsigned int, unsigned int)’:
/root/Orion/kernel/src/generic/lib.cc:56:9: warning: conversion from ‘unsigned int’ to ‘u8_t’ {aka ‘unsigned char’} may change value [-Wconversion]
  *s++ = c;
         ^
===> src/generic/kmemory.cc
cd src/generic/ &&  gcc  -nostdinc -I/root/Orion/kernel/rpb8/include -I/root/Orion/kernel/src -I/root/Orion/kernel/src/generic -I/usr/lib/gcc/ppc64-redhat-linux/8/include/ -Upowerpc64 -Upower4 -Uofpower4 -Uv4 -Urr -D__ARCH__=powerpc64 -D__CPU__=power4 -D__PLATFORM__=ofpower4 -D__API__=v4 -D__SCHED__=rr -imacros /root/Orion/kernel/rpb8/config/config.h -imacros /root/Orion/kernel/src/generic/macros.h -include /root/Orion/kernel/src/generic/config.h  -include /root/Orion/kernel/src/generic/types.h -fno-rtti -fno-builtin  -fomit-frame-pointer -fno-exceptions -Wall -Wno-non-virtual-dtor -Wno-format -O2 -mpowerpc64 -msoft-float -mno-minimal-toc  -mcpu=power4   -Wconversion -g  -c /root/Orion/kernel/src/generic/kmemory.cc
===> src/generic/traceids.cc
cd src/generic/ &&  gcc  -nostdinc -I/root/Orion/kernel/rpb8/include -I/root/Orion/kernel/src -I/root/Orion/kernel/src/generic -I/usr/lib/gcc/ppc64-redhat-linux/8/include/ -Upowerpc64 -Upower4 -Uofpower4 -Uv4 -Urr -D__ARCH__=powerpc64 -D__CPU__=power4 -D__PLATFORM__=ofpower4 -D__API__=v4 -D__SCHED__=rr -imacros /root/Orion/kernel/rpb8/config/config.h -imacros /root/Orion/kernel/src/generic/macros.h -include /root/Orion/kernel/src/generic/config.h  -include /root/Orion/kernel/src/generic/types.h -fno-rtti -fno-builtin  -fomit-frame-pointer -fno-exceptions -Wall -Wno-non-virtual-dtor -Wno-format -O2 -mpowerpc64 -msoft-float -mno-minimal-toc  -mcpu=power4   -Wconversion -g  -c /root/Orion/kernel/src/generic/traceids.cc
make[1]: *** No rule to make target 'stdarg.h', needed by 'src/generic/tracebuffer.o'.  Stop.
make[1]: Leaving directory '/root/Orion/kernel/rpb8'
make: *** [Makefile:38: all] Error 2
[root@fedora28 rpb8]# make clean
make[1]: Entering directory '/root/Orion/kernel/rpb8'
make[1]: Leaving directory '/root/Orion/kernel/rpb8'
[root@fedora28 rpb8]# make
make[1]: Entering directory '/root/Orion/kernel/rpb8'
===> Building dependencies
===> src/glue/v4-powerpc64/asmsyms.cc
cd src/glue/v4-powerpc64/ &&  gcc  -nostdinc -I/root/Orion/kernel/rpb8/include -I/root/Orion/kernel/src -I/root/Orion/kernel/src/generic -I/usr/lib/gcc/ppc64-redhat-linux/8/include/ -Upowerpc64 -Upower4 -Uofpower4 -Uv4 -Urr -D__ARCH__=powerpc64 -D__CPU__=power4 -D__PLATFORM__=ofpower4 -D__API__=v4 -D__SCHED__=rr -imacros /root/Orion/kernel/rpb8/config/config.h -imacros /root/Orion/kernel/src/generic/macros.h -include /root/Orion/kernel/src/generic/config.h  -include /root/Orion/kernel/src/generic/types.h -fno-rtti -fno-builtin  -fomit-frame-pointer -fno-exceptions -Wall -Wno-non-virtual-dtor -Wno-format -O2 -mpowerpc64 -msoft-float -mno-minimal-toc  -mcpu=power4   -Wconversion -g  -c /root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc
In file included from /root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:41,
                 from /root/Orion/kernel/src/api/v4/tcb.h:707,
                 from /root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:37:
/root/Orion/kernel/src/api/v4/syscalls.h:53:48: error: macro "SYS_IPC" requires 3 arguments, but only 2 given
 SYS_IPC (threadid_t to_tid, threadid_t from_tid);
                                                ^
/root/Orion/kernel/src/api/v4/syscalls.h:90:40: error: macro "SYS_EXCHANGE_REGISTERS" requires 8 arguments, but only 7 given
    word_t uhandle, threadid_t pager_tid);
                                        ^
In file included from /root/Orion/kernel/src/api/v4/tcb.h:42,
                 from /root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:37:
/root/Orion/kernel/src/api/v4/space.h:41:1: error: ‘space_t’ does not name a type; did you mean ‘size_t’?
 space_t * allocate_space();
 ^~~~~~~
 size_t
/root/Orion/kernel/src/api/v4/space.h:42:17: error: variable or field ‘free_space’ declared void
 void free_space(space_t * space);
                 ^~~~~~~
/root/Orion/kernel/src/api/v4/space.h:42:17: error: ‘space_t’ was not declared in this scope
/root/Orion/kernel/src/api/v4/space.h:42:17: note: suggested alternative: ‘size_t’
 void free_space(space_t * space);
                 ^~~~~~~
                 size_t
/root/Orion/kernel/src/api/v4/space.h:42:27: error: ‘space’ was not declared in this scope
 void free_space(space_t * space);
                           ^~~~~
/root/Orion/kernel/src/api/v4/space.h:44:8: error: ‘space_t’ does not name a type; did you mean ‘size_t’?
 extern space_t * sigma0_space;
        ^~~~~~~
        size_t
/root/Orion/kernel/src/api/v4/space.h:45:8: error: ‘space_t’ does not name a type; did you mean ‘size_t’?
 extern space_t * sigma1_space;
        ^~~~~~~
        size_t
/root/Orion/kernel/src/api/v4/space.h:46:8: error: ‘space_t’ does not name a type; did you mean ‘size_t’?
 extern space_t * roottask_space;
        ^~~~~~~
        size_t
/root/Orion/kernel/src/api/v4/space.h:48:29: warning: inline variables are only available with -std=c++17 or -std=gnu++17
 INLINE bool is_sigma0_space(space_t * space)
                             ^~~~~~~
/root/Orion/kernel/src/api/v4/space.h:48:29: warning: ‘is_sigma0_space’ initialized and declared ‘extern’
/root/Orion/kernel/src/api/v4/space.h:48:29: error: ‘space_t’ was not declared in this scope
/root/Orion/kernel/src/api/v4/space.h:48:29: note: suggested alternative: ‘size_t’
 INLINE bool is_sigma0_space(space_t * space)
                             ^~~~~~~
                             size_t
/root/Orion/kernel/src/api/v4/space.h:48:39: error: ‘space’ was not declared in this scope
 INLINE bool is_sigma0_space(space_t * space)
                                       ^~~~~
/root/Orion/kernel/src/api/v4/space.h:53:29: warning: inline variables are only available with -std=c++17 or -std=gnu++17
 INLINE bool is_sigma1_space(space_t * space)
                             ^~~~~~~
/root/Orion/kernel/src/api/v4/space.h:53:29: warning: ‘is_sigma1_space’ initialized and declared ‘extern’
/root/Orion/kernel/src/api/v4/space.h:53:29: error: ‘space_t’ was not declared in this scope
/root/Orion/kernel/src/api/v4/space.h:53:29: note: suggested alternative: ‘size_t’
 INLINE bool is_sigma1_space(space_t * space)
                             ^~~~~~~
                             size_t
/root/Orion/kernel/src/api/v4/space.h:53:39: error: ‘space’ was not declared in this scope
 INLINE bool is_sigma1_space(space_t * space)
                                       ^~~~~
/root/Orion/kernel/src/api/v4/space.h:58:31: warning: inline variables are only available with -std=c++17 or -std=gnu++17
 INLINE bool is_roottask_space(space_t * space)
                               ^~~~~~~
/root/Orion/kernel/src/api/v4/space.h:58:31: warning: ‘is_roottask_space’ initialized and declared ‘extern’
/root/Orion/kernel/src/api/v4/space.h:58:31: error: ‘space_t’ was not declared in this scope
/root/Orion/kernel/src/api/v4/space.h:58:31: note: suggested alternative: ‘size_t’
 INLINE bool is_roottask_space(space_t * space)
                               ^~~~~~~
                               size_t
/root/Orion/kernel/src/api/v4/space.h:58:41: error: ‘space’ was not declared in this scope
 INLINE bool is_roottask_space(space_t * space)
                                         ^~~~~
/root/Orion/kernel/src/api/v4/space.h:63:33: warning: inline variables are only available with -std=c++17 or -std=gnu++17
 INLINE bool is_privileged_space(space_t * space)
                                 ^~~~~~~
/root/Orion/kernel/src/api/v4/space.h:63:33: warning: ‘is_privileged_space’ initialized and declared ‘extern’
/root/Orion/kernel/src/api/v4/space.h:63:33: error: ‘space_t’ was not declared in this scope
/root/Orion/kernel/src/api/v4/space.h:63:33: note: suggested alternative: ‘size_t’
 INLINE bool is_privileged_space(space_t * space)
                                 ^~~~~~~
                                 size_t
/root/Orion/kernel/src/api/v4/space.h:63:43: error: ‘space’ was not declared in this scope
 INLINE bool is_privileged_space(space_t * space)
                                           ^~~~~
/root/Orion/kernel/src/api/v4/space.h:71:13: error: ‘space_t’ has not been declared
 INLINE bool space_t::is_mappable(addr_t addr)
             ^~~~~~~
/root/Orion/kernel/src/api/v4/space.h: In function ‘bool is_mappable(addr_t)’:
/root/Orion/kernel/src/api/v4/space.h:74:13: error: ‘is_user_area’ was not declared in this scope
     return (is_user_area(addr) &&
             ^~~~~~~~~~~~
/root/Orion/kernel/src/api/v4/space.h:75:4: error: ‘get_kip_page_area’ was not declared in this scope
  (!get_kip_page_area().is_addr_in_fpage(addr)) &&
    ^~~~~~~~~~~~~~~~~
/root/Orion/kernel/src/api/v4/space.h:76:4: error: ‘get_utcb_page_area’ was not declared in this scope
  (!get_utcb_page_area().is_addr_in_fpage(addr)));
    ^~~~~~~~~~~~~~~~~~
/root/Orion/kernel/src/api/v4/space.h: At global scope:
/root/Orion/kernel/src/api/v4/space.h:82:13: error: ‘space_t’ has not been declared
 INLINE bool space_t::is_mappable(fpage_t fpage)
             ^~~~~~~
/root/Orion/kernel/src/api/v4/space.h:82:34: warning: inline variables are only available with -std=c++17 or -std=gnu++17
 INLINE bool space_t::is_mappable(fpage_t fpage)
                                  ^~~~~~~
/root/Orion/kernel/src/api/v4/space.h:82:34: warning: ‘is_mappable’ initialized and declared ‘extern’
/root/Orion/kernel/src/api/v4/space.h:82:34: error: ‘bool is_mappable’ redeclared as different kind of symbol
/root/Orion/kernel/src/api/v4/space.h:71:13: note: previous declaration ‘bool is_mappable(addr_t)’
 INLINE bool space_t::is_mappable(addr_t addr)
             ^~~~~~~
/root/Orion/kernel/src/api/v4/space.h:82:34: error: ‘fpage_t’ was not declared in this scope
 INLINE bool space_t::is_mappable(fpage_t fpage)
                                  ^~~~~~~
/root/Orion/kernel/src/api/v4/space.h:93:13: error: ‘space_t’ has not been declared
 INLINE bool space_t::is_user_area(fpage_t fpage)
             ^~~~~~~
/root/Orion/kernel/src/api/v4/space.h:93:35: warning: inline variables are only available with -std=c++17 or -std=gnu++17
 INLINE bool space_t::is_user_area(fpage_t fpage)
                                   ^~~~~~~
/root/Orion/kernel/src/api/v4/space.h:93:35: warning: ‘is_user_area’ initialized and declared ‘extern’
/root/Orion/kernel/src/api/v4/space.h:93:35: error: ‘fpage_t’ was not declared in this scope
/root/Orion/kernel/src/api/v4/space.h:100:13: error: ‘space_t’ has not been declared
 INLINE bool space_t::is_initialized()
             ^~~~~~~
/root/Orion/kernel/src/api/v4/space.h: In function ‘bool is_initialized()’:
/root/Orion/kernel/src/api/v4/space.h:102:13: error: ‘get_kip_page_area’ was not declared in this scope
     return !get_kip_page_area().is_nil_fpage();
             ^~~~~~~~~~~~~~~~~
In file included from /root/Orion/kernel/src/api/v4/kernelinterface.h:37,
                 from /root/Orion/kernel/src/api/v4/thread.h:37,
                 from /root/Orion/kernel/src/api/v4/tcb.h:44,
                 from /root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:37:
/root/Orion/kernel/src/api/v4/memdesc.h: In member function ‘void memdesc_t::set(memdesc_t::type_e, word_t, bool, addr_t, addr_t)’:
/root/Orion/kernel/src/api/v4/memdesc.h:118:14: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:4’ may change value [-Wconversion]
      _type = type;
              ^~~~
/root/Orion/kernel/src/api/v4/memdesc.h:119:14: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:4’ may change value [-Wconversion]
      _t    = t;
              ^
/root/Orion/kernel/src/api/v4/memdesc.h:121:29: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘long unsigned int:54’ may change value [-Wconversion]
      _low  = ((word_t) low) >> 10;
              ~~~~~~~~~~~~~~~^~~~~
/root/Orion/kernel/src/api/v4/memdesc.h:122:30: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘long unsigned int:54’ may change value [-Wconversion]
      _high = ((word_t) high) >> 10;
              ~~~~~~~~~~~~~~~~^~~~~
In file included from /root/Orion/kernel/src/api/v4/thread.h:37,
                 from /root/Orion/kernel/src/api/v4/tcb.h:44,
                 from /root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:37:
/root/Orion/kernel/src/api/v4/kernelinterface.h: In member function ‘void thread_info_t::set_user_base(word_t)’:
/root/Orion/kernel/src/api/v4/kernelinterface.h:169:52: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘short unsigned int:12’ may change value [-Wconversion]
     void set_user_base(word_t base)  { user_base = base; }
                                                    ^~~~
/root/Orion/kernel/src/api/v4/kernelinterface.h: In member function ‘void thread_info_t::set_system_base(word_t)’:
/root/Orion/kernel/src/api/v4/kernelinterface.h:170:56: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘short unsigned int:12’ may change value [-Wconversion]
     void set_system_base(word_t base)  { system_base = base; }
                                                        ^~~~
In file included from /root/Orion/kernel/src/api/v4/tcb.h:44,
                 from /root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:37:
/root/Orion/kernel/src/api/v4/thread.h: In static member function ‘static threadid_t threadid_t::irqthread(word_t)’:
/root/Orion/kernel/src/api/v4/thread.h:71:28: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned int’ may change value [-Wconversion]
      tid.global.threadno = irq;
                            ^~~
/root/Orion/kernel/src/api/v4/thread.h: In static member function ‘static threadid_t threadid_t::threadid(word_t, word_t)’:
/root/Orion/kernel/src/api/v4/thread.h:78:27: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned int’ may change value [-Wconversion]
      tid.global.version = version;
                           ^~~~~~~
/root/Orion/kernel/src/api/v4/thread.h:79:28: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned int’ may change value [-Wconversion]
      tid.global.threadno = threadno;
                            ^~~~~~~~
/root/Orion/kernel/src/api/v4/thread.h: In member function ‘void threadid_t::set_global_id(word_t, word_t)’:
/root/Orion/kernel/src/api/v4/thread.h:126:23: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned int’ may change value [-Wconversion]
     global.threadno = threadno;
                       ^~~~~~~~
/root/Orion/kernel/src/api/v4/thread.h:127:22: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned int’ may change value [-Wconversion]
     global.version = version;
                      ^~~~~~~
In file included from /root/Orion/kernel/src/api/v4/tcb.h:46,
                 from /root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:37:
/root/Orion/kernel/src/api/v4/fpage.h: In member function ‘void fpage_t::set(word_t, word_t, bool, bool, bool)’:
/root/Orion/kernel/src/api/v4/fpage.h:69:60: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘long unsigned int:54’ may change value [-Wconversion]
      x.base = (base & (~0 >> (L4_FPAGE_BASE_BITS - size))) >> 10;
               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
/root/Orion/kernel/src/api/v4/fpage.h:70:15: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:6’ may change value [-Wconversion]
      x.size = size;
               ^~~~
In file included from /root/Orion/kernel/src/api/v4/tcb.h:47,
                 from /root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:37:
/root/Orion/kernel/src/api/v4/ipc.h: In member function ‘void msg_tag_t::set(word_t, word_t, word_t, bool, bool)’:
/root/Orion/kernel/src/api/v4/ipc.h:82:25: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:6’ may change value [-Wconversion]
      this->send.typed = typed;
                         ^~~~~
/root/Orion/kernel/src/api/v4/ipc.h:83:27: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:6’ may change value [-Wconversion]
      this->send.untyped = untyped;
                           ^~~~~~~
/root/Orion/kernel/src/api/v4/ipc.h:84:25: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘long unsigned int:48’ may change value [-Wconversion]
      this->send.label = label;
                         ^~~~~
/root/Orion/kernel/src/api/v4/ipc.h: In member function ‘void acceptor_t::set_rcv_window(fpage_t)’:
/root/Orion/kernel/src/api/v4/ipc.h:232:30: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘long unsigned int:60’ may change value [-Wconversion]
  { x.rcv_window = (fpage.raw >> 4); };
                   ~~~~~~~~~~~^~~~~
In file included from /root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:37:
/root/Orion/kernel/src/api/v4/tcb.h: At global scope:
/root/Orion/kernel/src/api/v4/tcb.h:131:62: error: ‘space_t::access_e’ has not been declared
     void send_pagefault_ipc(addr_t addr, addr_t ip, space_t::access_e access);
                                                              ^~~~~~~~
/root/Orion/kernel/src/api/v4/tcb.h: In member function ‘tcb_t* tcb_t::get_partner_tcb()’:
/root/Orion/kernel/src/api/v4/tcb.h:425:29: error: invalid use of incomplete type ‘class space_t’
     return this->get_space()->get_tcb(partner);
                             ^~
/root/Orion/kernel/src/api/v4/tcb.h:54:7: note: forward declaration of ‘class space_t’
 class space_t;
       ^~~~~~~
/root/Orion/kernel/src/api/v4/tcb.h: In member function ‘void tcb_t::clear_notify_bits()’:
/root/Orion/kernel/src/api/v4/tcb.h:570:14: error: ‘class utcb_t’ has no member named ‘notify_bits’; did you mean ‘notify_mask’?
  get_utcb()->notify_bits = 0;
              ^~~~~~~~~~~
              notify_mask
/root/Orion/kernel/src/api/v4/tcb.h: In member function ‘void tcb_t::add_notify_bits(word_t)’:
/root/Orion/kernel/src/api/v4/tcb.h:578:14: error: ‘class utcb_t’ has no member named ‘notify_bits’; did you mean ‘notify_mask’?
  get_utcb()->notify_bits |= bits;
              ^~~~~~~~~~~
              notify_mask
/root/Orion/kernel/src/api/v4/tcb.h: In member function ‘void tcb_t::sub_notify_bits(word_t)’:
/root/Orion/kernel/src/api/v4/tcb.h:586:14: error: ‘class utcb_t’ has no member named ‘notify_bits’; did you mean ‘notify_mask’?
  get_utcb()->notify_bits &= ~(bits);
              ^~~~~~~~~~~
              notify_mask
/root/Orion/kernel/src/api/v4/tcb.h: In member function ‘word_t tcb_t::get_notify_bits()’:
/root/Orion/kernel/src/api/v4/tcb.h:594:24: error: ‘class utcb_t’ has no member named ‘notify_bits’; did you mean ‘notify_mask’?
     return get_utcb()->notify_bits;
                        ^~~~~~~~~~~
                        notify_mask
In file included from /root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:41,
                 from /root/Orion/kernel/src/api/v4/tcb.h:707,
                 from /root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:37:
/root/Orion/kernel/src/api/v4/syscalls.h: At global scope:
/root/Orion/kernel/src/api/v4/syscalls.h:53:1: error: ‘SYS_IPC’ does not name a type
 SYS_IPC (threadid_t to_tid, threadid_t from_tid);
 ^~~~~~~
/root/Orion/kernel/src/api/v4/syscalls.h:88:1: error: ‘SYS_EXCHANGE_REGISTERS’ does not name a type
 SYS_EXCHANGE_REGISTERS (threadid_t dest_tid, word_t control,
 ^~~~~~~~~~~~~~~~~~~~~~
In file included from /root/Orion/kernel/src/api/v4/tcb.h:707,
                 from /root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:37:
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:112:13: error: no declaration matches ‘void tcb_t::allocate()’
 INLINE void tcb_t::allocate()
             ^~~~~
In file included from /root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:37:
/root/Orion/kernel/src/api/v4/tcb.h:216:10: note: candidate is: ‘bool tcb_t::allocate()’
     bool allocate();
          ^~~~~~~~
/root/Orion/kernel/src/api/v4/tcb.h:60:7: note: ‘class tcb_t’ defined here
 class tcb_t
       ^~~~~
In file included from /root/Orion/kernel/src/api/v4/tcb.h:707,
                 from /root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:37:
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h: In function ‘void initial_switch_to(tcb_t*)’:
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:224:18: error: ‘get_kernel_space’ was not declared in this scope
     word_t asr = get_kernel_space()->get_vsid_asid();
                  ^~~~~~~~~~~~~~~~
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h: In member function ‘void tcb_t::switch_to(tcb_t*)’:
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:271:10: error: ‘get_kernel_space’ was not declared in this scope
  space = get_kernel_space();
          ^~~~~~~~~~~~~~~~
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:271:10: note: suggested alternative: ‘kernel_stack’
  space = get_kernel_space();
          ^~~~~~~~~~~~~~~~
          kernel_stack
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:273:14: error: ‘get_kernel_space’ was not declared in this scope
  currspace = get_kernel_space();
              ^~~~~~~~~~~~~~~~
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:273:14: note: suggested alternative: ‘kernel_stack’
  currspace = get_kernel_space();
              ^~~~~~~~~~~~~~~~
              kernel_stack
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:277:23: error: invalid use of incomplete type ‘class space_t’
     word_t asr = space->get_vsid_asid();
                       ^~
In file included from /root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:37:
/root/Orion/kernel/src/api/v4/tcb.h:54:7: note: forward declaration of ‘class space_t’
 class space_t;
       ^~~~~~~
In file included from /root/Orion/kernel/src/api/v4/tcb.h:707,
                 from /root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:37:
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h: At global scope:
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:569:13: error: no declaration matches ‘void tcb_t::copy_saved_regs(tcb_t*)’
 INLINE void tcb_t::copy_saved_regs(tcb_t *src)
             ^~~~~
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:569:13: note: no functions named ‘void tcb_t::copy_saved_regs(tcb_t*)’
In file included from /root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:37:
/root/Orion/kernel/src/api/v4/tcb.h:60:7: note: ‘class tcb_t’ defined here
 class tcb_t
       ^~~~~
In file included from /root/Orion/kernel/src/api/v4/tcb.h:707,
                 from /root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:37:
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:601:13: error: no declaration matches ‘void tcb_t::copy_volatile_regs(tcb_t*)’
 INLINE void tcb_t::copy_volatile_regs(tcb_t *src)
             ^~~~~
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:601:13: note: no functions named ‘void tcb_t::copy_volatile_regs(tcb_t*)’
In file included from /root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:37:
/root/Orion/kernel/src/api/v4/tcb.h:60:7: note: ‘class tcb_t’ defined here
 class tcb_t
       ^~~~~
In file included from /root/Orion/kernel/src/api/v4/tcb.h:707,
                 from /root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:37:
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:735:33: error: ‘timeout_t’ has not been declared
                                 timeout_t timeout)
                                 ^~~~~~~~~
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:734:18: error: no declaration matches ‘msg_tag_t tcb_t::do_ipc(threadid_t, threadid_t, int)’
 INLINE msg_tag_t tcb_t::do_ipc (threadid_t to_tid, threadid_t from_tid,
                  ^~~~~
In file included from /root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:37:
/root/Orion/kernel/src/api/v4/tcb.h:130:15: note: candidate is: ‘msg_tag_t tcb_t::do_ipc(threadid_t, threadid_t)’
     msg_tag_t do_ipc(threadid_t to_tid, threadid_t from_tid);
               ^~~~~~
/root/Orion/kernel/src/api/v4/tcb.h:60:7: note: ‘class tcb_t’ defined here
 class tcb_t
       ^~~~~
In file included from /root/Orion/kernel/src/api/v4/tcb.h:707,
                 from /root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:37:
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:748:41: error: invalid use of incomplete type ‘class space_t’
 inline void space_t::add_tcb(tcb_t * tcb)
                                         ^
In file included from /root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:37:
/root/Orion/kernel/src/api/v4/tcb.h:54:7: note: forward declaration of ‘class space_t’
 class space_t;
       ^~~~~~~
In file included from /root/Orion/kernel/src/api/v4/tcb.h:707,
                 from /root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:37:
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:763:44: error: invalid use of incomplete type ‘class space_t’
 inline bool space_t::remove_tcb(tcb_t * tcb)
                                            ^
In file included from /root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:37:
/root/Orion/kernel/src/api/v4/tcb.h:54:7: note: forward declaration of ‘class space_t’
 class space_t;
       ^~~~~~~
In file included from /root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:37:
/root/Orion/kernel/src/api/v4/tcb.h: In member function ‘bool tcb_t::is_local_cpu()’:
/root/Orion/kernel/src/api/v4/tcb.h:739:13: error: ‘get_current_cpu’ was not declared in this scope
     return (get_current_cpu() == get_cpu());
             ^~~~~~~~~~~~~~~
/root/Orion/kernel/src/api/v4/tcb.h:739:13: note: suggested alternative: ‘get_current_tcb’
     return (get_current_cpu() == get_cpu());
             ^~~~~~~~~~~~~~~
             get_current_tcb
In file included from /root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:34:
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc: At global scope:
/root/Orion/kernel/src/generic/mkasmsym.h:40:55: error: array bound is not an integer constant before ‘]’ token
 struct sym ##_sign_t { char x[32*((value) < 0 ? 1 : 2)]; };  \
                                                       ^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:50:1: note: in expansion of macro ‘MKASMSYM’
 MKASMSYM( OFS_UTCB_MR, (((word_t) &UTCB->mr[0]) - ((word_t) UTCB)));
 ^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:42:65: error: array bound is not an integer constant before ‘]’ token
 struct sym ##_b0_t { char x[32*((__ABSVALUE(value) >> 0) & 0xff)]; }; \
                                                                 ^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:50:1: note: in expansion of macro ‘MKASMSYM’
 MKASMSYM( OFS_UTCB_MR, (((word_t) &UTCB->mr[0]) - ((word_t) UTCB)));
 ^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:44:65: error: array bound is not an integer constant before ‘]’ token
 struct sym ##_b1_t { char x[32*((__ABSVALUE(value) >> 8) & 0xff)]; }; \
                                                                 ^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:50:1: note: in expansion of macro ‘MKASMSYM’
 MKASMSYM( OFS_UTCB_MR, (((word_t) &UTCB->mr[0]) - ((word_t) UTCB)));
 ^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:46:66: error: array bound is not an integer constant before ‘]’ token
 struct sym ##_b2_t { char x[32*((__ABSVALUE(value) >> 16) & 0xff)]; }; \
                                                                  ^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:50:1: note: in expansion of macro ‘MKASMSYM’
 MKASMSYM( OFS_UTCB_MR, (((word_t) &UTCB->mr[0]) - ((word_t) UTCB)));
 ^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:48:66: error: array bound is not an integer constant before ‘]’ token
 struct sym ##_b3_t { char x[32*((__ABSVALUE(value) >> 24) & 0xff)]; }; \
                                                                  ^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:50:1: note: in expansion of macro ‘MKASMSYM’
 MKASMSYM( OFS_UTCB_MR, (((word_t) &UTCB->mr[0]) - ((word_t) UTCB)));
 ^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:50:66: error: array bound is not an integer constant before ‘]’ token
 struct sym ##_b4_t { char x[32*((__ABSVALUE(value) >> 32) & 0xff)]; }; \
                                                                  ^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:50:1: note: in expansion of macro ‘MKASMSYM’
 MKASMSYM( OFS_UTCB_MR, (((word_t) &UTCB->mr[0]) - ((word_t) UTCB)));
 ^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:52:66: error: array bound is not an integer constant before ‘]’ token
 struct sym ##_b5_t { char x[32*((__ABSVALUE(value) >> 40) & 0xff)]; }; \
                                                                  ^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:50:1: note: in expansion of macro ‘MKASMSYM’
 MKASMSYM( OFS_UTCB_MR, (((word_t) &UTCB->mr[0]) - ((word_t) UTCB)));
 ^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:54:66: error: array bound is not an integer constant before ‘]’ token
 struct sym ##_b6_t { char x[32*((__ABSVALUE(value) >> 48) & 0xff)]; }; \
                                                                  ^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:50:1: note: in expansion of macro ‘MKASMSYM’
 MKASMSYM( OFS_UTCB_MR, (((word_t) &UTCB->mr[0]) - ((word_t) UTCB)));
 ^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:56:66: error: array bound is not an integer constant before ‘]’ token
 struct sym ##_b7_t { char x[32*((__ABSVALUE(value) >> 56) & 0xff)]; }; \
                                                                  ^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:50:1: note: in expansion of macro ‘MKASMSYM’
 MKASMSYM( OFS_UTCB_MR, (((word_t) &UTCB->mr[0]) - ((word_t) UTCB)));
 ^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:40:55: error: array bound is not an integer constant before ‘]’ token
 struct sym ##_sign_t { char x[32*((value) < 0 ? 1 : 2)]; };  \
                                                       ^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:51:1: note: in expansion of macro ‘MKASMSYM’
 MKASMSYM( OFS_UTCB_EXCEPTION_HANDLER, (((word_t) &UTCB->exception_handler) - ((word_t) UTCB)));
 ^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:42:65: error: array bound is not an integer constant before ‘]’ token
 struct sym ##_b0_t { char x[32*((__ABSVALUE(value) >> 0) & 0xff)]; }; \
                                                                 ^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:51:1: note: in expansion of macro ‘MKASMSYM’
 MKASMSYM( OFS_UTCB_EXCEPTION_HANDLER, (((word_t) &UTCB->exception_handler) - ((word_t) UTCB)));
 ^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:44:65: error: array bound is not an integer constant before ‘]’ token
 struct sym ##_b1_t { char x[32*((__ABSVALUE(value) >> 8) & 0xff)]; }; \
                                                                 ^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:51:1: note: in expansion of macro ‘MKASMSYM’
 MKASMSYM( OFS_UTCB_EXCEPTION_HANDLER, (((word_t) &UTCB->exception_handler) - ((word_t) UTCB)));
 ^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:46:66: error: array bound is not an integer constant before ‘]’ token
 struct sym ##_b2_t { char x[32*((__ABSVALUE(value) >> 16) & 0xff)]; }; \
                                                                  ^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:51:1: note: in expansion of macro ‘MKASMSYM’
 MKASMSYM( OFS_UTCB_EXCEPTION_HANDLER, (((word_t) &UTCB->exception_handler) - ((word_t) UTCB)));
 ^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:48:66: error: array bound is not an integer constant before ‘]’ token
 struct sym ##_b3_t { char x[32*((__ABSVALUE(value) >> 24) & 0xff)]; }; \
                                                                  ^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:51:1: note: in expansion of macro ‘MKASMSYM’
 MKASMSYM( OFS_UTCB_EXCEPTION_HANDLER, (((word_t) &UTCB->exception_handler) - ((word_t) UTCB)));
 ^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:50:66: error: array bound is not an integer constant before ‘]’ token
 struct sym ##_b4_t { char x[32*((__ABSVALUE(value) >> 32) & 0xff)]; }; \
                                                                  ^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:51:1: note: in expansion of macro ‘MKASMSYM’
 MKASMSYM( OFS_UTCB_EXCEPTION_HANDLER, (((word_t) &UTCB->exception_handler) - ((word_t) UTCB)));
 ^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:52:66: error: array bound is not an integer constant before ‘]’ token
 struct sym ##_b5_t { char x[32*((__ABSVALUE(value) >> 40) & 0xff)]; }; \
                                                                  ^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:51:1: note: in expansion of macro ‘MKASMSYM’
 MKASMSYM( OFS_UTCB_EXCEPTION_HANDLER, (((word_t) &UTCB->exception_handler) - ((word_t) UTCB)));
 ^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:54:66: error: array bound is not an integer constant before ‘]’ token
 struct sym ##_b6_t { char x[32*((__ABSVALUE(value) >> 48) & 0xff)]; }; \
                                                                  ^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:51:1: note: in expansion of macro ‘MKASMSYM’
 MKASMSYM( OFS_UTCB_EXCEPTION_HANDLER, (((word_t) &UTCB->exception_handler) - ((word_t) UTCB)));
 ^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:56:66: error: array bound is not an integer constant before ‘]’ token
 struct sym ##_b7_t { char x[32*((__ABSVALUE(value) >> 56) & 0xff)]; }; \
                                                                  ^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:51:1: note: in expansion of macro ‘MKASMSYM’
 MKASMSYM( OFS_UTCB_EXCEPTION_HANDLER, (((word_t) &UTCB->exception_handler) - ((word_t) UTCB)));
 ^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:40:55: error: array bound is not an integer constant before ‘]’ token
 struct sym ##_sign_t { char x[32*((value) < 0 ? 1 : 2)]; };  \
                                                       ^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:52:1: note: in expansion of macro ‘MKASMSYM’
 MKASMSYM( OFS_UTCB_MY_GLOBAL_ID, (((word_t) &UTCB->my_global_id) - ((word_t) UTCB)));
 ^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:42:65: error: array bound is not an integer constant before ‘]’ token
 struct sym ##_b0_t { char x[32*((__ABSVALUE(value) >> 0) & 0xff)]; }; \
                                                                 ^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:52:1: note: in expansion of macro ‘MKASMSYM’
 MKASMSYM( OFS_UTCB_MY_GLOBAL_ID, (((word_t) &UTCB->my_global_id) - ((word_t) UTCB)));
 ^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:44:65: error: array bound is not an integer constant before ‘]’ token
 struct sym ##_b1_t { char x[32*((__ABSVALUE(value) >> 8) & 0xff)]; }; \
                                                                 ^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:52:1: note: in expansion of macro ‘MKASMSYM’
 MKASMSYM( OFS_UTCB_MY_GLOBAL_ID, (((word_t) &UTCB->my_global_id) - ((word_t) UTCB)));
 ^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:46:66: error: array bound is not an integer constant before ‘]’ token
 struct sym ##_b2_t { char x[32*((__ABSVALUE(value) >> 16) & 0xff)]; }; \
                                                                  ^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:52:1: note: in expansion of macro ‘MKASMSYM’
 MKASMSYM( OFS_UTCB_MY_GLOBAL_ID, (((word_t) &UTCB->my_global_id) - ((word_t) UTCB)));
 ^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:48:66: error: array bound is not an integer constant before ‘]’ token
 struct sym ##_b3_t { char x[32*((__ABSVALUE(value) >> 24) & 0xff)]; }; \
                                                                  ^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:52:1: note: in expansion of macro ‘MKASMSYM’
 MKASMSYM( OFS_UTCB_MY_GLOBAL_ID, (((word_t) &UTCB->my_global_id) - ((word_t) UTCB)));
 ^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:50:66: error: array bound is not an integer constant before ‘]’ token
 struct sym ##_b4_t { char x[32*((__ABSVALUE(value) >> 32) & 0xff)]; }; \
                                                                  ^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:52:1: note: in expansion of macro ‘MKASMSYM’
 MKASMSYM( OFS_UTCB_MY_GLOBAL_ID, (((word_t) &UTCB->my_global_id) - ((word_t) UTCB)));
 ^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:52:66: error: array bound is not an integer constant before ‘]’ token
 struct sym ##_b5_t { char x[32*((__ABSVALUE(value) >> 40) & 0xff)]; }; \
                                                                  ^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:52:1: note: in expansion of macro ‘MKASMSYM’
 MKASMSYM( OFS_UTCB_MY_GLOBAL_ID, (((word_t) &UTCB->my_global_id) - ((word_t) UTCB)));
 ^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:54:66: error: array bound is not an integer constant before ‘]’ token
 struct sym ##_b6_t { char x[32*((__ABSVALUE(value) >> 48) & 0xff)]; }; \
                                                                  ^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:52:1: note: in expansion of macro ‘MKASMSYM’
 MKASMSYM( OFS_UTCB_MY_GLOBAL_ID, (((word_t) &UTCB->my_global_id) - ((word_t) UTCB)));
 ^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:56:66: error: array bound is not an integer constant before ‘]’ token
 struct sym ##_b7_t { char x[32*((__ABSVALUE(value) >> 56) & 0xff)]; }; \
                                                                  ^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:52:1: note: in expansion of macro ‘MKASMSYM’
 MKASMSYM( OFS_UTCB_MY_GLOBAL_ID, (((word_t) &UTCB->my_global_id) - ((word_t) UTCB)));
 ^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:40:55: error: array bound is not an integer constant before ‘]’ token
 struct sym ##_sign_t { char x[32*((value) < 0 ? 1 : 2)]; };  \
                                                       ^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:58:1: note: in expansion of macro ‘MKASMSYM’
 MKASMSYM( RTAS_ENTRY, (((word_t) &RTAS->entry) - ((word_t) RTAS)));
 ^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:42:65: error: array bound is not an integer constant before ‘]’ token
 struct sym ##_b0_t { char x[32*((__ABSVALUE(value) >> 0) & 0xff)]; }; \
                                                                 ^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:58:1: note: in expansion of macro ‘MKASMSYM’
 MKASMSYM( RTAS_ENTRY, (((word_t) &RTAS->entry) - ((word_t) RTAS)));
 ^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:44:65: error: array bound is not an integer constant before ‘]’ token
 struct sym ##_b1_t { char x[32*((__ABSVALUE(value) >> 8) & 0xff)]; }; \
                                                                 ^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:58:1: note: in expansion of macro ‘MKASMSYM’
 MKASMSYM( RTAS_ENTRY, (((word_t) &RTAS->entry) - ((word_t) RTAS)));
 ^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:46:66: error: array bound is not an integer constant before ‘]’ token
 struct sym ##_b2_t { char x[32*((__ABSVALUE(value) >> 16) & 0xff)]; }; \
                                                                  ^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:58:1: note: in expansion of macro ‘MKASMSYM’
 MKASMSYM( RTAS_ENTRY, (((word_t) &RTAS->entry) - ((word_t) RTAS)));
 ^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:48:66: error: array bound is not an integer constant before ‘]’ token
 struct sym ##_b3_t { char x[32*((__ABSVALUE(value) >> 24) & 0xff)]; }; \
                                                                  ^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:58:1: note: in expansion of macro ‘MKASMSYM’
 MKASMSYM( RTAS_ENTRY, (((word_t) &RTAS->entry) - ((word_t) RTAS)));
 ^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:50:66: error: array bound is not an integer constant before ‘]’ token
 struct sym ##_b4_t { char x[32*((__ABSVALUE(value) >> 32) & 0xff)]; }; \
                                                                  ^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:58:1: note: in expansion of macro ‘MKASMSYM’
 MKASMSYM( RTAS_ENTRY, (((word_t) &RTAS->entry) - ((word_t) RTAS)));
 ^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:52:66: error: array bound is not an integer constant before ‘]’ token
 struct sym ##_b5_t { char x[32*((__ABSVALUE(value) >> 40) & 0xff)]; }; \
                                                                  ^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:58:1: note: in expansion of macro ‘MKASMSYM’
 MKASMSYM( RTAS_ENTRY, (((word_t) &RTAS->entry) - ((word_t) RTAS)));
 ^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:54:66: error: array bound is not an integer constant before ‘]’ token
 struct sym ##_b6_t { char x[32*((__ABSVALUE(value) >> 48) & 0xff)]; }; \
                                                                  ^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:58:1: note: in expansion of macro ‘MKASMSYM’
 MKASMSYM( RTAS_ENTRY, (((word_t) &RTAS->entry) - ((word_t) RTAS)));
 ^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:56:66: error: array bound is not an integer constant before ‘]’ token
 struct sym ##_b7_t { char x[32*((__ABSVALUE(value) >> 56) & 0xff)]; }; \
                                                                  ^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:58:1: note: in expansion of macro ‘MKASMSYM’
 MKASMSYM( RTAS_ENTRY, (((word_t) &RTAS->entry) - ((word_t) RTAS)));
 ^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:40:55: error: array bound is not an integer constant before ‘]’ token
 struct sym ##_sign_t { char x[32*((value) < 0 ? 1 : 2)]; };  \
                                                       ^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:59:1: note: in expansion of macro ‘MKASMSYM’
 MKASMSYM( RTAS_BASE, (((word_t) &RTAS->base) - ((word_t) RTAS)));
 ^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:42:65: error: array bound is not an integer constant before ‘]’ token
 struct sym ##_b0_t { char x[32*((__ABSVALUE(value) >> 0) & 0xff)]; }; \
                                                                 ^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:59:1: note: in expansion of macro ‘MKASMSYM’
 MKASMSYM( RTAS_BASE, (((word_t) &RTAS->base) - ((word_t) RTAS)));
 ^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:44:65: error: array bound is not an integer constant before ‘]’ token
 struct sym ##_b1_t { char x[32*((__ABSVALUE(value) >> 8) & 0xff)]; }; \
                                                                 ^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:59:1: note: in expansion of macro ‘MKASMSYM’
 MKASMSYM( RTAS_BASE, (((word_t) &RTAS->base) - ((word_t) RTAS)));
 ^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:46:66: error: array bound is not an integer constant before ‘]’ token
 struct sym ##_b2_t { char x[32*((__ABSVALUE(value) >> 16) & 0xff)]; }; \
                                                                  ^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:59:1: note: in expansion of macro ‘MKASMSYM’
 MKASMSYM( RTAS_BASE, (((word_t) &RTAS->base) - ((word_t) RTAS)));
 ^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:48:66: error: array bound is not an integer constant before ‘]’ token
 struct sym ##_b3_t { char x[32*((__ABSVALUE(value) >> 24) & 0xff)]; }; \
                                                                  ^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:59:1: note: in expansion of macro ‘MKASMSYM’
 MKASMSYM( RTAS_BASE, (((word_t) &RTAS->base) - ((word_t) RTAS)));
 ^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:50:66: error: array bound is not an integer constant before ‘]’ token
 struct sym ##_b4_t { char x[32*((__ABSVALUE(value) >> 32) & 0xff)]; }; \
                                                                  ^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:59:1: note: in expansion of macro ‘MKASMSYM’
 MKASMSYM( RTAS_BASE, (((word_t) &RTAS->base) - ((word_t) RTAS)));
 ^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:52:66: error: array bound is not an integer constant before ‘]’ token
 struct sym ##_b5_t { char x[32*((__ABSVALUE(value) >> 40) & 0xff)]; }; \
                                                                  ^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:59:1: note: in expansion of macro ‘MKASMSYM’
 MKASMSYM( RTAS_BASE, (((word_t) &RTAS->base) - ((word_t) RTAS)));
 ^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:54:66: error: array bound is not an integer constant before ‘]’ token
 struct sym ##_b6_t { char x[32*((__ABSVALUE(value) >> 48) & 0xff)]; }; \
                                                                  ^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:59:1: note: in expansion of macro ‘MKASMSYM’
 MKASMSYM( RTAS_BASE, (((word_t) &RTAS->base) - ((word_t) RTAS)));
 ^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:56:66: error: array bound is not an integer constant before ‘]’ token
 struct sym ##_b7_t { char x[32*((__ABSVALUE(value) >> 56) & 0xff)]; }; \
                                                                  ^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:59:1: note: in expansion of macro ‘MKASMSYM’
 MKASMSYM( RTAS_BASE, (((word_t) &RTAS->base) - ((word_t) RTAS)));
 ^~~~~~~~
===> src/generic/lib.cc
cd src/generic/ &&  gcc  -nostdinc -I/root/Orion/kernel/rpb8/include -I/root/Orion/kernel/src -I/root/Orion/kernel/src/generic -I/usr/lib/gcc/ppc64-redhat-linux/8/include/ -Upowerpc64 -Upower4 -Uofpower4 -Uv4 -Urr -D__ARCH__=powerpc64 -D__CPU__=power4 -D__PLATFORM__=ofpower4 -D__API__=v4 -D__SCHED__=rr -imacros /root/Orion/kernel/rpb8/config/config.h -imacros /root/Orion/kernel/src/generic/macros.h -include /root/Orion/kernel/src/generic/config.h  -include /root/Orion/kernel/src/generic/types.h -fno-rtti -fno-builtin  -fomit-frame-pointer -fno-exceptions -Wall -Wno-non-virtual-dtor -Wno-format -O2 -mpowerpc64 -msoft-float -mno-minimal-toc  -mcpu=power4   -Wconversion -g  -c /root/Orion/kernel/src/generic/lib.cc
/root/Orion/kernel/src/generic/lib.cc: In function ‘void* memset(void*, unsigned int, unsigned int)’:
/root/Orion/kernel/src/generic/lib.cc:56:9: warning: conversion from ‘unsigned int’ to ‘u8_t’ {aka ‘unsigned char’} may change value [-Wconversion]
  *s++ = c;
         ^
===> src/generic/kmemory.cc
cd src/generic/ &&  gcc  -nostdinc -I/root/Orion/kernel/rpb8/include -I/root/Orion/kernel/src -I/root/Orion/kernel/src/generic -I/usr/lib/gcc/ppc64-redhat-linux/8/include/ -Upowerpc64 -Upower4 -Uofpower4 -Uv4 -Urr -D__ARCH__=powerpc64 -D__CPU__=power4 -D__PLATFORM__=ofpower4 -D__API__=v4 -D__SCHED__=rr -imacros /root/Orion/kernel/rpb8/config/config.h -imacros /root/Orion/kernel/src/generic/macros.h -include /root/Orion/kernel/src/generic/config.h  -include /root/Orion/kernel/src/generic/types.h -fno-rtti -fno-builtin  -fomit-frame-pointer -fno-exceptions -Wall -Wno-non-virtual-dtor -Wno-format -O2 -mpowerpc64 -msoft-float -mno-minimal-toc  -mcpu=power4   -Wconversion -g  -c /root/Orion/kernel/src/generic/kmemory.cc
===> src/generic/traceids.cc
cd src/generic/ &&  gcc  -nostdinc -I/root/Orion/kernel/rpb8/include -I/root/Orion/kernel/src -I/root/Orion/kernel/src/generic -I/usr/lib/gcc/ppc64-redhat-linux/8/include/ -Upowerpc64 -Upower4 -Uofpower4 -Uv4 -Urr -D__ARCH__=powerpc64 -D__CPU__=power4 -D__PLATFORM__=ofpower4 -D__API__=v4 -D__SCHED__=rr -imacros /root/Orion/kernel/rpb8/config/config.h -imacros /root/Orion/kernel/src/generic/macros.h -include /root/Orion/kernel/src/generic/config.h  -include /root/Orion/kernel/src/generic/types.h -fno-rtti -fno-builtin  -fomit-frame-pointer -fno-exceptions -Wall -Wno-non-virtual-dtor -Wno-format -O2 -mpowerpc64 -msoft-float -mno-minimal-toc  -mcpu=power4   -Wconversion -g  -c /root/Orion/kernel/src/generic/traceids.cc
===> src/generic/tracebuffer.cc
cd src/generic/ &&  gcc  -nostdinc -I/root/Orion/kernel/rpb8/include -I/root/Orion/kernel/src -I/root/Orion/kernel/src/generic -I/usr/lib/gcc/ppc64-redhat-linux/8/include/ -Upowerpc64 -Upower4 -Uofpower4 -Uv4 -Urr -D__ARCH__=powerpc64 -D__CPU__=power4 -D__PLATFORM__=ofpower4 -D__API__=v4 -D__SCHED__=rr -imacros /root/Orion/kernel/rpb8/config/config.h -imacros /root/Orion/kernel/src/generic/macros.h -include /root/Orion/kernel/src/generic/config.h  -include /root/Orion/kernel/src/generic/types.h -fno-rtti -fno-builtin  -fomit-frame-pointer -fno-exceptions -Wall -Wno-non-virtual-dtor -Wno-format -O2 -mpowerpc64 -msoft-float -mno-minimal-toc  -mcpu=power4   -Wconversion -g  -c /root/Orion/kernel/src/generic/tracebuffer.cc
In file included from /root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:41,
                 from /root/Orion/kernel/src/api/v4/tcb.h:707,
                 from /root/Orion/kernel/src/api/v4/schedule.h:37,
                 from /root/Orion/kernel/src/generic/tracebuffer.cc:87:
/root/Orion/kernel/src/api/v4/syscalls.h:53:48: error: macro "SYS_IPC" requires 3 arguments, but only 2 given
 SYS_IPC (threadid_t to_tid, threadid_t from_tid);
                                                ^
/root/Orion/kernel/src/api/v4/syscalls.h:90:40: error: macro "SYS_EXCHANGE_REGISTERS" requires 8 arguments, but only 7 given
    word_t uhandle, threadid_t pager_tid);
                                        ^
In file included from /root/Orion/kernel/src/api/v4/kernelinterface.h:37,
                 from /root/Orion/kernel/src/generic/tracebuffer.cc:86:
/root/Orion/kernel/src/api/v4/memdesc.h: In member function ‘void memdesc_t::set(memdesc_t::type_e, word_t, bool, addr_t, addr_t)’:
/root/Orion/kernel/src/api/v4/memdesc.h:118:14: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:4’ may change value [-Wconversion]
      _type = type;
              ^~~~
/root/Orion/kernel/src/api/v4/memdesc.h:119:14: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:4’ may change value [-Wconversion]
      _t    = t;
              ^
/root/Orion/kernel/src/api/v4/memdesc.h:121:29: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘long unsigned int:54’ may change value [-Wconversion]
      _low  = ((word_t) low) >> 10;
              ~~~~~~~~~~~~~~~^~~~~
/root/Orion/kernel/src/api/v4/memdesc.h:122:30: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘long unsigned int:54’ may change value [-Wconversion]
      _high = ((word_t) high) >> 10;
              ~~~~~~~~~~~~~~~~^~~~~
In file included from /root/Orion/kernel/src/generic/tracebuffer.cc:86:
/root/Orion/kernel/src/api/v4/kernelinterface.h: In member function ‘void thread_info_t::set_user_base(word_t)’:
/root/Orion/kernel/src/api/v4/kernelinterface.h:169:52: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘short unsigned int:12’ may change value [-Wconversion]
     void set_user_base(word_t base)  { user_base = base; }
                                                    ^~~~
/root/Orion/kernel/src/api/v4/kernelinterface.h: In member function ‘void thread_info_t::set_system_base(word_t)’:
/root/Orion/kernel/src/api/v4/kernelinterface.h:170:56: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘short unsigned int:12’ may change value [-Wconversion]
     void set_system_base(word_t base)  { system_base = base; }
                                                        ^~~~
In file included from /root/Orion/kernel/src/api/v4/tcb.h:42,
                 from /root/Orion/kernel/src/api/v4/schedule.h:37,
                 from /root/Orion/kernel/src/generic/tracebuffer.cc:87:
/root/Orion/kernel/src/api/v4/space.h: At global scope:
/root/Orion/kernel/src/api/v4/space.h:41:1: error: ‘space_t’ does not name a type; did you mean ‘size_t’?
 space_t * allocate_space();
 ^~~~~~~
 size_t
/root/Orion/kernel/src/api/v4/space.h:42:17: error: variable or field ‘free_space’ declared void
 void free_space(space_t * space);
                 ^~~~~~~
/root/Orion/kernel/src/api/v4/space.h:42:17: error: ‘space_t’ was not declared in this scope
/root/Orion/kernel/src/api/v4/space.h:42:17: note: suggested alternative: ‘size_t’
 void free_space(space_t * space);
                 ^~~~~~~
                 size_t
/root/Orion/kernel/src/api/v4/space.h:42:27: error: ‘space’ was not declared in this scope
 void free_space(space_t * space);
                           ^~~~~
/root/Orion/kernel/src/api/v4/space.h:44:8: error: ‘space_t’ does not name a type; did you mean ‘size_t’?
 extern space_t * sigma0_space;
        ^~~~~~~
        size_t
/root/Orion/kernel/src/api/v4/space.h:45:8: error: ‘space_t’ does not name a type; did you mean ‘size_t’?
 extern space_t * sigma1_space;
        ^~~~~~~
        size_t
/root/Orion/kernel/src/api/v4/space.h:46:8: error: ‘space_t’ does not name a type; did you mean ‘size_t’?
 extern space_t * roottask_space;
        ^~~~~~~
        size_t
/root/Orion/kernel/src/api/v4/space.h:48:29: warning: inline variables are only available with -std=c++17 or -std=gnu++17
 INLINE bool is_sigma0_space(space_t * space)
                             ^~~~~~~
/root/Orion/kernel/src/api/v4/space.h:48:29: warning: ‘is_sigma0_space’ initialized and declared ‘extern’
/root/Orion/kernel/src/api/v4/space.h:48:29: error: ‘space_t’ was not declared in this scope
/root/Orion/kernel/src/api/v4/space.h:48:29: note: suggested alternative: ‘size_t’
 INLINE bool is_sigma0_space(space_t * space)
                             ^~~~~~~
                             size_t
/root/Orion/kernel/src/api/v4/space.h:48:39: error: ‘space’ was not declared in this scope
 INLINE bool is_sigma0_space(space_t * space)
                                       ^~~~~
/root/Orion/kernel/src/api/v4/space.h:53:29: warning: inline variables are only available with -std=c++17 or -std=gnu++17
 INLINE bool is_sigma1_space(space_t * space)
                             ^~~~~~~
/root/Orion/kernel/src/api/v4/space.h:53:29: warning: ‘is_sigma1_space’ initialized and declared ‘extern’
/root/Orion/kernel/src/api/v4/space.h:53:29: error: ‘space_t’ was not declared in this scope
/root/Orion/kernel/src/api/v4/space.h:53:29: note: suggested alternative: ‘size_t’
 INLINE bool is_sigma1_space(space_t * space)
                             ^~~~~~~
                             size_t
/root/Orion/kernel/src/api/v4/space.h:53:39: error: ‘space’ was not declared in this scope
 INLINE bool is_sigma1_space(space_t * space)
                                       ^~~~~
/root/Orion/kernel/src/api/v4/space.h:58:31: warning: inline variables are only available with -std=c++17 or -std=gnu++17
 INLINE bool is_roottask_space(space_t * space)
                               ^~~~~~~
/root/Orion/kernel/src/api/v4/space.h:58:31: warning: ‘is_roottask_space’ initialized and declared ‘extern’
/root/Orion/kernel/src/api/v4/space.h:58:31: error: ‘space_t’ was not declared in this scope
/root/Orion/kernel/src/api/v4/space.h:58:31: note: suggested alternative: ‘size_t’
 INLINE bool is_roottask_space(space_t * space)
                               ^~~~~~~
                               size_t
/root/Orion/kernel/src/api/v4/space.h:58:41: error: ‘space’ was not declared in this scope
 INLINE bool is_roottask_space(space_t * space)
                                         ^~~~~
/root/Orion/kernel/src/api/v4/space.h:63:33: warning: inline variables are only available with -std=c++17 or -std=gnu++17
 INLINE bool is_privileged_space(space_t * space)
                                 ^~~~~~~
/root/Orion/kernel/src/api/v4/space.h:63:33: warning: ‘is_privileged_space’ initialized and declared ‘extern’
/root/Orion/kernel/src/api/v4/space.h:63:33: error: ‘space_t’ was not declared in this scope
/root/Orion/kernel/src/api/v4/space.h:63:33: note: suggested alternative: ‘size_t’
 INLINE bool is_privileged_space(space_t * space)
                                 ^~~~~~~
                                 size_t
/root/Orion/kernel/src/api/v4/space.h:63:43: error: ‘space’ was not declared in this scope
 INLINE bool is_privileged_space(space_t * space)
                                           ^~~~~
/root/Orion/kernel/src/api/v4/space.h:71:13: error: ‘space_t’ has not been declared
 INLINE bool space_t::is_mappable(addr_t addr)
             ^~~~~~~
/root/Orion/kernel/src/api/v4/space.h: In function ‘bool is_mappable(addr_t)’:
/root/Orion/kernel/src/api/v4/space.h:74:13: error: ‘is_user_area’ was not declared in this scope
     return (is_user_area(addr) &&
             ^~~~~~~~~~~~
/root/Orion/kernel/src/api/v4/space.h:75:4: error: ‘get_kip_page_area’ was not declared in this scope
  (!get_kip_page_area().is_addr_in_fpage(addr)) &&
    ^~~~~~~~~~~~~~~~~
/root/Orion/kernel/src/api/v4/space.h:76:4: error: ‘get_utcb_page_area’ was not declared in this scope
  (!get_utcb_page_area().is_addr_in_fpage(addr)));
    ^~~~~~~~~~~~~~~~~~
/root/Orion/kernel/src/api/v4/space.h: At global scope:
/root/Orion/kernel/src/api/v4/space.h:82:13: error: ‘space_t’ has not been declared
 INLINE bool space_t::is_mappable(fpage_t fpage)
             ^~~~~~~
/root/Orion/kernel/src/api/v4/space.h:82:34: warning: inline variables are only available with -std=c++17 or -std=gnu++17
 INLINE bool space_t::is_mappable(fpage_t fpage)
                                  ^~~~~~~
/root/Orion/kernel/src/api/v4/space.h:82:34: warning: ‘is_mappable’ initialized and declared ‘extern’
/root/Orion/kernel/src/api/v4/space.h:82:34: error: ‘bool is_mappable’ redeclared as different kind of symbol
/root/Orion/kernel/src/api/v4/space.h:71:13: note: previous declaration ‘bool is_mappable(addr_t)’
 INLINE bool space_t::is_mappable(addr_t addr)
             ^~~~~~~
/root/Orion/kernel/src/api/v4/space.h:82:34: error: ‘fpage_t’ was not declared in this scope
 INLINE bool space_t::is_mappable(fpage_t fpage)
                                  ^~~~~~~
/root/Orion/kernel/src/api/v4/space.h:93:13: error: ‘space_t’ has not been declared
 INLINE bool space_t::is_user_area(fpage_t fpage)
             ^~~~~~~
/root/Orion/kernel/src/api/v4/space.h:93:35: warning: inline variables are only available with -std=c++17 or -std=gnu++17
 INLINE bool space_t::is_user_area(fpage_t fpage)
                                   ^~~~~~~
/root/Orion/kernel/src/api/v4/space.h:93:35: warning: ‘is_user_area’ initialized and declared ‘extern’
/root/Orion/kernel/src/api/v4/space.h:93:35: error: ‘fpage_t’ was not declared in this scope
/root/Orion/kernel/src/api/v4/space.h:100:13: error: ‘space_t’ has not been declared
 INLINE bool space_t::is_initialized()
             ^~~~~~~
/root/Orion/kernel/src/api/v4/space.h: In function ‘bool is_initialized()’:
/root/Orion/kernel/src/api/v4/space.h:102:13: error: ‘get_kip_page_area’ was not declared in this scope
     return !get_kip_page_area().is_nil_fpage();
             ^~~~~~~~~~~~~~~~~
In file included from /root/Orion/kernel/src/api/v4/tcb.h:44,
                 from /root/Orion/kernel/src/api/v4/schedule.h:37,
                 from /root/Orion/kernel/src/generic/tracebuffer.cc:87:
/root/Orion/kernel/src/api/v4/thread.h: In static member function ‘static threadid_t threadid_t::irqthread(word_t)’:
/root/Orion/kernel/src/api/v4/thread.h:71:28: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned int’ may change value [-Wconversion]
      tid.global.threadno = irq;
                            ^~~
/root/Orion/kernel/src/api/v4/thread.h: In static member function ‘static threadid_t threadid_t::threadid(word_t, word_t)’:
/root/Orion/kernel/src/api/v4/thread.h:78:27: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned int’ may change value [-Wconversion]
      tid.global.version = version;
                           ^~~~~~~
/root/Orion/kernel/src/api/v4/thread.h:79:28: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned int’ may change value [-Wconversion]
      tid.global.threadno = threadno;
                            ^~~~~~~~
/root/Orion/kernel/src/api/v4/thread.h: In member function ‘void threadid_t::set_global_id(word_t, word_t)’:
/root/Orion/kernel/src/api/v4/thread.h:126:23: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned int’ may change value [-Wconversion]
     global.threadno = threadno;
                       ^~~~~~~~
/root/Orion/kernel/src/api/v4/thread.h:127:22: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned int’ may change value [-Wconversion]
     global.version = version;
                      ^~~~~~~
In file included from /root/Orion/kernel/src/api/v4/tcb.h:46,
                 from /root/Orion/kernel/src/api/v4/schedule.h:37,
                 from /root/Orion/kernel/src/generic/tracebuffer.cc:87:
/root/Orion/kernel/src/api/v4/fpage.h: In member function ‘void fpage_t::set(word_t, word_t, bool, bool, bool)’:
/root/Orion/kernel/src/api/v4/fpage.h:69:60: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘long unsigned int:54’ may change value [-Wconversion]
      x.base = (base & (~0 >> (L4_FPAGE_BASE_BITS - size))) >> 10;
               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
/root/Orion/kernel/src/api/v4/fpage.h:70:15: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:6’ may change value [-Wconversion]
      x.size = size;
               ^~~~
In file included from /root/Orion/kernel/src/api/v4/tcb.h:47,
                 from /root/Orion/kernel/src/api/v4/schedule.h:37,
                 from /root/Orion/kernel/src/generic/tracebuffer.cc:87:
/root/Orion/kernel/src/api/v4/ipc.h: In member function ‘void msg_tag_t::set(word_t, word_t, word_t, bool, bool)’:
/root/Orion/kernel/src/api/v4/ipc.h:82:25: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:6’ may change value [-Wconversion]
      this->send.typed = typed;
                         ^~~~~
/root/Orion/kernel/src/api/v4/ipc.h:83:27: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:6’ may change value [-Wconversion]
      this->send.untyped = untyped;
                           ^~~~~~~
/root/Orion/kernel/src/api/v4/ipc.h:84:25: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘long unsigned int:48’ may change value [-Wconversion]
      this->send.label = label;
                         ^~~~~
/root/Orion/kernel/src/api/v4/ipc.h: In member function ‘void acceptor_t::set_rcv_window(fpage_t)’:
/root/Orion/kernel/src/api/v4/ipc.h:232:30: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘long unsigned int:60’ may change value [-Wconversion]
  { x.rcv_window = (fpage.raw >> 4); };
                   ~~~~~~~~~~~^~~~~
In file included from /root/Orion/kernel/src/api/v4/schedule.h:37,
                 from /root/Orion/kernel/src/generic/tracebuffer.cc:87:
/root/Orion/kernel/src/api/v4/tcb.h: At global scope:
/root/Orion/kernel/src/api/v4/tcb.h:131:62: error: ‘space_t::access_e’ has not been declared
     void send_pagefault_ipc(addr_t addr, addr_t ip, space_t::access_e access);
                                                              ^~~~~~~~
/root/Orion/kernel/src/api/v4/tcb.h: In member function ‘tcb_t* tcb_t::get_partner_tcb()’:
/root/Orion/kernel/src/api/v4/tcb.h:425:29: error: invalid use of incomplete type ‘class space_t’
     return this->get_space()->get_tcb(partner);
                             ^~
/root/Orion/kernel/src/api/v4/tcb.h:54:7: note: forward declaration of ‘class space_t’
 class space_t;
       ^~~~~~~
/root/Orion/kernel/src/api/v4/tcb.h: In member function ‘void tcb_t::clear_notify_bits()’:
/root/Orion/kernel/src/api/v4/tcb.h:570:14: error: ‘class utcb_t’ has no member named ‘notify_bits’; did you mean ‘notify_mask’?
  get_utcb()->notify_bits = 0;
              ^~~~~~~~~~~
              notify_mask
/root/Orion/kernel/src/api/v4/tcb.h: In member function ‘void tcb_t::add_notify_bits(word_t)’:
/root/Orion/kernel/src/api/v4/tcb.h:578:14: error: ‘class utcb_t’ has no member named ‘notify_bits’; did you mean ‘notify_mask’?
  get_utcb()->notify_bits |= bits;
              ^~~~~~~~~~~
              notify_mask
/root/Orion/kernel/src/api/v4/tcb.h: In member function ‘void tcb_t::sub_notify_bits(word_t)’:
/root/Orion/kernel/src/api/v4/tcb.h:586:14: error: ‘class utcb_t’ has no member named ‘notify_bits’; did you mean ‘notify_mask’?
  get_utcb()->notify_bits &= ~(bits);
              ^~~~~~~~~~~
              notify_mask
/root/Orion/kernel/src/api/v4/tcb.h: In member function ‘word_t tcb_t::get_notify_bits()’:
/root/Orion/kernel/src/api/v4/tcb.h:594:24: error: ‘class utcb_t’ has no member named ‘notify_bits’; did you mean ‘notify_mask’?
     return get_utcb()->notify_bits;
                        ^~~~~~~~~~~
                        notify_mask
In file included from /root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:41,
                 from /root/Orion/kernel/src/api/v4/tcb.h:707,
                 from /root/Orion/kernel/src/api/v4/schedule.h:37,
                 from /root/Orion/kernel/src/generic/tracebuffer.cc:87:
/root/Orion/kernel/src/api/v4/syscalls.h: At global scope:
/root/Orion/kernel/src/api/v4/syscalls.h:53:1: error: ‘SYS_IPC’ does not name a type
 SYS_IPC (threadid_t to_tid, threadid_t from_tid);
 ^~~~~~~
/root/Orion/kernel/src/api/v4/syscalls.h:88:1: error: ‘SYS_EXCHANGE_REGISTERS’ does not name a type
 SYS_EXCHANGE_REGISTERS (threadid_t dest_tid, word_t control,
 ^~~~~~~~~~~~~~~~~~~~~~
In file included from /root/Orion/kernel/src/api/v4/tcb.h:707,
                 from /root/Orion/kernel/src/api/v4/schedule.h:37,
                 from /root/Orion/kernel/src/generic/tracebuffer.cc:87:
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:112:13: error: no declaration matches ‘void tcb_t::allocate()’
 INLINE void tcb_t::allocate()
             ^~~~~
In file included from /root/Orion/kernel/src/api/v4/schedule.h:37,
                 from /root/Orion/kernel/src/generic/tracebuffer.cc:87:
/root/Orion/kernel/src/api/v4/tcb.h:216:10: note: candidate is: ‘bool tcb_t::allocate()’
     bool allocate();
          ^~~~~~~~
/root/Orion/kernel/src/api/v4/tcb.h:60:7: note: ‘class tcb_t’ defined here
 class tcb_t
       ^~~~~
In file included from /root/Orion/kernel/src/api/v4/tcb.h:707,
                 from /root/Orion/kernel/src/api/v4/schedule.h:37,
                 from /root/Orion/kernel/src/generic/tracebuffer.cc:87:
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h: In function ‘void initial_switch_to(tcb_t*)’:
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:224:18: error: ‘get_kernel_space’ was not declared in this scope
     word_t asr = get_kernel_space()->get_vsid_asid();
                  ^~~~~~~~~~~~~~~~
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h: In member function ‘void tcb_t::switch_to(tcb_t*)’:
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:271:10: error: ‘get_kernel_space’ was not declared in this scope
  space = get_kernel_space();
          ^~~~~~~~~~~~~~~~
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:271:10: note: suggested alternative: ‘kernel_stack’
  space = get_kernel_space();
          ^~~~~~~~~~~~~~~~
          kernel_stack
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:273:14: error: ‘get_kernel_space’ was not declared in this scope
  currspace = get_kernel_space();
              ^~~~~~~~~~~~~~~~
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:273:14: note: suggested alternative: ‘kernel_stack’
  currspace = get_kernel_space();
              ^~~~~~~~~~~~~~~~
              kernel_stack
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:277:23: error: invalid use of incomplete type ‘class space_t’
     word_t asr = space->get_vsid_asid();
                       ^~
In file included from /root/Orion/kernel/src/api/v4/schedule.h:37,
                 from /root/Orion/kernel/src/generic/tracebuffer.cc:87:
/root/Orion/kernel/src/api/v4/tcb.h:54:7: note: forward declaration of ‘class space_t’
 class space_t;
       ^~~~~~~
In file included from /root/Orion/kernel/src/api/v4/tcb.h:707,
                 from /root/Orion/kernel/src/api/v4/schedule.h:37,
                 from /root/Orion/kernel/src/generic/tracebuffer.cc:87:
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h: At global scope:
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:569:13: error: no declaration matches ‘void tcb_t::copy_saved_regs(tcb_t*)’
 INLINE void tcb_t::copy_saved_regs(tcb_t *src)
             ^~~~~
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:569:13: note: no functions named ‘void tcb_t::copy_saved_regs(tcb_t*)’
In file included from /root/Orion/kernel/src/api/v4/schedule.h:37,
                 from /root/Orion/kernel/src/generic/tracebuffer.cc:87:
/root/Orion/kernel/src/api/v4/tcb.h:60:7: note: ‘class tcb_t’ defined here
 class tcb_t
       ^~~~~
In file included from /root/Orion/kernel/src/api/v4/tcb.h:707,
                 from /root/Orion/kernel/src/api/v4/schedule.h:37,
                 from /root/Orion/kernel/src/generic/tracebuffer.cc:87:
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:601:13: error: no declaration matches ‘void tcb_t::copy_volatile_regs(tcb_t*)’
 INLINE void tcb_t::copy_volatile_regs(tcb_t *src)
             ^~~~~
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:601:13: note: no functions named ‘void tcb_t::copy_volatile_regs(tcb_t*)’
In file included from /root/Orion/kernel/src/api/v4/schedule.h:37,
                 from /root/Orion/kernel/src/generic/tracebuffer.cc:87:
/root/Orion/kernel/src/api/v4/tcb.h:60:7: note: ‘class tcb_t’ defined here
 class tcb_t
       ^~~~~
In file included from /root/Orion/kernel/src/api/v4/tcb.h:707,
                 from /root/Orion/kernel/src/api/v4/schedule.h:37,
                 from /root/Orion/kernel/src/generic/tracebuffer.cc:87:
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:735:33: error: ‘timeout_t’ has not been declared
                                 timeout_t timeout)
                                 ^~~~~~~~~
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:734:18: error: no declaration matches ‘msg_tag_t tcb_t::do_ipc(threadid_t, threadid_t, int)’
 INLINE msg_tag_t tcb_t::do_ipc (threadid_t to_tid, threadid_t from_tid,
                  ^~~~~
In file included from /root/Orion/kernel/src/api/v4/schedule.h:37,
                 from /root/Orion/kernel/src/generic/tracebuffer.cc:87:
/root/Orion/kernel/src/api/v4/tcb.h:130:15: note: candidate is: ‘msg_tag_t tcb_t::do_ipc(threadid_t, threadid_t)’
     msg_tag_t do_ipc(threadid_t to_tid, threadid_t from_tid);
               ^~~~~~
/root/Orion/kernel/src/api/v4/tcb.h:60:7: note: ‘class tcb_t’ defined here
 class tcb_t
       ^~~~~
In file included from /root/Orion/kernel/src/api/v4/tcb.h:707,
                 from /root/Orion/kernel/src/api/v4/schedule.h:37,
                 from /root/Orion/kernel/src/generic/tracebuffer.cc:87:
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:748:41: error: invalid use of incomplete type ‘class space_t’
 inline void space_t::add_tcb(tcb_t * tcb)
                                         ^
In file included from /root/Orion/kernel/src/api/v4/schedule.h:37,
                 from /root/Orion/kernel/src/generic/tracebuffer.cc:87:
/root/Orion/kernel/src/api/v4/tcb.h:54:7: note: forward declaration of ‘class space_t’
 class space_t;
       ^~~~~~~
In file included from /root/Orion/kernel/src/api/v4/tcb.h:707,
                 from /root/Orion/kernel/src/api/v4/schedule.h:37,
                 from /root/Orion/kernel/src/generic/tracebuffer.cc:87:
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:763:44: error: invalid use of incomplete type ‘class space_t’
 inline bool space_t::remove_tcb(tcb_t * tcb)
                                            ^
In file included from /root/Orion/kernel/src/api/v4/schedule.h:37,
                 from /root/Orion/kernel/src/generic/tracebuffer.cc:87:
/root/Orion/kernel/src/api/v4/tcb.h:54:7: note: forward declaration of ‘class space_t’
 class space_t;
       ^~~~~~~
In file included from /root/Orion/kernel/src/api/v4/schedule.h:37,
                 from /root/Orion/kernel/src/generic/tracebuffer.cc:87:
/root/Orion/kernel/src/api/v4/tcb.h: In member function ‘bool tcb_t::is_local_cpu()’:
/root/Orion/kernel/src/api/v4/tcb.h:739:13: error: ‘get_current_cpu’ was not declared in this scope
     return (get_current_cpu() == get_cpu());
             ^~~~~~~~~~~~~~~
/root/Orion/kernel/src/api/v4/tcb.h:739:13: note: suggested alternative: ‘get_current_tcb’
     return (get_current_cpu() == get_cpu());
             ^~~~~~~~~~~~~~~
             get_current_tcb
In file included from /root/Orion/kernel/src/generic/tracebuffer.cc:87:
/root/Orion/kernel/src/api/v4/schedule.h: At global scope:
/root/Orion/kernel/src/api/v4/schedule.h:198:10: error: extra qualification ‘scheduler_t::’ on member ‘switch_highest’ [-fpermissive]
     void scheduler_t::switch_highest(tcb_t *current, tcb_t * tcb);
          ^~~~~~~~~~~
make[1]: *** [/root/Orion/kernel/Mk/Makeconf:208: src/generic/tracebuffer.o] Error 1
make[1]: Leaving directory '/root/Orion/kernel/rpb8'
make: *** [Makefile:38: all] Error 2
[root@fedora28 rpb8]# 
vmlemon commented 5 years ago

Current status, on POWER4+ is :

/root/Orion/kernel/src/api/v4/syscalls.h:90:40: error: macro "SYS_EXCHANGE_REGISTERS" requires 8 arguments, but only 7 given
/root/Orion/kernel/src/glue/v4-powerpc64/space.h:313:5: error: ‘x’ was not declared in this scope
/root/Orion/kernel/src/glue/v4-powerpc64/space.h:324:5: error: ‘x’ was not declared in this scope
/root/Orion/kernel/src/api/v4/tcb.h:425:31: error: ‘class space_t’ has no member named ‘get_tcb’; did you mean ‘add_tcb’?
/root/Orion/kernel/src/api/v4/tcb.h:570:14: error: ‘class utcb_t’ has no member named ‘notify_bits’; did you mean ‘notify_mask’?
/root/Orion/kernel/src/api/v4/tcb.h:578:14: error: ‘class utcb_t’ has no member named ‘notify_bits’; did you mean ‘notify_mask’?
/root/Orion/kernel/src/api/v4/tcb.h:586:14: error: ‘class utcb_t’ has no member named ‘notify_bits’; did you mean ‘notify_mask’?
/root/Orion/kernel/src/api/v4/tcb.h:594:24: error: ‘class utcb_t’ has no member named ‘notify_bits’; did you mean ‘notify_mask’?
/root/Orion/kernel/src/api/v4/syscalls.h:88:1: error: ‘SYS_EXCHANGE_REGISTERS’ does not name a type
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:112:13: error: no declaration matches ‘void tcb_t::allocate()’
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:569:13: error: no declaration matches ‘void tcb_t::copy_saved_regs(tcb_t*)’
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:601:13: error: no declaration matches ‘void tcb_t::copy_volatile_regs(tcb_t*)’
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:734:18: error: no declaration matches ‘msg_tag_t tcb_t::do_ipc(threadid_t, threadid_t, timeout_t)’
/root/Orion/kernel/src/api/v4/tcb.h:739:13: error: ‘get_current_cpu’ was not declared in this scope
vmlemon commented 5 years ago

Looking into this, in https://github.com/vmlemon/pistachio/issues/5...