Open vmlemon opened 5 years ago
With GCC 3.4.x, and the changes made in support of https://github.com/vmlemon/Orion/issues/9, and https://github.com/vmlemon/Orion/issues/1, we now generate the asmsyms.h, tcb_layout.h, and asmsyms.o, but there are some issues with building xics.cc, thanks to more issues with space.h.
After enabling the tracebuffer, in the kernel settings:
===> 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
In file included from <command-line>:
/root/Orion/kernel/src/generic/macros.h:55:33: fatal error: arch/powerpc64/atomic.h: No such file or directory
#define INC_ARCH(x) <arch/__ARCH__/x>
Seems to be nothing to do with macros.h, since we have two identical copies?
[root@fedora28 rpb8]# md5sum ../../kernel/src/include/macros.h ../../kernel/src/macros.h
81494aa74febd50876dc573eb2a061a2 ../../kernel/src/include/macros.h
81494aa74febd50876dc573eb2a061a2 ../../kernel/src/macros.h
For some reason, we have kernel/src/arch/x86/atomic.h, but not kernel/src/arch/powerpc64/atomic.h.
With the NICTA space.h:
[root@fedora28 rpb8]# make tcb_layout.h
make[1]: Entering directory '/root/Orion/kernel/rpb8'
===> Building dependencies
===> Generating include/tcb_layout.h
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/_1568059116_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/tcb.h:42,
from /root/Orion/kernel/rpb8/_1568059116_123.c:2:
/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: error: ‘space_t’ was not declared in this scope
INLINE bool is_sigma0_space(space_t * space)
^~~~~~~
/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: error: ‘space_t’ was not declared in this scope
INLINE bool is_sigma1_space(space_t * space)
^~~~~~~
/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: error: ‘space_t’ was not declared in this scope
INLINE bool is_roottask_space(space_t * space)
^~~~~~~
/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: error: ‘space_t’ was not declared in this scope
INLINE bool is_privileged_space(space_t * space)
^~~~~~~
/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: error: ‘bool is_mappable’ redeclared as different kind of symbol
INLINE bool space_t::is_mappable(fpage_t fpage)
^~~~~~~
/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: error: ‘fpage_t’ was not declared in this scope
INLINE bool space_t::is_user_area(fpage_t fpage)
^~~~~~~
/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/rpb8/_1568059116_123.c:2:
/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/rpb8/_1568059116_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/_1568059116_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/_1568059116_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/_1568059116_123.c:2:
/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/rpb8/_1568059116_123.c:2:
/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/rpb8/_1568059116_123.c:2:
/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/rpb8/_1568059116_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/_1568059116_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/_1568059116_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/_1568059116_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/_1568059116_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/_1568059116_123.c:2:
/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/rpb8/_1568059116_123.c:2:
/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/rpb8/_1568059116_123.c:2:
/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/rpb8/_1568059116_123.c:2:
/root/Orion/kernel/src/api/v4/tcb.h:54:7: note: forward declaration of ‘class space_t’
class space_t;
^~~~~~~
/root/Orion/kernel/rpb8/_1568059116_123.c: In function ‘void make_offsets()’:
/root/Orion/kernel/rpb8/_1568059116_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/_1568059116_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/_1568059116_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]#
If we copy the 32-bit PPC version:
[root@fedora28 rpb8]# CC=gcc34 make
make[1]: Entering directory '/root/Orion/kernel/rpb8'
===> Building dependencies
===> src/generic/lib.cc
cd src/generic/ && gcc34 -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/3.4.6/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
make[1]: *** No rule to make target 'arch/powerpc64/tracebuffer.h', needed by 'src/generic/kmemory.o'. Stop.
make[1]: Leaving directory '/root/Orion/kernel/rpb8'
make: *** [Makefile:38: all] Error 2
[root@fedora28 rpb8]# CC=gcc34 make
make[1]: Entering directory '/root/Orion/kernel/rpb8'
make[1]: *** No rule to make target 'arch/powerpc64/tracebuffer.h', needed by 'src/generic/kmemory.o'. Stop.
make[1]: Leaving directory '/root/Orion/kernel/rpb8'
make: *** [Makefile:38: all] Error 2
With the new compiler:
[root@fedora28 rpb8]# make asmsyms.h
make[1]: Entering directory '/root/Orion/kernel/rpb8'
===> 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:34:
/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)));
^~~~~~~~
make[1]: *** No rule to make target 'src/glue/v4-powerpc64/asmsyms.o', needed by '/root/Orion/kernel/rpb8/include/asmsyms.h'. Stop.
make[1]: Leaving directory '/root/Orion/kernel/rpb8'
make: *** [Makefile:38: asmsyms.h] Error 2
[root@fedora28 rpb8]#
Old/new/old compiler switching:
[root@fedora28 rpb8]# CC=gcc34 make
make[1]: Entering directory '/root/Orion/kernel/rpb8'
===> Building dependencies
===> src/glue/v4-powerpc64/asmsyms.cc
cd src/glue/v4-powerpc64/ && gcc34 -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/3.4.6/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/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: error: expected constructor, destructor, or type conversion before '*' token
/root/Orion/kernel/src/api/v4/space.h:42: error: variable or field `free_space' declared void
/root/Orion/kernel/src/api/v4/space.h:42: error: `space_t' was not declared in this scope
/root/Orion/kernel/src/api/v4/space.h:42: error: `space' was not declared in this scope
/root/Orion/kernel/src/api/v4/space.h:44: error: expected initializer before '*' token
/root/Orion/kernel/src/api/v4/space.h:45: error: expected initializer before '*' token
/root/Orion/kernel/src/api/v4/space.h:46: error: expected initializer before '*' token
/root/Orion/kernel/src/api/v4/space.h:48: warning: `is_sigma0_space' initialized and declared `extern'
/root/Orion/kernel/src/api/v4/space.h:48: error: `is_sigma0_space' declared as an `inline' variable
/root/Orion/kernel/src/api/v4/space.h:48: error: `space_t' was not declared in this scope
/root/Orion/kernel/src/api/v4/space.h:48: error: `space' was not declared in this scope
/root/Orion/kernel/src/api/v4/space.h:49: error: expected `,' or `;' before '{' token
/root/Orion/kernel/src/api/v4/space.h:53: warning: `is_sigma1_space' initialized and declared `extern'
/root/Orion/kernel/src/api/v4/space.h:53: error: `is_sigma1_space' declared as an `inline' variable
/root/Orion/kernel/src/api/v4/space.h:53: error: `space_t' was not declared in this scope
/root/Orion/kernel/src/api/v4/space.h:53: error: `space' was not declared in this scope
/root/Orion/kernel/src/api/v4/space.h:54: error: expected `,' or `;' before '{' token
/root/Orion/kernel/src/api/v4/space.h:58: warning: `is_roottask_space' initialized and declared `extern'
/root/Orion/kernel/src/api/v4/space.h:58: error: `is_roottask_space' declared as an `inline' variable
/root/Orion/kernel/src/api/v4/space.h:58: error: `space_t' was not declared in this scope
/root/Orion/kernel/src/api/v4/space.h:58: error: `space' was not declared in this scope
/root/Orion/kernel/src/api/v4/space.h:59: error: expected `,' or `;' before '{' token
/root/Orion/kernel/src/api/v4/space.h:63: warning: `is_privileged_space' initialized and declared `extern'
/root/Orion/kernel/src/api/v4/space.h:63: error: `is_privileged_space' declared as an `inline' variable
/root/Orion/kernel/src/api/v4/space.h:63: error: `space_t' was not declared in this scope
/root/Orion/kernel/src/api/v4/space.h:63: error: `space' was not declared in this scope
/root/Orion/kernel/src/api/v4/space.h:64: error: expected `,' or `;' before '{' token
/root/Orion/kernel/src/api/v4/space.h:71: error: `space_t' has not been declared
/root/Orion/kernel/src/api/v4/space.h: In function `bool is_mappable(void*)':
/root/Orion/kernel/src/api/v4/space.h:74: error: `is_user_area' was not declared in this scope
/root/Orion/kernel/src/api/v4/space.h:75: error: `get_kip_page_area' was not declared in this scope
/root/Orion/kernel/src/api/v4/space.h:76: error: `get_utcb_page_area' was not declared in this scope
/root/Orion/kernel/src/api/v4/space.h:74: warning: unused variable 'is_user_area'
/root/Orion/kernel/src/api/v4/space.h:75: warning: unused variable 'get_kip_page_area'
/root/Orion/kernel/src/api/v4/space.h:76: warning: unused variable 'get_utcb_page_area'
/root/Orion/kernel/src/api/v4/space.h: At global scope:
/root/Orion/kernel/src/api/v4/space.h:82: error: `space_t' has not been declared
/root/Orion/kernel/src/api/v4/space.h:82: warning: `is_mappable' initialized and declared `extern'
/root/Orion/kernel/src/api/v4/space.h:82: error: `is_mappable' declared as an `inline' variable
/root/Orion/kernel/src/api/v4/space.h:82: error: `bool is_mappable' redeclared as different kind of symbol
/root/Orion/kernel/src/api/v4/space.h:72: error: previous declaration of `bool is_mappable(void*)'
/root/Orion/kernel/src/api/v4/space.h:82: error: declaration of `bool is_mappable'
/root/Orion/kernel/src/api/v4/space.h:72: error: conflicts with previous declaration `bool is_mappable(void*)'
/root/Orion/kernel/src/api/v4/space.h:82: error: `fpage_t' was not declared in this scope
/root/Orion/kernel/src/api/v4/space.h:83: error: expected `,' or `;' before '{' token
/root/Orion/kernel/src/api/v4/space.h:93: error: `space_t' has not been declared
/root/Orion/kernel/src/api/v4/space.h:93: warning: `is_user_area' initialized and declared `extern'
/root/Orion/kernel/src/api/v4/space.h:93: error: `is_user_area' declared as an `inline' variable
/root/Orion/kernel/src/api/v4/space.h:93: error: `fpage_t' was not declared in this scope
/root/Orion/kernel/src/api/v4/space.h:94: error: expected `,' or `;' before '{' token
/root/Orion/kernel/src/api/v4/space.h:100: error: `space_t' has not been declared
/root/Orion/kernel/src/api/v4/space.h: In function `bool is_initialized()':
/root/Orion/kernel/src/api/v4/space.h:102: error: `get_kip_page_area' was not declared in this scope
/root/Orion/kernel/src/api/v4/space.h:102: warning: unused variable 'get_kip_page_area'
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: error: `struct space_t::access_e' has not been declared
/root/Orion/kernel/src/api/v4/tcb.h:131: error: ISO C++ forbids declaration of `access' with no type
/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: error: invalid use of undefined type `struct space_t'
/root/Orion/kernel/src/api/v4/tcb.h:54: error: forward declaration of `struct 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: error: 'class utcb_t' has no member named 'notify_bits'
/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: error: 'class utcb_t' has no member named 'notify_bits'
/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: error: 'class utcb_t' has no member named 'notify_bits'
/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: error: 'class utcb_t' has no member named 'notify_bits'
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: macro "SYS_IPC" requires 3 arguments, but only 2 given
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: error: expected constructor, destructor, or type conversion before ';' token
/root/Orion/kernel/src/api/v4/syscalls.h:90:40: macro "SYS_EXCHANGE_REGISTERS" requires 8 arguments, but only 7 given
/root/Orion/kernel/src/api/v4/syscalls.h:88: error: expected constructor, destructor, or type conversion before ';' token
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:113: error: prototype for `void tcb_t::allocate()' does not match any in class `tcb_t'
/root/Orion/kernel/src/api/v4/tcb.h:216: error: candidate is: bool tcb_t::allocate()
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:113: error: `void tcb_t::allocate()' and `bool tcb_t::allocate()' cannot be overloaded
/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: error: `get_kernel_space' was not declared in this scope
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:224: warning: unused variable 'get_kernel_space'
/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: error: `get_kernel_space' was not declared in this scope
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:271: warning: unused variable 'get_kernel_space'
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:273: error: `get_kernel_space' was not declared in this scope
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:273: warning: unused variable 'get_kernel_space'
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:277: error: invalid use of undefined type `struct space_t'
/root/Orion/kernel/src/api/v4/tcb.h:54: error: forward declaration of `struct space_t'
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h: At global scope:
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:570: error: no `void tcb_t::copy_saved_regs(tcb_t*)' member function declared in class `tcb_t'
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:602: error: no `void tcb_t::copy_volatile_regs(tcb_t*)' member function declared in class `tcb_t'
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:735: error: `timeout_t' has not been declared
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:736: error: ISO C++ forbids declaration of `timeout' with no type
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:736: error: prototype for `msg_tag_t tcb_t::do_ipc(threadid_t, threadid_t, int)' does not match any in class `tcb_t'
/root/Orion/kernel/src/api/v4/tcb.h:130: error: candidate is: msg_tag_t tcb_t::do_ipc(threadid_t, threadid_t)
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h: In member function `msg_tag_t tcb_t::do_ipc(threadid_t, threadid_t, int)':
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:738: error: `sys_ipc' was not declared in this scope
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:738: warning: unused variable 'sys_ipc'
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h: At global scope:
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:749: error: invalid use of undefined type `struct space_t'
/root/Orion/kernel/src/api/v4/tcb.h:54: error: forward declaration of `struct space_t'
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h: In member function `void space_t::add_tcb(tcb_t*)':
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:750: error: `x' was not declared in this scope
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:752: error: `spaces_list_lock' was not declared in this scope
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h: At global scope:
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:764: error: invalid use of undefined type `struct space_t'
/root/Orion/kernel/src/api/v4/tcb.h:54: error: forward declaration of `struct space_t'
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h: In member function `bool space_t::remove_tcb(tcb_t*)':
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:765: error: `x' was not declared in this scope
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:765: warning: unused variable 'x'
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:766: error: `x' was not declared in this scope
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:768: error: `spaces_list_lock' was not declared in this scope
===> src/generic/lib.cc
cd src/generic/ && gcc34 -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/3.4.6/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
===> src/generic/kmemory.cc
cd src/generic/ && gcc34 -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/3.4.6/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/ && gcc34 -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/3.4.6/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/ && gcc34 -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/3.4.6/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/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:41: error: expected constructor, destructor, or type conversion before '*' token
/root/Orion/kernel/src/api/v4/space.h:42: error: variable or field `free_space' declared void
/root/Orion/kernel/src/api/v4/space.h:42: error: `space_t' was not declared in this scope
/root/Orion/kernel/src/api/v4/space.h:42: error: `space' was not declared in this scope
/root/Orion/kernel/src/api/v4/space.h:44: error: expected initializer before '*' token
/root/Orion/kernel/src/api/v4/space.h:45: error: expected initializer before '*' token
/root/Orion/kernel/src/api/v4/space.h:46: error: expected initializer before '*' token
/root/Orion/kernel/src/api/v4/space.h:48: warning: `is_sigma0_space' initialized and declared `extern'
/root/Orion/kernel/src/api/v4/space.h:48: error: `is_sigma0_space' declared as an `inline' variable
/root/Orion/kernel/src/api/v4/space.h:48: error: `space_t' was not declared in this scope
/root/Orion/kernel/src/api/v4/space.h:48: error: `space' was not declared in this scope
/root/Orion/kernel/src/api/v4/space.h:49: error: expected `,' or `;' before '{' token
/root/Orion/kernel/src/api/v4/space.h:53: warning: `is_sigma1_space' initialized and declared `extern'
/root/Orion/kernel/src/api/v4/space.h:53: error: `is_sigma1_space' declared as an `inline' variable
/root/Orion/kernel/src/api/v4/space.h:53: error: `space_t' was not declared in this scope
/root/Orion/kernel/src/api/v4/space.h:53: error: `space' was not declared in this scope
/root/Orion/kernel/src/api/v4/space.h:54: error: expected `,' or `;' before '{' token
/root/Orion/kernel/src/api/v4/space.h:58: warning: `is_roottask_space' initialized and declared `extern'
/root/Orion/kernel/src/api/v4/space.h:58: error: `is_roottask_space' declared as an `inline' variable
/root/Orion/kernel/src/api/v4/space.h:58: error: `space_t' was not declared in this scope
/root/Orion/kernel/src/api/v4/space.h:58: error: `space' was not declared in this scope
/root/Orion/kernel/src/api/v4/space.h:59: error: expected `,' or `;' before '{' token
/root/Orion/kernel/src/api/v4/space.h:63: warning: `is_privileged_space' initialized and declared `extern'
/root/Orion/kernel/src/api/v4/space.h:63: error: `is_privileged_space' declared as an `inline' variable
/root/Orion/kernel/src/api/v4/space.h:63: error: `space_t' was not declared in this scope
/root/Orion/kernel/src/api/v4/space.h:63: error: `space' was not declared in this scope
/root/Orion/kernel/src/api/v4/space.h:64: error: expected `,' or `;' before '{' token
/root/Orion/kernel/src/api/v4/space.h:71: error: `space_t' has not been declared
/root/Orion/kernel/src/api/v4/space.h: In function `bool is_mappable(void*)':
/root/Orion/kernel/src/api/v4/space.h:74: error: `is_user_area' was not declared in this scope
/root/Orion/kernel/src/api/v4/space.h:75: error: `get_kip_page_area' was not declared in this scope
/root/Orion/kernel/src/api/v4/space.h:76: error: `get_utcb_page_area' was not declared in this scope
/root/Orion/kernel/src/api/v4/space.h:74: warning: unused variable 'is_user_area'
/root/Orion/kernel/src/api/v4/space.h:75: warning: unused variable 'get_kip_page_area'
/root/Orion/kernel/src/api/v4/space.h:76: warning: unused variable 'get_utcb_page_area'
/root/Orion/kernel/src/api/v4/space.h: At global scope:
/root/Orion/kernel/src/api/v4/space.h:82: error: `space_t' has not been declared
/root/Orion/kernel/src/api/v4/space.h:82: warning: `is_mappable' initialized and declared `extern'
/root/Orion/kernel/src/api/v4/space.h:82: error: `is_mappable' declared as an `inline' variable
/root/Orion/kernel/src/api/v4/space.h:82: error: `bool is_mappable' redeclared as different kind of symbol
/root/Orion/kernel/src/api/v4/space.h:72: error: previous declaration of `bool is_mappable(void*)'
/root/Orion/kernel/src/api/v4/space.h:82: error: declaration of `bool is_mappable'
/root/Orion/kernel/src/api/v4/space.h:72: error: conflicts with previous declaration `bool is_mappable(void*)'
/root/Orion/kernel/src/api/v4/space.h:82: error: `fpage_t' was not declared in this scope
/root/Orion/kernel/src/api/v4/space.h:83: error: expected `,' or `;' before '{' token
/root/Orion/kernel/src/api/v4/space.h:93: error: `space_t' has not been declared
/root/Orion/kernel/src/api/v4/space.h:93: warning: `is_user_area' initialized and declared `extern'
/root/Orion/kernel/src/api/v4/space.h:93: error: `is_user_area' declared as an `inline' variable
/root/Orion/kernel/src/api/v4/space.h:93: error: `fpage_t' was not declared in this scope
/root/Orion/kernel/src/api/v4/space.h:94: error: expected `,' or `;' before '{' token
/root/Orion/kernel/src/api/v4/space.h:100: error: `space_t' has not been declared
/root/Orion/kernel/src/api/v4/space.h: In function `bool is_initialized()':
/root/Orion/kernel/src/api/v4/space.h:102: error: `get_kip_page_area' was not declared in this scope
/root/Orion/kernel/src/api/v4/space.h:102: warning: unused variable 'get_kip_page_area'
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: error: `struct space_t::access_e' has not been declared
/root/Orion/kernel/src/api/v4/tcb.h:131: error: ISO C++ forbids declaration of `access' with no type
/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: error: invalid use of undefined type `struct space_t'
/root/Orion/kernel/src/api/v4/tcb.h:54: error: forward declaration of `struct 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: error: 'class utcb_t' has no member named 'notify_bits'
/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: error: 'class utcb_t' has no member named 'notify_bits'
/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: error: 'class utcb_t' has no member named 'notify_bits'
/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: error: 'class utcb_t' has no member named 'notify_bits'
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: macro "SYS_IPC" requires 3 arguments, but only 2 given
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: error: expected constructor, destructor, or type conversion before ';' token
/root/Orion/kernel/src/api/v4/syscalls.h:90:40: macro "SYS_EXCHANGE_REGISTERS" requires 8 arguments, but only 7 given
/root/Orion/kernel/src/api/v4/syscalls.h:88: error: expected constructor, destructor, or type conversion before ';' token
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:113: error: prototype for `void tcb_t::allocate()' does not match any in class `tcb_t'
/root/Orion/kernel/src/api/v4/tcb.h:216: error: candidate is: bool tcb_t::allocate()
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:113: error: `void tcb_t::allocate()' and `bool tcb_t::allocate()' cannot be overloaded
/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: error: `get_kernel_space' was not declared in this scope
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:224: warning: unused variable 'get_kernel_space'
/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: error: `get_kernel_space' was not declared in this scope
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:271: warning: unused variable 'get_kernel_space'
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:273: error: `get_kernel_space' was not declared in this scope
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:273: warning: unused variable 'get_kernel_space'
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:277: error: invalid use of undefined type `struct space_t'
/root/Orion/kernel/src/api/v4/tcb.h:54: error: forward declaration of `struct space_t'
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h: At global scope:
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:570: error: no `void tcb_t::copy_saved_regs(tcb_t*)' member function declared in class `tcb_t'
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:602: error: no `void tcb_t::copy_volatile_regs(tcb_t*)' member function declared in class `tcb_t'
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:735: error: `timeout_t' has not been declared
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:736: error: ISO C++ forbids declaration of `timeout' with no type
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:736: error: prototype for `msg_tag_t tcb_t::do_ipc(threadid_t, threadid_t, int)' does not match any in class `tcb_t'
/root/Orion/kernel/src/api/v4/tcb.h:130: error: candidate is: msg_tag_t tcb_t::do_ipc(threadid_t, threadid_t)
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h: In member function `msg_tag_t tcb_t::do_ipc(threadid_t, threadid_t, int)':
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:738: error: `sys_ipc' was not declared in this scope
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:738: warning: unused variable 'sys_ipc'
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h: At global scope:
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:749: error: invalid use of undefined type `struct space_t'
/root/Orion/kernel/src/api/v4/tcb.h:54: error: forward declaration of `struct space_t'
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h: In member function `void space_t::add_tcb(tcb_t*)':
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:750: error: `x' was not declared in this scope
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:752: error: `spaces_list_lock' was not declared in this scope
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h: At global scope:
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:764: error: invalid use of undefined type `struct space_t'
/root/Orion/kernel/src/api/v4/tcb.h:54: error: forward declaration of `struct space_t'
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h: In member function `bool space_t::remove_tcb(tcb_t*)':
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:765: error: `x' was not declared in this scope
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:765: warning: unused variable 'x'
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:766: error: `x' was not declared in this scope
/root/Orion/kernel/src/glue/v4-powerpc64/tcb.h:768: error: `spaces_list_lock' was not declared in this scope
In file included from /root/Orion/kernel/src/kdb/tracebuffer.h:37,
from /root/Orion/kernel/src/kdb/tracepoints.h:37,
from /root/Orion/kernel/src/api/v4/schedule.h:39,
from /root/Orion/kernel/src/generic/tracebuffer.cc:87:
/root/Orion/kernel/src/api/v4/cpu.h: In function `cpuid_t get_current_cpu()':
/root/Orion/kernel/src/api/v4/cpu.h:70: error: redefinition of `cpuid_t get_current_cpu()'
/root/Orion/kernel/src/api/v4/tcb.h:723: error: `cpuid_t get_current_cpu()' previously defined here
/root/Orion/kernel/src/generic/tracebuffer.cc: In function `void init_tracebuffer()':
/root/Orion/kernel/src/generic/tracebuffer.cc:108: error: `TBUFF_SIZE' was not declared in this scope
/root/Orion/kernel/src/generic/tracebuffer.cc: In function `void tb_log_event(word_t)':
/root/Orion/kernel/src/generic/tracebuffer.cc:247: error: `EVENT' was not declared in this scope
/root/Orion/kernel/src/generic/tracebuffer.cc:251: error: `EVENT_major' was not declared in this scope
/root/Orion/kernel/src/generic/tracebuffer.cc:247: warning: unused variable 'EVENT'
/root/Orion/kernel/src/generic/tracebuffer.cc:251: warning: unused variable 'EVENT_major'
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]#
Seems that some API changes were made (addition/removal of a "timeout" parameter, according to https://github.com/vmlemon/Orion/search?q=SYS_IPC+%28threadid_t+to_tid%2C+threadid_t+from_tid%29&unscoped_q=SYS_IPC+%28threadid_t+to_tid%2C+threadid_t+from_tid%29, and some other stuff).
GCC-6 on x64 gives us:
tyson@tyson-Lenovo-ideapad-120S-14IAP:~/Orion/kernel/ibd$ CC=gcc-6 make
make[1]: Entering directory '/home/tyson/Orion/kernel/ibd'
===> Building dependencies
===> Generating include/tcb_layout.h
In file included from /home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:20:0,
from /home/tyson/Orion/kernel/src/api/v4/tcb.h:707,
from /home/tyson/Orion/kernel/ibd/_1568332768_123.c:2:
/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:0,
from /home/tyson/Orion/kernel/ibd/_1568332768_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:0,
from /home/tyson/Orion/kernel/src/api/v4/tcb.h:51,
from /home/tyson/Orion/kernel/ibd/_1568332768_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/ibd/_1568332768_123.c:2:0:
/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);
^~~~~~~
/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;
^~~~~~~~~~~
/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;
^~~~~~~~~~~
In file included from /home/tyson/Orion/kernel/src/glue/v4-x86/syscalls.h:16:0,
from /home/tyson/Orion/kernel/src/api/v4/syscalls.h:42,
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/ibd/_1568332768_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:50: error: ‘timeout_t’ was not declared in this scope
SYS_IPC (threadid_t to_tid, threadid_t from_tid, timeout_t timeout);
^
/home/tyson/Orion/kernel/src/glue/v4-x86/x64/syscalls.h:62:11: note: in definition of macro ‘SYS_IPC’
sys_ipc (timeout, to, from)
^~~~~~~
/home/tyson/Orion/kernel/src/api/v4/syscalls.h:53:21: error: expected primary-expression before ‘to_tid’
SYS_IPC (threadid_t to_tid, threadid_t from_tid, timeout_t timeout);
^
/home/tyson/Orion/kernel/src/glue/v4-x86/x64/syscalls.h:62:20: note: in definition of macro ‘SYS_IPC’
sys_ipc (timeout, to, from)
^~
/home/tyson/Orion/kernel/src/api/v4/syscalls.h:53:40: error: expected primary-expression before ‘from_tid’
SYS_IPC (threadid_t to_tid, threadid_t from_tid, timeout_t timeout);
^
/home/tyson/Orion/kernel/src/glue/v4-x86/x64/syscalls.h:62:24: note: in definition of macro ‘SYS_IPC’
sys_ipc (timeout, to, from)
^~~~
In file included from /home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:20:0,
from /home/tyson/Orion/kernel/src/api/v4/tcb.h:707,
from /home/tyson/Orion/kernel/ibd/_1568332768_123.c:2:
/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:0,
from /home/tyson/Orion/kernel/src/api/v4/tcb.h:707,
from /home/tyson/Orion/kernel/ibd/_1568332768_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:80: error: no ‘void tcb_t::arch_init_root_server(space_t*, word_t, word_t)’ member function declared in class ‘tcb_t’
INLINE void tcb_t::arch_init_root_server (space_t * space, word_t ip, word_t sp)
^
In file included from /home/tyson/Orion/kernel/src/api/v4/tcb.h:707:0,
from /home/tyson/Orion/kernel/ibd/_1568332768_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: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: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:41: error: no ‘word_t tcb_t::get_br(word_t)’ member function declared in class ‘tcb_t’
INLINE word_t tcb_t::get_br(word_t index)
^
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:126:53: error: no ‘void tcb_t::set_br(word_t, word_t)’ member function declared in class ‘tcb_t’
INLINE void tcb_t::set_br(word_t index, word_t value)
^
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:210:37: error: no ‘void tcb_t::adjust_for_copy_area(tcb_t*, void**, void**)’ member function declared in class ‘tcb_t’
addr_t * saddr, addr_t * daddr)
^
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:219:43: error: no ‘void tcb_t::release_copy_area()’ member function declared in class ‘tcb_t’
INLINE void tcb_t::release_copy_area (void)
^
In file included from /home/tyson/Orion/kernel/ibd/_1568332768_123.c:2:0:
/home/tyson/Orion/kernel/src/api/v4/tcb.h: In member function ‘bool tcb_t::is_local_cpu()’:
/home/tyson/Orion/kernel/src/api/v4/tcb.h:739:29: error: ‘get_current_cpu’ was not declared in this scope
return (get_current_cpu() == get_cpu());
^
/home/tyson/Orion/kernel/ibd/_1568332768_123.c: In function ‘void make_offsets()’:
/home/tyson/Orion/kernel/ibd/_1568332768_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/ibd/_1568332768_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/ibd/_1568332768_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/ibd/_1568332768_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/ibd/_1568332768_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/ibd/_1568332768_123.c:54:18: note: in expansion of macro ‘offsetof’
O(OFS_UTCB_BR,offsetof(utcb_t,br));
^~~~~~~~
/home/tyson/Orion/kernel/ibd/_1568332768_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/ibd/_1568332768_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/ibd/_1568332768_123.c:64:28: note: in expansion of macro ‘offsetof’
O(OFS_UTCB_XFER_TIMEOUT,offsetof(utcb_t,xfer_timeout));
^~~~~~~~
/home/tyson/Orion/kernel/ibd/_1568332768_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/ibd/_1568332768_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/ibd/_1568332768_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-6 -nostdinc -I/home/tyson/Orion/kernel/ibd/include -I/home/tyson/Orion/kernel/src -I/home/tyson/Orion/kernel/src/generic -I/usr/lib/gcc/x86_64-linux-gnu/6/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/ibd/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:0:
/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 to ‘word_t {aka unsigned int}’ from ‘u64_t {aka long long unsigned int}’ may alter its 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 to ‘word_t {aka unsigned int}’ from ‘u64_t {aka long long unsigned int}’ may alter its value [-Wconversion]
word_t efer = x86_rdmsr(X86_MSR_EFER);
~~~~~~~~~^~~~~~~~~~~~~~
In file included from /home/tyson/Orion/kernel/src/arch/x86/segdesc.h:20:0,
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 to ‘unsigned char:4’ from ‘u64_t {aka long long unsigned int}’ may alter its value [-Wconversion]
x.d.type = type;
^~~~
/home/tyson/Orion/kernel/src/arch/x86/x64/segdesc.h:81:17: warning: conversion to ‘unsigned char:1’ from ‘u64_t {aka long long unsigned int}’ may alter its value [-Wconversion]
x.d.l = mode;
^~~~
/home/tyson/Orion/kernel/src/arch/x86/x64/segdesc.h:82:17: warning: conversion to ‘unsigned char:2’ from ‘u64_t {aka long long unsigned int}’ may alter its 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 to ‘unsigned char’ from ‘u64_t {aka long long unsigned int}’ may alter its value [-Wconversion]
x.d.base_high = (base >> 24) & 0xFF;
~~~~~~~~~~~~~^~~~~~
/home/tyson/Orion/kernel/src/arch/x86/x64/segdesc.h:101:17: warning: conversion to ‘unsigned char:4’ from ‘u64_t {aka long long unsigned int}’ may alter its value [-Wconversion]
x.d.type = type;
^~~~
/home/tyson/Orion/kernel/src/arch/x86/x64/segdesc.h:102:17: warning: conversion to ‘unsigned char:1’ from ‘u64_t {aka long long unsigned int}’ may alter its value [-Wconversion]
x.d.l = mode;
^~~~
/home/tyson/Orion/kernel/src/arch/x86/x64/segdesc.h:103:16: warning: conversion to ‘unsigned char:2’ from ‘u64_t {aka long long unsigned int}’ may alter its 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-6 -nostdinc -I/home/tyson/Orion/kernel/ibd/include -I/home/tyson/Orion/kernel/src -I/home/tyson/Orion/kernel/src/generic -I/usr/lib/gcc/x86_64-linux-gnu/6/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/ibd/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 to ‘u8_t {aka unsigned char}’ from ‘u32_t {aka unsigned int}’ may alter its value [-Wconversion]
apic_id = ((ebx >> 24) & 0xFF);
~~~~~~~~~~~~~^~~~~~~
make[1]: *** No rule to make target '/home/tyson/Orion/kernel/ibd/include/tcb_layout.h', needed by 'tcb_layout.h'. Stop.
make[1]: Leaving directory '/home/tyson/Orion/kernel/ibd'
make: *** [Makefile:38: all] Error 2
For x86, a lot has changed, between the IA32 (NICTA), and x86-32 (L4Ka) versions of utcb.h:
tyson@tyson-Lenovo-ideapad-120S-14IAP:~/Orion/kernel/src/glue$ diff -u v4-x86/utcb.h v4-ia32/utcb.h
--- v4-x86/utcb.h 2019-09-08 02:57:25.824186915 +0100
+++ v4-ia32/utcb.h 2019-09-22 23:39:31.868721591 +0100
@@ -1,8 +1,8 @@
/*********************************************************************
*
- * Copyright (C) 2002-2003, 2006-2007, Karlsruhe University
+ * Copyright (C) 2002-2003, Karlsruhe University
*
- * File path: glue/v4-x86/utcb.h
+ * File path: glue/v4-ia32/utcb.h
* Description: UTCB for IA32
*
* Redistribution and use in source and binary forms, with or without
@@ -26,72 +26,39 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: utcb.h,v 1.15 2006/10/20 16:30:13 reichelt Exp $
+ * $Id: utcb.h,v 1.13 2003/09/24 19:04:36 skoglund Exp $
*
********************************************************************/
-#ifndef __GLUE__V4_X86__UTCB_H__
-#define __GLUE__V4_X86__UTCB_H__
-
-#include INC_API(types.h)
-#include INC_API(thread.h)
-
-#if defined(CONFIG_X86_COMPATIBILITY_MODE)
-namespace x64 {
-#endif
+#ifndef __GLUE__V4_IA32__UTCB_H__
+#define __GLUE__V4_IA32__UTCB_H__
class utcb_t
{
public:
/* do not delete this TCB_START_MARKER */
- word_t compatibility_mode; /* -256 */
- word_t padding0[15]; /* -254 .. -200 */
- word_t br[IPC_NUM_BR]; /* -196 .. -64 */
- threadid_t my_global_id; /* -60 */
- word_t processor_no; /* -56 */
- word_t user_defined_handle; /* -52 */
- threadid_t pager; /* -48 */
- threadid_t exception_handler; /* -44 */
- u8_t preempt_flags; /* -40 */
+ word_t padding0[16]; /* -256 .. -196 */
+ word_t padding1[32]; /* -192 .. -68 */
+ threadid_t my_global_id; /* -64 */
+ word_t notify_mask; /* -60 */
+ word_t notify_bits; /* -56 */
+ acceptor_t acceptor; /* -52 */
+ word_t processor_no; /* -48 */
+ word_t user_defined_handle; /* -44 */
+ threadid_t pager; /* -40 */
+ threadid_t exception_handler; /* -36 */
+ u8_t preempt_flags; /* -32 */
u8_t cop_flags;
- u16_t reserved0[sizeof(word_t)/2-1];
- word_t error_code; /* -36 */
- timeout_t xfer_timeout; /* -32 */
- threadid_t intended_receiver; /* -28 */
- threadid_t virtual_sender; /* -24 */
- word_t reserved1[4]; /* -20 .. -4 */
- word_t word_size_mask; /* - 4 .. 0 */
+ u16_t reserved0;
+ word_t error_code; /* -28 */
+ threadid_t intended_receiver; /* -24 */
+ threadid_t virtual_sender; /* -20 */
+ word_t preempt_callback_ip; /* -16 */
+ word_t preempted_ip; /* -12 */
+ word_t reserved1[2]; /* -8 .. -4 */
word_t mr[IPC_NUM_MR]; /* 0 .. 252 */
-
/* do not delete this TCB_END_MARKER */
+};
-public:
- void set_my_global_id(threadid_t tid);
- word_t get_user_defined_handle();
- void set_user_defined_handle(word_t handle);
- threadid_t get_pager();
- void set_pager(threadid_t tid);
- threadid_t get_exception_handler();
- void set_exception_handler(threadid_t tid);
- u8_t get_preempt_flags();
- void set_preempt_flags(u8_t flags);
- u8_t get_cop_flags();
- word_t get_error_code();
- void set_error_code(word_t err);
- timeout_t get_xfer_timeout();
- threadid_t get_intended_receiver();
- threadid_t get_virtual_sender();
- void set_virtual_sender(threadid_t tid);
-
-} __attribute__((packed));
-
-#include INC_API(generic-utcb.h)
-
-#if defined(CONFIG_X86_COMPATIBILITY_MODE)
-}
-#include INC_GLUE_SA(x32comp/utcb.h)
-#endif
-
-
-#endif /* !__GLUE__V4_X86__UTCB_H__ */
+#endif /* !__GLUE__V4_IA32__UTCB_H__ */
To bring things into focus, it seems that the L4KA version is actually newer, but some functions were added/moved, and a lot of definitions changed, compared to the NICTA version:
tyson@tyson-Lenovo-ideapad-120S-14IAP:~/Orion/kernel/src/glue$ diff -u v4-ia32/utcb.h v4-x86/utcb.h
--- v4-ia32/utcb.h 2019-09-22 23:39:31.868721591 +0100
+++ v4-x86/utcb.h 2019-09-08 02:57:25.824186915 +0100
@@ -1,8 +1,8 @@
/*********************************************************************
*
- * Copyright (C) 2002-2003, Karlsruhe University
+ * Copyright (C) 2002-2003, 2006-2007, Karlsruhe University
*
- * File path: glue/v4-ia32/utcb.h
+ * File path: glue/v4-x86/utcb.h
* Description: UTCB for IA32
*
* Redistribution and use in source and binary forms, with or without
@@ -26,39 +26,72 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: utcb.h,v 1.13 2003/09/24 19:04:36 skoglund Exp $
+ * $Id: utcb.h,v 1.15 2006/10/20 16:30:13 reichelt Exp $
*
********************************************************************/
-#ifndef __GLUE__V4_IA32__UTCB_H__
-#define __GLUE__V4_IA32__UTCB_H__
+#ifndef __GLUE__V4_X86__UTCB_H__
+#define __GLUE__V4_X86__UTCB_H__
+
+#include INC_API(types.h)
+#include INC_API(thread.h)
+
+#if defined(CONFIG_X86_COMPATIBILITY_MODE)
+namespace x64 {
+#endif
class utcb_t
{
public:
/* do not delete this TCB_START_MARKER */
- word_t padding0[16]; /* -256 .. -196 */
- word_t padding1[32]; /* -192 .. -68 */
- threadid_t my_global_id; /* -64 */
- word_t notify_mask; /* -60 */
- word_t notify_bits; /* -56 */
- acceptor_t acceptor; /* -52 */
- word_t processor_no; /* -48 */
- word_t user_defined_handle; /* -44 */
- threadid_t pager; /* -40 */
- threadid_t exception_handler; /* -36 */
- u8_t preempt_flags; /* -32 */
+ word_t compatibility_mode; /* -256 */
+ word_t padding0[15]; /* -254 .. -200 */
+ word_t br[IPC_NUM_BR]; /* -196 .. -64 */
+ threadid_t my_global_id; /* -60 */
+ word_t processor_no; /* -56 */
+ word_t user_defined_handle; /* -52 */
+ threadid_t pager; /* -48 */
+ threadid_t exception_handler; /* -44 */
+ u8_t preempt_flags; /* -40 */
u8_t cop_flags;
- u16_t reserved0;
- word_t error_code; /* -28 */
- threadid_t intended_receiver; /* -24 */
- threadid_t virtual_sender; /* -20 */
- word_t preempt_callback_ip; /* -16 */
- word_t preempted_ip; /* -12 */
- word_t reserved1[2]; /* -8 .. -4 */
+ u16_t reserved0[sizeof(word_t)/2-1];
+ word_t error_code; /* -36 */
+ timeout_t xfer_timeout; /* -32 */
+ threadid_t intended_receiver; /* -28 */
+ threadid_t virtual_sender; /* -24 */
+ word_t reserved1[4]; /* -20 .. -4 */
+ word_t word_size_mask; /* - 4 .. 0 */
word_t mr[IPC_NUM_MR]; /* 0 .. 252 */
+
/* do not delete this TCB_END_MARKER */
-};
-#endif /* !__GLUE__V4_IA32__UTCB_H__ */
+public:
+ void set_my_global_id(threadid_t tid);
+ word_t get_user_defined_handle();
+ void set_user_defined_handle(word_t handle);
+ threadid_t get_pager();
+ void set_pager(threadid_t tid);
+ threadid_t get_exception_handler();
+ void set_exception_handler(threadid_t tid);
+ u8_t get_preempt_flags();
+ void set_preempt_flags(u8_t flags);
+ u8_t get_cop_flags();
+ word_t get_error_code();
+ void set_error_code(word_t err);
+ timeout_t get_xfer_timeout();
+ threadid_t get_intended_receiver();
+ threadid_t get_virtual_sender();
+ void set_virtual_sender(threadid_t tid);
+
+} __attribute__((packed));
+
+#include INC_API(generic-utcb.h)
+
+#if defined(CONFIG_X86_COMPATIBILITY_MODE)
+}
+#include INC_GLUE_SA(x32comp/utcb.h)
+#endif
+
+
+#endif /* !__GLUE__V4_X86__UTCB_H__ */
tyson@tyson-Lenovo-ideapad-120S-14IAP:~/Orion/kernel/src/glue$
With the Enryo kernel, everything builds, but there's now some regressions, with the converged Orion one...
After some weird regressions, and files disappearing, randomly, I've found some workarounds for the syscalls.h
issues, which gets things as far as:
tyson@tyson-Lenovo-ideapad-120S-14IAP:~/Orion/kernel/xtest$ make
make[1]: Entering directory '/home/tyson/Orion/kernel/xtest'
===> src/generic/tracebuffer.cc
cd src/generic/ && gcc -nostdinc -I/home/tyson/Orion/kernel/xtest/include -I/home/tyson/Orion/kernel/src -I/home/tyson/Orion/kernel/src/generic -I/usr/lib/gcc/x86_64-linux-gnu/8/include/ -Uamd64 -Uopteron -Uefi -Uv4 -Urr -D__ARCH__=amd64 -D__CPU__=opteron -D__PLATFORM__=efi -D__API__=v4 -D__SCHED__=rr -imacros /home/tyson/Orion/kernel/xtest/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 -mno-mmx -mno-sse -mno-sse2 -mno-sse3 -fno-pie -no-pie -Wno-narrowing -fno-stack-protector -Wconversion -c /home/tyson/Orion/kernel/src/generic/tracebuffer.cc
In file included from /home/tyson/Orion/kernel/src/api/v4/tcb.h:707,
from /home/tyson/Orion/kernel/src/api/v4/schedule.h:37,
from /home/tyson/Orion/kernel/src/generic/tracebuffer.cc:87:
/home/tyson/Orion/kernel/src/glue/v4-amd64/tcb.h:221:10: fatal error: tcb_layout.h: No such file or directory
#include <tcb_layout.h>
^~~~~~~~~~~~~~
compilation terminated.
make[1]: *** [/home/tyson/Orion/kernel/Mk/Makeconf:209: src/generic/tracebuffer.o] Error 1
make[1]: Leaving directory '/home/tyson/Orion/kernel/xtest'
make: *** [Makefile:7: all] Error 2
I feel a sense of deja-vu, with this:
tyson@tyson-Lenovo-ideapad-120S-14IAP:~/Orion/kernel/xtest$ make tcb_layout.h
make[1]: Entering directory '/home/tyson/Orion/kernel/xtest'
===> Generating include/tcb_layout.h
In file included from /home/tyson/Orion/kernel/src/api/v4/tcb.h:40,
from /home/tyson/Orion/kernel/xtest/_1571879626_123.c:4:
/home/tyson/Orion/kernel/src/api/v4/queueing.h:82:26: error: redefinition of ‘class ringlist_t<T>’
template <class T> class ringlist_t
^~~~~~~~~~
In file included from <command-line>:
/home/tyson/Orion/kernel/src/generic/types.h:148:26: note: previous definition of ‘class ringlist_t<T>’
template <class T> class ringlist_t
^~~~~~~~~~
In file included from /home/tyson/Orion/kernel/src/api/v4/tcb.h:51,
from /home/tyson/Orion/kernel/xtest/_1571879626_123.c:4:
/home/tyson/Orion/kernel/src/glue/v4-amd64/utcb.h:39:28: error: ‘IPC_NUM_BR’ was not declared in this scope
word_t br[IPC_NUM_BR]; /* -384 .. -121 */
^~~~~~~~~~
/home/tyson/Orion/kernel/src/glue/v4-amd64/utcb.h:39:28: note: suggested alternative: ‘IPC_NUM_MR’
word_t br[IPC_NUM_BR]; /* -384 .. -121 */
^~~~~~~~~~
IPC_NUM_MR
/home/tyson/Orion/kernel/src/glue/v4-amd64/utcb.h:49:5: error: ‘timeout_t’ does not name a type
timeout_t xfer_timeout; /* - 64 */
^~~~~~~~~
In file included from /home/tyson/Orion/kernel/xtest/_1571879626_123.c:4:
/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’
return get_utcb()->notify_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’
get_utcb()->notify_mask = mask;
^~~~~~~~~~~
In file included from /home/tyson/Orion/kernel/src/api/v4/syscalls.h:42,
from /home/tyson/Orion/kernel/src/glue/v4-amd64/tcb.h:40,
from /home/tyson/Orion/kernel/src/api/v4/tcb.h:707,
from /home/tyson/Orion/kernel/xtest/_1571879626_123.c:4:
/home/tyson/Orion/kernel/src/api/v4/syscalls.h: At global scope:
/home/tyson/Orion/kernel/src/api/v4/syscalls.h:53:50: error: ‘timeout_t’ has not been declared
SYS_IPC (threadid_t to_tid, threadid_t from_tid, timeout_t timeout);
^~~~~~~~~
/home/tyson/Orion/kernel/src/glue/v4-amd64/syscalls.h:51:25: note: in definition of macro ‘SYS_IPC’
word_t amd64_rcx, timeout)
^~~~~~~
/home/tyson/Orion/kernel/src/glue/v4-amd64/syscalls.h:66:82: error: expected identifier before ‘)’ token
amd64_sysret_t sys_thread_control (dest, space, scheduler, pager, utcb_address)
^
/home/tyson/Orion/kernel/src/api/v4/syscalls.h:80:1: note: in expansion of macro ‘SYS_THREAD_CONTROL’
SYS_THREAD_CONTROL (threadid_t dest_tid, threadid_t space_tid,
^~~~~~~~~~~~~~~~~~
In file included from /home/tyson/Orion/kernel/src/api/v4/tcb.h:707,
from /home/tyson/Orion/kernel/xtest/_1571879626_123.c:4:
/home/tyson/Orion/kernel/src/glue/v4-amd64/tcb.h: In member function ‘void tcb_t::set_cpu(cpuid_t)’:
/home/tyson/Orion/kernel/src/glue/v4-amd64/tcb.h:63:11: error: ‘class tcb_t’ has no member named ‘cpu’
this->cpu = cpu;
^~~
/home/tyson/Orion/kernel/src/glue/v4-amd64/tcb.h: At global scope:
/home/tyson/Orion/kernel/src/glue/v4-amd64/tcb.h:121: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-amd64/tcb.h:121:15: note: no functions named ‘word_t tcb_t::get_br(word_t)’
In file included from /home/tyson/Orion/kernel/xtest/_1571879626_123.c:4:
/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/xtest/_1571879626_123.c:4:
/home/tyson/Orion/kernel/src/glue/v4-amd64/tcb.h:132: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-amd64/tcb.h:132:13: note: no functions named ‘void tcb_t::set_br(word_t, word_t)’
In file included from /home/tyson/Orion/kernel/xtest/_1571879626_123.c:4:
/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/xtest/_1571879626_123.c:4:
/home/tyson/Orion/kernel/src/glue/v4-amd64/tcb.h:142:13: error: no declaration matches ‘void tcb_t::allocate()’
INLINE void tcb_t::allocate()
^~~~~
In file included from /home/tyson/Orion/kernel/xtest/_1571879626_123.c:4:
/home/tyson/Orion/kernel/src/api/v4/tcb.h:216:10: note: candidate is: ‘bool tcb_t::allocate()’
bool allocate();
^~~~~~~~
/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/xtest/_1571879626_123.c:4:
/home/tyson/Orion/kernel/src/glue/v4-amd64/tcb.h: In member function ‘void tcb_t::return_from_ipc()’:
/home/tyson/Orion/kernel/src/glue/v4-amd64/tcb.h:185:39: error: ‘get_local_id’ was not declared in this scope
register word_t utcb asm("r12") = get_local_id ().get_raw ();
^~~~~~~~~~~~
/home/tyson/Orion/kernel/src/glue/v4-amd64/tcb.h:185:39: note: suggested alternative: ‘get_global_id’
register word_t utcb asm("r12") = get_local_id ().get_raw ();
^~~~~~~~~~~~
get_global_id
/home/tyson/Orion/kernel/src/glue/v4-amd64/tcb.h: At global scope:
/home/tyson/Orion/kernel/src/glue/v4-amd64/tcb.h:495:33: error: ‘timeout_t’ has not been declared
timeout_t timeout)
^~~~~~~~~
/home/tyson/Orion/kernel/src/glue/v4-amd64/tcb.h:494: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 /home/tyson/Orion/kernel/xtest/_1571879626_123.c:4:
/home/tyson/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);
^~~~~~
/home/tyson/Orion/kernel/src/api/v4/tcb.h:60:7: note: ‘class tcb_t’ defined here
class tcb_t
^~~~~
/home/tyson/Orion/kernel/xtest/_1571879626_123.c: In function ‘void make_offsets()’:
/home/tyson/Orion/kernel/xtest/_1571879626_123.c:54:11: error: ‘class utcb_t’ has no member named ‘br’; did you mean ‘mr’?
O(utcb,br),
^~
/home/tyson/Orion/kernel/xtest/_1571879626_123.c:14:35: note: in definition of macro ‘O’
#define O(w,x) (u32_t)((char*) &w.x - (char*)(&w))
^
/home/tyson/Orion/kernel/xtest/_1571879626_123.c:64:11: error: ‘class utcb_t’ has no member named ‘xfer_timeout’
O(utcb,xfer_timeout),
^~~~~~~~~~~~
/home/tyson/Orion/kernel/xtest/_1571879626_123.c:14:35: note: in definition of macro ‘O’
#define O(w,x) (u32_t)((char*) &w.x - (char*)(&w))
^
make[1]: *** [/home/tyson/Orion/kernel/Mk/Makefile.voodoo:55: /home/tyson/Orion/kernel/xtest/include/tcb_layout.h] Error 255
make[1]: Leaving directory '/home/tyson/Orion/kernel/xtest'
make: *** [Makefile:7: tcb_layout.h] Error 2
tyson@tyson-Lenovo-ideapad-120S-14IAP:~/Orion/kernel/xtest$
Indeed, the IPC_NUM_BR
issue is common to issue #3, #5, and #15, so I should really see how the Enryo version differs, since that actually builds, somehow.
With last night's modifications, to add support for building on RedHat/Fedora, we get a little further, however there are problems with ipc.h missing (unsure if I can recycle the PPC32 version, for PPC64), and if I substitute with a dummy file, we get problems with the macros that generate various header files: