Closed vmlemon closed 5 years ago
Mirrored the Pistachio 1.1 archive to https://github.com/vmlemon/NICTA-Pistachio-Devel-1.1-Version-0.
Not sure if it's perfectly synchronised with master, but I've imported the Pistachio 1.1 files, into a directory at https://github.com/vmlemon/Orion/tree/NICTA_Pistachio_Mainline_FCL.
None of this code has been touched, and it's unknown as to how much, if any can be reused in Orion, given the differing development ages of both forks of Pistachio, although we could try building it, if we had a SCONS implementation (although NICTA say that their release isn't supposed to be usable, outside of Iguana).
Looking at the low-hanging fruit, in the NICTA package:
[root@fedora28 pistachio--devel--1.1--version-0]# diff AUTHORS ../AUTHORS
[root@fedora28 pistachio--devel--1.1--version-0]# md5sum AUTHORS ../AUTHORS
4989f78f92d05d1833e3c45064f476f3 AUTHORS
4989f78f92d05d1833e3c45064f476f3 ../AUTHORS
[root@fedora28 pistachio--devel--1.1--version-0]#
We can dispose of the redundant copy of AUTHORS, since they're identical.
We don't have SConstruct
or package.cfg
(both of which aren't probably relevant, or useful, unless we wanted to support SCONS, in Orion), so I've moved their files, into our repository.
Their package had some documentation, that we didn't, which could be useful, for historical purposes, so I merged it into our repository:
[root@fedora28 pistachio--devel--1.1--version-0]# ls doc
historical refman.pdf userman.pdf
[root@fedora28 pistachio--devel--1.1--version-0]# ls ../doc
misc notes sourcedoc whitepaper
Pushed those into the branch, so we have a delta of:
[root@fedora28 pistachio--devel--1.1--version-0]# ls
contrib kernel tools
[root@fedora28 pistachio--devel--1.1--version-0]# ls ..
AUTHORS doc ned14-nedmalloc-c327716 pistachio--devel--1.1--version-0 SConstruct user
contrib kernel package.cfg README tools util_libs
They have more/different tools, to us:
[root@fedora28 pistachio--devel--1.1--version-0]# ls tools
addlicense create_autobuild makel4kadist mkstub.pl public-diff revertcvsid
autobuild dot.emacs mkdirhier prerelease.license pushl4hq stripcpp
bsd.license linker-script.el mkpubliccvs profiler renamestuff stripnodiff
[root@fedora28 pistachio--devel--1.1--version-0]# ls ../tools
autobuild create_autobuild linker-script.el mkstub.pl stripcpp
auto-header.el dot.emacs mkdirhier renamestuff
Moved across the profiler, since we don't have one, so the tools delta is now:
[root@fedora28 pistachio--devel--1.1--version-0]# ls -la tools ../tools
../tools:
total 96
drwxr-xr-x. 3 root root 4096 Sep 7 14:48 .
drwxr-xr-x. 11 root root 4096 Sep 7 14:38 ..
-rwxr-xr-x. 1 root root 4189 Sep 4 01:18 autobuild
-rw-r--r--. 1 root root 40987 Sep 4 01:18 auto-header.el
-rwxr-xr-x. 1 root root 791 Sep 4 01:18 create_autobuild
-rw-r--r--. 1 root root 3043 Sep 4 01:18 dot.emacs
-rw-r--r--. 1 root root 1925 Sep 4 01:18 linker-script.el
-rwxr-xr-x. 1 root root 717 Sep 4 01:18 mkdirhier
-rw-r--r--. 1 root root 3334 Sep 4 01:18 mkstub.pl
drwxr-xr-x. 2 root root 4096 Sep 7 14:20 profiler
-rwxr-xr-x. 1 root root 2986 Sep 4 01:18 renamestuff
-rwxr-xr-x. 1 root root 5349 Sep 4 01:18 stripcpp
tools:
total 84
drwxr-xr-x. 2 root root 4096 Sep 7 14:48 .
drwxr-xr-x. 5 root root 4096 Sep 7 14:43 ..
-rwxr-xr-x. 1 root root 1472 Sep 7 14:20 addlicense
-rwxr-xr-x. 1 root root 2479 Sep 7 14:20 autobuild
-rw-r--r--. 1 root root 1226 Sep 7 14:20 bsd.license
-rwxr-xr-x. 1 root root 791 Sep 7 14:20 create_autobuild
-rw-r--r--. 1 root root 3043 Sep 7 14:20 dot.emacs
-rw-r--r--. 1 root root 1925 Sep 7 14:20 linker-script.el
-rwxr-xr-x. 1 root root 1108 Sep 7 14:20 makel4kadist
-rwxr-xr-x. 1 root root 716 Sep 7 14:20 mkdirhier
-rwxr-xr-x. 1 root root 7179 Sep 7 14:20 mkpubliccvs
-rw-r--r--. 1 root root 3334 Sep 7 14:20 mkstub.pl
-rw-r--r--. 1 root root 3914 Sep 7 14:20 prerelease.license
-rwxr-xr-x. 1 root root 120 Sep 7 14:20 public-diff
-rwxr-xr-x. 1 root root 444 Sep 7 14:20 pushl4hq
-rwxr-xr-x. 1 root root 2986 Sep 7 14:20 renamestuff
-rwxr-xr-x. 1 root root 684 Sep 7 14:20 revertcvsid
-rwxr-xr-x. 1 root root 5349 Sep 7 14:20 stripcpp
-rwxr-xr-x. 1 root root 804 Sep 7 14:20 stripnodiff
stripcpp
is identical, in both:
[root@fedora28 pistachio--devel--1.1--version-0]# md5sum tools/stripcpp
3dc2cffcaf203183632522c44be0420b tools/stripcpp
[root@fedora28 pistachio--devel--1.1--version-0]# md5sum ../tools/stripcpp
3dc2cffcaf203183632522c44be0420b ../tools/stripcpp
So, we remove their copy.
renamestuff
is the same deal:
[root@fedora28 tools]# md5sum ../../tools/renamestuff renamestuff
f11c7b5ef86b91f85ed35a05a625790b ../../tools/renamestuff
f11c7b5ef86b91f85ed35a05a625790b renamestuff
create_autobuild
is the same song:
[root@fedora28 tools]# md5sum create_autobuild ../../tools/create_autobuild
e8513967450550c7f19275910cc84cb0 create_autobuild
e8513967450550c7f19275910cc84cb0 ../../tools/create_autobuild
Pull across revertcvsid
, the license files, pushl4hq``,
mkpubliccvs,
addlicense,
makel4kadist, and
public-diff```.
Their dot.emacs
matches our version, so bin their one:
[root@fedora28 tools]# md5sum dot.emacs
252de5d54643dc0ac1e299b8dc9e8e3b dot.emacs
[root@fedora28 tools]# md5sum ../../dot.emacs
md5sum: ../../dot.emacs: No such file or directory
[root@fedora28 tools]# md5sum ../../tools/dot.emacs
252de5d54643dc0ac1e299b8dc9e8e3b ../../tools/dot.emacs
Their linker-script.el
is identical:
[root@fedora28 tools]# md5sum linker-script.el
d7f78f778c56fa7a8f06e977c41d0260 linker-script.el
[root@fedora28 tools]# md5sum ../../tools/linker-script.el
d7f78f778c56fa7a8f06e977c41d0260 ../../tools/linker-script.el
Their mkstub.pl
is identical:
[root@fedora28 tools]# md5sum mkstub.pl
08a8535a31db61dc8483903d14775e44 mkstub.pl
[root@fedora28 tools]# md5sum ../../tools/mkstub.pl
08a8535a31db61dc8483903d14775e44 ../../tools/mkstub.pl
Their ``mkdirhier``` is different, why?
2f5e0d0dbea38c936a3642c449575c26 mkdirhier
[root@fedora28 tools]# md5sum ../../tools/mkdirhier
b23b1db80f0554a721b86b16a26b2867 ../../tools/mkdirhier
Looking at the NICTA version of mkdirhier, it looks like they fixed a bug (failure to create parent directories, with a one-line patch):
[root@fedora28 tools]# diff mkdirhier ../../tools/mkdirhier
11c11
< ## $Id: mkdirhier,v 1.1 2001/11/27 15:52:35 skoglund Exp $
---
> ## $Id: mkdirhier,v 1.2 2007/06/11 12:48:24 stoess Exp $
32c32
< mkdir "$path" || err=$?
---
> mkdir -p "$path" || err=$?
Since it makes logical sense, and it doesn't knowingly-break things, I've upstreamed it into Orion. What a difference 6 years makes!
Moved over their stripnodiff
, since we don't have one, and finally, we can look at their changes to autobuild
, which are in a pretty substantial patch:
[root@fedora28 tools]# diff autobuild ../../tools/auto
diff: ../../tools/auto: No such file or directory
[root@fedora28 tools]# diff autobuild ../../tools/autobuild
13c13,14
< BUILDDIR=${BUILDDIR:-$TOPDIR/build/$CONFIGURATION}
---
> BUILDDIR=$TOPDIR/build/$CONFIGURATION
>
36a38,43
> # FIMXE: Test output
> cd $BUILDDIR/user
> if ! make $QUIET 2>&1 ; then
> echo "User compile failed"
> return $LINENO
> fi
42a50,69
> # First we see if this is a freshly checked out L4 copy
> # and prompt the user to create user/configure
> if [ ! -e $TOPDIR/user/configure ]; then
> if [[ -e $AUTOHEADER && -e $AUTOCONF ]]; then
> # User has specified versions to use; try them.
> echo Running autoheader and autoconf.
> cd user
> $AUTOHEADER
> $AUTOCONF
> cd ..
> else
> echo "$TOPDIR/user/configure doesn't exist"; echo
> cat user/README.HG
> echo; echo "You have:"; echo
> autoheader --version | head -1
> autoconf --version | head -1
> return $LINENO
> fi;
> fi;
>
46c73
< # Setup kernel directories
---
> # Setup user and kernel directories
49a77,78
> mkdir $BUILDDIR/user
>
59a89,119
>
> # Configure and compile user land
> cd $BUILDDIR/user;
> TARGET_ARCH=`grep "^ARCH" $BUILDDIR/kernel/Makeconf.local | sed "s/^[A-Z]*\=//"`
> if [ $TARGET_ARCH == "x86" ]; then
> TARGET_SUBARCH=`grep "^SUBARCH" $BUILDDIR/kernel/Makeconf.local | sed "s/^[A-Z]*\=//"`
> echo $TARGET_SUBARCH
> case $TARGET_SUBARCH in
> x32)
> TARGET_ARCH="ia32"
> ;;
> x64)
> TARGET_ARCH="amd64"
> ;;
> esac
> fi
> TARGET_PLATFORM=`grep "^PLATFORM" $BUILDDIR/kernel/Makeconf.local | sed "s/^[A-Z]*\=//"`
> TARGET=$TARGET_ARCH-$TARGET_PLATFORM
> # This is an evil hack to avoid using a cross-compiler when
> # building x86 on x86.
> HOST=`uname -m 2>/dev/null`
> case $HOST in
> ia32|x86|i386*|i486*|i586*|i686*)
> if [ $TARGET_ARCH == "ia32" ]; then TARGET=""; fi
> ;;
> esac
> $TOPDIR/user/configure --with-kerneldir=$BUILDDIR/kernel --host=$TARGET
> if ! make $QUIET 2>&1 ; then
> echo "User compile failed"
> return $LINENO
> fi
93c153
< rm $TMPFILE;
---
> rm $TMPFILE
95,96c155,156
< cat $TMPFILE;
< rm $TMPFILE;
---
> cat $TMPFILE
> mv $TMPFILE $TOPDIR/build/$i/autobuild-log
[root@fedora28 tools]#
Going to just move this over, as nicta-autobuild
, since I haven't tested either version, and they apparently haven't, either...
The only directories left to contend with, are now contrib, and kernel.
Ported the master kernel Makefile - mostly just included some extra dependency-tracking logging, that could be useful to us, and pulled over the Alpha/SPARC64/Itanium MakeFile templates, as well as the SPARC/OF platform enablers.
Moved over the sample configs for Miata, PLEB/2, Tsunami, U4600, i2, IA32, LN2410SBC, SiByte, OpenFirmware/G5, PSIM, SA1100
After doing all of this, so far, the PPC64 port still gets to:
make[1]: Entering directory '/root/Orion/kernel/rpb8'
===> Building dependencies
===> src/glue/v4-powerpc64/asmsyms.cc
cd src/glue/v4-powerpc64/ && gcc -nostdinc -I/root/Orion/kernel/rpb8/include -I/root/Orion/kernel/src -I/root/Orion/kernel/src/generic -I/usr/lib/gcc/ppc64-redhat-linux/8/include/ -Upowerpc64 -Upower4 -Uofpower4 -Uv4 -Urr -D__ARCH__=powerpc64 -D__CPU__=power4 -D__PLATFORM__=ofpower4 -D__API__=v4 -D__SCHED__=rr -imacros /root/Orion/kernel/rpb8/config/config.h -imacros /root/Orion/kernel/src/generic/macros.h -include /root/Orion/kernel/src/generic/config.h -include /root/Orion/kernel/src/generic/types.h -fno-rtti -fno-builtin -fomit-frame-pointer -fno-exceptions -Wall -Wno-non-virtual-dtor -Wno-format -O2 -mpowerpc64 -msoft-float -mno-minimal-toc -mcpu=power4 -Wconversion -c /root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc
In file included from /root/Orion/kernel/src/api/v4/tcb.h:39,
from /root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:37:
/root/Orion/kernel/src/api/v4/types.h: In static member function ‘static time_t time_t::period(u16_t, u16_t)’:
/root/Orion/kernel/src/api/v4/types.h:70:22: warning: conversion from ‘u16_t’ {aka ‘short unsigned int’} to ‘short unsigned int:10’ may change value [-Wconversion]
ret.time.mantissa = mantissa;
^~~~~~~~
/root/Orion/kernel/src/api/v4/types.h:71:22: warning: conversion from ‘u16_t’ {aka ‘short unsigned int’} to ‘unsigned char:5’ may change value [-Wconversion]
ret.time.exponent = exponent;
^~~~~~~~
/root/Orion/kernel/src/api/v4/types.h: In static member function ‘static time_t time_t::point(u16_t, u16_t)’:
/root/Orion/kernel/src/api/v4/types.h:79:22: warning: conversion from ‘u16_t’ {aka ‘short unsigned int’} to ‘short unsigned int:10’ may change value [-Wconversion]
ret.time.mantissa = mantissa;
^~~~~~~~
/root/Orion/kernel/src/api/v4/types.h:80:22: warning: conversion from ‘u16_t’ {aka ‘short unsigned int’} to ‘unsigned char:5’ may change value [-Wconversion]
ret.time.exponent = exponent;
^~~~~~~~
In file included from /root/Orion/kernel/src/glue/v4-powerpc64/space.h:39,
from /root/Orion/kernel/src/api/v4/space.h:36,
from /root/Orion/kernel/src/api/v4/tcb.h:43,
from /root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:37:
/root/Orion/kernel/src/arch/powerpc64/pghash.h: In member function ‘void ppc64_sdr1_t::create(word_t, word_t)’:
/root/Orion/kernel/src/arch/powerpc64/pghash.h:223:28: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘long unsigned int:46’ may change value [-Wconversion]
this->x.htaborg = base >> POWERPC64_HTABORG_SHIFT;
^
/root/Orion/kernel/src/arch/powerpc64/pghash.h:224:24: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:5’ may change value [-Wconversion]
this->x.htabsize = size;
^~~~
/root/Orion/kernel/src/arch/powerpc64/pghash.h: In member function ‘void ppc64_pte_t::create_4k(word_t, word_t, word_t, word_t)’:
/root/Orion/kernel/src/arch/powerpc64/pghash.h:249:20: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘long unsigned int:52’ may change value [-Wconversion]
this->x.vsid = vsid;
^~~~
/root/Orion/kernel/src/arch/powerpc64/pghash.h:250:30: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:5’ may change value [-Wconversion]
this->x.api = virt_to_api( virt );
~~~~~~~~~~~^~~~~~~~
/root/Orion/kernel/src/arch/powerpc64/pghash.h:251:17: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:1’ may change value [-Wconversion]
this->x.h = second;
^~~~~~
/root/Orion/kernel/src/arch/powerpc64/pghash.h: In member function ‘void ppc64_pte_t::create(word_t, word_t, word_t, word_t, word_t)’:
/root/Orion/kernel/src/arch/powerpc64/pghash.h:262:20: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘long unsigned int:52’ may change value [-Wconversion]
this->x.vsid = vsid;
^~~~
/root/Orion/kernel/src/arch/powerpc64/pghash.h:265:36: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:5’ may change value [-Wconversion]
this->x.api = virt_to_api( virt ) & (~(1ul));
~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
/root/Orion/kernel/src/arch/powerpc64/pghash.h:267:27: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:5’ may change value [-Wconversion]
this->x.api = virt_to_api( virt );
~~~~~~~~~~~^~~~~~~~
/root/Orion/kernel/src/arch/powerpc64/pghash.h:269:17: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:1’ may change value [-Wconversion]
this->x.l = large;
^~~~~
/root/Orion/kernel/src/arch/powerpc64/pghash.h:270:17: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:1’ may change value [-Wconversion]
this->x.h = second;
^~~~~~
/root/Orion/kernel/src/arch/powerpc64/pghash.h: In member function ‘void ppc64_pte_t::create(word_t, word_t, word_t, word_t, word_t, word_t)’:
/root/Orion/kernel/src/arch/powerpc64/pghash.h:281:20: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘long unsigned int:52’ may change value [-Wconversion]
this->x.vsid = vsid;
^~~~
/root/Orion/kernel/src/arch/powerpc64/pghash.h:284:36: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:5’ may change value [-Wconversion]
this->x.api = virt_to_api( virt ) & (~(1ul));
~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
/root/Orion/kernel/src/arch/powerpc64/pghash.h:286:27: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:5’ may change value [-Wconversion]
this->x.api = virt_to_api( virt );
~~~~~~~~~~~^~~~~~~~
/root/Orion/kernel/src/arch/powerpc64/pghash.h:288:22: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:1’ may change value [-Wconversion]
this->x.bolted = bolted;
^~~~~~
/root/Orion/kernel/src/arch/powerpc64/pghash.h:289:17: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:1’ may change value [-Wconversion]
this->x.l = large;
^~~~~
/root/Orion/kernel/src/arch/powerpc64/pghash.h:290:17: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:1’ may change value [-Wconversion]
this->x.h = second;
^~~~~~
In file included from /root/Orion/kernel/src/glue/v4-powerpc64/space.h:41,
from /root/Orion/kernel/src/api/v4/space.h:36,
from /root/Orion/kernel/src/api/v4/tcb.h:43,
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:81:40: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘long unsigned int:54’ may change value [-Wconversion]
mem.x.base = (base & (~0UL << size)) >> 10;
~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
/root/Orion/kernel/src/api/v4/fpage.h:82:16: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:6’ may change value [-Wconversion]
mem.x.size = size;
^~~~
In file included from /root/Orion/kernel/src/api/v4/kernelinterface.h:49,
from /root/Orion/kernel/src/api/v4/thread.h:36,
from /root/Orion/kernel/src/glue/v4-powerpc64/space.h:42,
from /root/Orion/kernel/src/api/v4/space.h:36,
from /root/Orion/kernel/src/api/v4/tcb.h:43,
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:120: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:121: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:123: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:124: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:36,
from /root/Orion/kernel/src/glue/v4-powerpc64/space.h:42,
from /root/Orion/kernel/src/api/v4/space.h:36,
from /root/Orion/kernel/src/api/v4/tcb.h:43,
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:173: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:174: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/glue/v4-powerpc64/space.h:42,
from /root/Orion/kernel/src/api/v4/space.h:36,
from /root/Orion/kernel/src/api/v4/tcb.h:43,
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::anylocalthread()’:
/root/Orion/kernel/src/api/v4/thread.h:58:32: warning: conversion from ‘long unsigned int’ to ‘unsigned char:6’ may change value [-Wconversion]
tid.local.zero = tid.local.id = 0;
~~~~~~~~~~~~~^~~
/root/Orion/kernel/src/api/v4/thread.h:59:15: warning: conversion from ‘long unsigned int’ to ‘long unsigned int:58’ may change value [-Wconversion]
tid.local.id -= 1;
~~~~~~~~~~~~~^~~~
/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:74:24: 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:88:23: 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:89:24: 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:144: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:145: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/glue/v4-powerpc64/space.h:54,
from /root/Orion/kernel/src/api/v4/space.h:36,
from /root/Orion/kernel/src/api/v4/tcb.h:43,
from /root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:37:
/root/Orion/kernel/src/generic/mdb.h: In constructor ‘mdb_t::range_t::range_t(addr_t, word_t)’:
/root/Orion/kernel/src/generic/mdb.h:119:24: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘long unsigned int:57’ may change value [-Wconversion]
idx = (word_t) b >> s;
~~~~~~~~~~~^~~~
/root/Orion/kernel/src/generic/mdb.h:120:14: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:6’ may change value [-Wconversion]
size = s;
^
/root/Orion/kernel/src/generic/mdb.h: In member function ‘void mdb_node_t::set_next(mdb_node_t*)’:
/root/Orion/kernel/src/generic/mdb.h:549:22: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘long unsigned int:63’ may change value [-Wconversion]
next = ((word_t) n) >> 1;
~~~~~~~~~~~~~^~~~
/root/Orion/kernel/src/generic/mdb.h: In member function ‘void mdb_node_t::set_table(mdb_table_t*)’:
/root/Orion/kernel/src/generic/mdb.h:562:25: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘long unsigned int:63’ may change value [-Wconversion]
next = ((word_t) t) >> 1;
~~~~~~~~~~~~~^~~~
/root/Orion/kernel/src/generic/mdb.h: In member function ‘void mdb_node_t::remove_table()’:
/root/Orion/kernel/src/generic/mdb.h:571:49: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘long unsigned int:63’ may change value [-Wconversion]
next = ((word_t) get_table ()->get_node ()) >> 1;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
/root/Orion/kernel/src/generic/mdb.h: In member function ‘void mdb_node_t::set_depth(word_t)’:
/root/Orion/kernel/src/generic/mdb.h:581:13: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘long unsigned int:50’ may change value [-Wconversion]
depth = d;
^
/root/Orion/kernel/src/generic/mdb.h: In member function ‘void mdb_node_t::set_objsize(word_t)’:
/root/Orion/kernel/src/generic/mdb.h:599:16: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:6’ may change value [-Wconversion]
obj_size = s;
^
/root/Orion/kernel/src/generic/mdb.h: In member function ‘void mdb_node_t::set_inrights(word_t)’:
/root/Orion/kernel/src/generic/mdb.h:617:17: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:4’ may change value [-Wconversion]
in_rights = r;
^
/root/Orion/kernel/src/generic/mdb.h: In member function ‘void mdb_node_t::set_outrights(word_t)’:
/root/Orion/kernel/src/generic/mdb.h:626:18: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:4’ may change value [-Wconversion]
out_rights = r;
^
/root/Orion/kernel/src/generic/mdb.h: In member function ‘void mdb_tableent_t::set_table(mdb_table_t*)’:
/root/Orion/kernel/src/generic/mdb.h:692:24: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘long unsigned int:63’ may change value [-Wconversion]
ptr = ((word_t) t) >> 1;
~~~~~~~~~~~~~^~~~
/root/Orion/kernel/src/generic/mdb.h: In member function ‘void mdb_tableent_t::set_node(mdb_node_t*)’:
/root/Orion/kernel/src/generic/mdb.h:705:21: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘long unsigned int:63’ may change value [-Wconversion]
ptr = ((word_t) n) >> 1;
~~~~~~~~~~~~~^~~~
/root/Orion/kernel/src/generic/mdb.h: In member function ‘void mdb_table_t::remove_table(word_t)’:
/root/Orion/kernel/src/generic/mdb.h:838:27: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘long unsigned int:63’ may change value [-Wconversion]
e->ptr = ((word_t) n) >> 1;
~~~~~~~~~~~~~^~~~
/root/Orion/kernel/src/generic/mdb.h: In member function ‘void mdb_table_t::set_objsize(word_t)’:
/root/Orion/kernel/src/generic/mdb.h:901:15: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:6’ may change value [-Wconversion]
objsize = s;
^
In file included from /root/Orion/kernel/src/api/v4/space.h:36,
from /root/Orion/kernel/src/api/v4/tcb.h:43,
from /root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:37:
/root/Orion/kernel/src/glue/v4-powerpc64/space.h: At global scope:
/root/Orion/kernel/src/glue/v4-powerpc64/space.h:125:12: error: extra qualification ‘space_t::’ on member ‘space_control’ [-fpermissive]
word_t space_t::space_control (word_t ctrl, fpage_t kip_area, fpage_t utcb_area, threadid_t redirector_tid) { return 0; }
^~~~~~~
/root/Orion/kernel/src/glue/v4-powerpc64/space.h:179:10: error: extra qualification ‘space_t::’ on member ‘add_mapping’ [-fpermissive]
void space_t::add_mapping( addr_t vaddr, addr_t paddr,
^~~~~~~
/root/Orion/kernel/src/glue/v4-powerpc64/space.h:334:13: error: no declaration matches ‘void space_t::add_tcb(tcb_t*, cpuid_t)’
INLINE void space_t::add_tcb(tcb_t * tcb, cpuid_t cpu)
^~~~~~~
/root/Orion/kernel/src/glue/v4-powerpc64/space.h:310:13: note: candidate is: ‘void space_t::add_tcb(tcb_t*)’
inline void space_t::add_tcb(tcb_t * tcb)
^~~~~~~
/root/Orion/kernel/src/glue/v4-powerpc64/space.h:67:7: note: ‘class space_t’ defined here
class space_t
^~~~~~~
/root/Orion/kernel/src/glue/v4-powerpc64/space.h:344:13: error: no declaration matches ‘bool space_t::remove_tcb(tcb_t*, cpuid_t)’
INLINE bool space_t::remove_tcb(tcb_t * tcb, cpuid_t cpu)
^~~~~~~
/root/Orion/kernel/src/glue/v4-powerpc64/space.h:320:13: note: candidate is: ‘bool space_t::remove_tcb(tcb_t*)’
inline bool space_t::remove_tcb(tcb_t * tcb)
^~~~~~~
/root/Orion/kernel/src/glue/v4-powerpc64/space.h:67:7: note: ‘class space_t’ defined here
class space_t
^~~~~~~
In file included from /root/Orion/kernel/src/api/v4/tcb.h:48,
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)’:
/root/Orion/kernel/src/api/v4/ipc.h:89:22: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:6’ may change value [-Wconversion]
this->x.typed = typed;
^~~~~
/root/Orion/kernel/src/api/v4/ipc.h:90:24: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:6’ may change value [-Wconversion]
this->x.untyped = untyped;
^~~~~~~
/root/Orion/kernel/src/api/v4/ipc.h:91:22: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘long unsigned int:48’ may change value [-Wconversion]
this->x.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:258: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:34:
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc: At global scope:
/root/Orion/kernel/src/generic/mkasmsym.h:40:55: error: array bound is not an integer constant before ‘]’ token
struct sym ##_sign_t { char x[32*((value) < 0 ? 1 : 2)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:50:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MR, (((word_t) &UTCB->mr[0]) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:42:65: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b0_t { char x[32*((__ABSVALUE(value) >> 0) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:50:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MR, (((word_t) &UTCB->mr[0]) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:44:65: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b1_t { char x[32*((__ABSVALUE(value) >> 8) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:50:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MR, (((word_t) &UTCB->mr[0]) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:46:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b2_t { char x[32*((__ABSVALUE(value) >> 16) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:50:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MR, (((word_t) &UTCB->mr[0]) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:48:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b3_t { char x[32*((__ABSVALUE(value) >> 24) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:50:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MR, (((word_t) &UTCB->mr[0]) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:50:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b4_t { char x[32*((__ABSVALUE(value) >> 32) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:50:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MR, (((word_t) &UTCB->mr[0]) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:52:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b5_t { char x[32*((__ABSVALUE(value) >> 40) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:50:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MR, (((word_t) &UTCB->mr[0]) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:54:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b6_t { char x[32*((__ABSVALUE(value) >> 48) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:50:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MR, (((word_t) &UTCB->mr[0]) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:56:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b7_t { char x[32*((__ABSVALUE(value) >> 56) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:50:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MR, (((word_t) &UTCB->mr[0]) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:40:55: error: array bound is not an integer constant before ‘]’ token
struct sym ##_sign_t { char x[32*((value) < 0 ? 1 : 2)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:51:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_EXCEPTION_HANDLER, (((word_t) &UTCB->exception_handler) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:42:65: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b0_t { char x[32*((__ABSVALUE(value) >> 0) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:51:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_EXCEPTION_HANDLER, (((word_t) &UTCB->exception_handler) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:44:65: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b1_t { char x[32*((__ABSVALUE(value) >> 8) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:51:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_EXCEPTION_HANDLER, (((word_t) &UTCB->exception_handler) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:46:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b2_t { char x[32*((__ABSVALUE(value) >> 16) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:51:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_EXCEPTION_HANDLER, (((word_t) &UTCB->exception_handler) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:48:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b3_t { char x[32*((__ABSVALUE(value) >> 24) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:51:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_EXCEPTION_HANDLER, (((word_t) &UTCB->exception_handler) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:50:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b4_t { char x[32*((__ABSVALUE(value) >> 32) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:51:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_EXCEPTION_HANDLER, (((word_t) &UTCB->exception_handler) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:52:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b5_t { char x[32*((__ABSVALUE(value) >> 40) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:51:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_EXCEPTION_HANDLER, (((word_t) &UTCB->exception_handler) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:54:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b6_t { char x[32*((__ABSVALUE(value) >> 48) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:51:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_EXCEPTION_HANDLER, (((word_t) &UTCB->exception_handler) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:56:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b7_t { char x[32*((__ABSVALUE(value) >> 56) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:51:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_EXCEPTION_HANDLER, (((word_t) &UTCB->exception_handler) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:40:55: error: array bound is not an integer constant before ‘]’ token
struct sym ##_sign_t { char x[32*((value) < 0 ? 1 : 2)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:52:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MY_GLOBAL_ID, (((word_t) &UTCB->my_global_id) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:42:65: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b0_t { char x[32*((__ABSVALUE(value) >> 0) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:52:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MY_GLOBAL_ID, (((word_t) &UTCB->my_global_id) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:44:65: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b1_t { char x[32*((__ABSVALUE(value) >> 8) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:52:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MY_GLOBAL_ID, (((word_t) &UTCB->my_global_id) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:46:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b2_t { char x[32*((__ABSVALUE(value) >> 16) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:52:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MY_GLOBAL_ID, (((word_t) &UTCB->my_global_id) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:48:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b3_t { char x[32*((__ABSVALUE(value) >> 24) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:52:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MY_GLOBAL_ID, (((word_t) &UTCB->my_global_id) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:50:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b4_t { char x[32*((__ABSVALUE(value) >> 32) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:52:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MY_GLOBAL_ID, (((word_t) &UTCB->my_global_id) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:52:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b5_t { char x[32*((__ABSVALUE(value) >> 40) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:52:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MY_GLOBAL_ID, (((word_t) &UTCB->my_global_id) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:54:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b6_t { char x[32*((__ABSVALUE(value) >> 48) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:52:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MY_GLOBAL_ID, (((word_t) &UTCB->my_global_id) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:56:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b7_t { char x[32*((__ABSVALUE(value) >> 56) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:52:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MY_GLOBAL_ID, (((word_t) &UTCB->my_global_id) - ((word_t) UTCB)));
^~~~~~~~
In file included from /root/Orion/kernel/src/glue/v4-powerpc64/space.h:44,
from /root/Orion/kernel/src/api/v4/space.h:36,
from /root/Orion/kernel/src/api/v4/tcb.h:43,
from /root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:37:
/root/Orion/kernel/src/glue/v4-powerpc64/pgent.h:196:22: warning: inline function ‘pgent_t* pgent_t::next(space_t*, pgent_t::pgsize_e, word_t)’ used but never defined
inline pgent_t * next( space_t * s, pgsize_e pgsize, word_t num );
^~~~
===> src/generic/lib.cc
cd src/generic/ && gcc -nostdinc -I/root/Orion/kernel/rpb8/include -I/root/Orion/kernel/src -I/root/Orion/kernel/src/generic -I/usr/lib/gcc/ppc64-redhat-linux/8/include/ -Upowerpc64 -Upower4 -Uofpower4 -Uv4 -Urr -D__ARCH__=powerpc64 -D__CPU__=power4 -D__PLATFORM__=ofpower4 -D__API__=v4 -D__SCHED__=rr -imacros /root/Orion/kernel/rpb8/config/config.h -imacros /root/Orion/kernel/src/generic/macros.h -include /root/Orion/kernel/src/generic/config.h -include /root/Orion/kernel/src/generic/types.h -fno-rtti -fno-builtin -fomit-frame-pointer -fno-exceptions -Wall -Wno-non-virtual-dtor -Wno-format -O2 -mpowerpc64 -msoft-float -mno-minimal-toc -mcpu=power4 -Wconversion -c /root/Orion/kernel/src/generic/lib.cc
/root/Orion/kernel/src/generic/lib.cc: In function ‘void* memset(void*, unsigned int, unsigned int)’:
/root/Orion/kernel/src/generic/lib.cc:55:9: warning: conversion from ‘unsigned int’ to ‘u8_t’ {aka ‘unsigned char’} may change value [-Wconversion]
*s++ = c;
^
===> src/generic/kmemory.cc
cd src/generic/ && gcc -nostdinc -I/root/Orion/kernel/rpb8/include -I/root/Orion/kernel/src -I/root/Orion/kernel/src/generic -I/usr/lib/gcc/ppc64-redhat-linux/8/include/ -Upowerpc64 -Upower4 -Uofpower4 -Uv4 -Urr -D__ARCH__=powerpc64 -D__CPU__=power4 -D__PLATFORM__=ofpower4 -D__API__=v4 -D__SCHED__=rr -imacros /root/Orion/kernel/rpb8/config/config.h -imacros /root/Orion/kernel/src/generic/macros.h -include /root/Orion/kernel/src/generic/config.h -include /root/Orion/kernel/src/generic/types.h -fno-rtti -fno-builtin -fomit-frame-pointer -fno-exceptions -Wall -Wno-non-virtual-dtor -Wno-format -O2 -mpowerpc64 -msoft-float -mno-minimal-toc -mcpu=power4 -Wconversion -c /root/Orion/kernel/src/generic/kmemory.cc
===> src/platform/ofpower4/head.S
cd src/platform/ofpower4/ && gcc -DASSEMBLY -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 -c /root/Orion/kernel/src/platform/ofpower4/head.S
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: all] Error 2
[root@fedora28 rpb8]#
What is interesting, is the contents of kernel/src/glue/v4-powerpc64, in both trees:
[root@fedora28 Orion]# ls pistachio--devel--1.1--version-0/kernel/src/glue/v4-powerpc64/
asmsyms.cc init.cc memcontrol.cc resources.cc space.cc timer.cc
exception.cc Makeconf pghash.cc rtas.cc thread.cc user.S
[root@fedora28 Orion]# ls pistachio--devel--1.1--version-0/kernel/src/glue/v4-powerpc64/
asmsyms.cc init.cc memcontrol.cc resources.cc space.cc timer.cc
exception.cc Makeconf pghash.cc rtas.cc thread.cc user.S
[root@fedora28 Orion]# ls kernel/src/glue/v4-powerpc64/
abi.h exception.cc init.cc ktcb.h offsets.h pghash.h schedule.h tcb.h user.S
asmsyms.cc exception.h intctrl.h Makeconf pgent.h resources.cc space.cc thread.cc utcb.h
config.h fpage.h ipc.h map.h pgent_inline.h resources.h space.h timer.cc
debug.h hwspace.h ipc.h_d memcontrol.cc pghash.cc rtas.cc syscalls.h timer.h
Would be interesting to know where the header files come from in our version, and why they're missing, from the NICTA one...
Focussing on asmsyms.cc, we can see that they're identical, in both versions:
[root@fedora28 Orion]# md5sum pistachio--devel--1.1--version-0/kernel/src/glue/v4-powerpc64/asmsyms.cc kernel/src/glue/v4-powerpc64/asmsyms.cc
ce6cd5f88f12a25e65521d39efbb7acd pistachio--devel--1.1--version-0/kernel/src/glue/v4-powerpc64/asmsyms.cc
ce6cd5f88f12a25e65521d39efbb7acd kernel/src/glue/v4-powerpc64/asmsyms.cc
exception.cc has changed, in NICTA's version:
[root@fedora28 Orion]# diff pistachio--devel--1.1--version-0/kernel/src/glue/v4-powerpc64/exception.cc kernel/src/glue/v4-powerpc64/exception.cc 29c29 < * $Id: exception.cc,v 1.17 2004/06/04 06:38:41 cvansch Exp $ --- > * $Id: exception.cc,v 1.18 2006/11/17 17:04:18 skoglund Exp $ 35c35 < #ifdef CONFIG_DEBUG --- > #if defined(CONFIG_DEBUG) 64,65c64 < // if( current->get_exception_handler().is_nilthread() ) < if (EXPECT_FALSE( current->get_scheduler().is_nilthread() )) --- > if( current->get_exception_handler().is_nilthread() ) 97,100c96,97 < // tag = current->do_ipc( current->get_exception_handler(), < // current->get_exception_handler(), timeout_t::never() ); < tag = current->do_ipc( current->get_scheduler(), < current->get_scheduler(), timeout_t::never() ); --- > tag = current->do_ipc( current->get_exception_handler(), > current->get_exception_handler(), timeout_t::never() ); 103c100 < if (EXPECT_TRUE( !tag.is_error() )) --- > if( !tag.is_error() ) 129c126 < current->switch_to_idle(); --- > get_current_scheduler()->schedule(get_idle_tcb(), sched_handoff); 211c208 < #ifdef CONFIG_DEBUG --- > #if defined(CONFIG_DEBUG) 234c231,233 < pg.set_entry( space, size, virt_to_phys((addr_t)dar), true, true, true, true ); --- > pg.set_entry( space, size, virt_to_phys((addr_t)dar), > 7, pgent_t::l4default, true ); > 254c253 < ASSERT( NORMAL, !(is_kernel && space->is_cpu_area ((addr_t)dar)) ); --- > ASSERT( !(is_kernel && space->is_cpu_area ((addr_t)dar)) ); 258a258,272 > > // Is the page hash miss in the copy area? > if( EXPECT_FALSE(space->is_copy_area((addr_t)dar)) ) > { > enter_kdebug( "Page table needs to be fixed for copy area" ); > // Resolve the fault using the partner's address space! > tcb_t *partner = tcb_t::get_tcb( tcb->get_partner() ); > if( partner ) > { > addr_t real_fault = tcb->copy_area_real_address( (addr_t)dar ); > if( partner->get_space()->handle_hash_miss(real_fault) ) > except_return(); > } > } > 294c308 < #ifdef CONFIG_DEBUG --- > #if defined(CONFIG_DEBUG) 311,323d324 < case L4_TRAP_KSET_THRD_NAME: < { < space_t * dummy = NULL; < threadid_t tid; < word_t *name; < < tid.set_raw (context->r3); < < name = (word_t*) (dummy->get_tcb(tid)->debug_name); < name[0] = context->r4; < dummy->get_tcb(tid)->debug_name[15] = '\0'; < } < break; 391c392,393 < true, true, true, true ); --- > 7, pgent_t::l4default, true ); > 462c464 < ASSERT(NORMAL, !ppc64_is_kernel_mode(context->srr1)); --- > ASSERT(!ppc64_is_kernel_mode(context->srr1)); 474,475c476 < // if( current->get_exception_handler().is_nilthread() ) < if (EXPECT_FALSE( current->get_scheduler().is_nilthread() )) --- > if( current->get_exception_handler().is_nilthread() ) 511,514c512,513 < // tag = current->do_ipc( current->get_exception_handler(), < // current->get_exception_handler(), timeout_t::never() ); < tag = current->do_ipc( current->get_scheduler(), < current->get_scheduler(), timeout_t::never() ); --- > tag = current->do_ipc( current->get_exception_handler(), > current->get_exception_handler(), timeout_t::never() ); 517c516 < if (EXPECT_TRUE( !tag.is_error() )) --- > if( !tag.is_error() ) 522,532d520 < < // Results < context->r3 = current->get_mr( EXCEPT_IPC_SYS_MR_R3 ); < context->r4 = current->get_mr( EXCEPT_IPC_SYS_MR_R4 ); < context->r5 = current->get_mr( EXCEPT_IPC_SYS_MR_R5 ); < context->r6 = current->get_mr( EXCEPT_IPC_SYS_MR_R6 ); < context->r7 = current->get_mr( EXCEPT_IPC_SYS_MR_R7 ); < context->r8 = current->get_mr( EXCEPT_IPC_SYS_MR_R8 ); < context->r9 = current->get_mr( EXCEPT_IPC_SYS_MR_R0 ); < context->r10 = current->get_mr( EXCEPT_IPC_SYS_MR_R10 ); < context->r0 = current->get_mr( EXCEPT_IPC_SYS_MR_R0 ); 535a524,534 > > // Results > context->r3 = current->get_mr( EXCEPT_IPC_SYS_MR_R3 ); > context->r4 = current->get_mr( EXCEPT_IPC_SYS_MR_R4 ); > context->r5 = current->get_mr( EXCEPT_IPC_SYS_MR_R5 ); > context->r6 = current->get_mr( EXCEPT_IPC_SYS_MR_R6 ); > context->r7 = current->get_mr( EXCEPT_IPC_SYS_MR_R7 ); > context->r8 = current->get_mr( EXCEPT_IPC_SYS_MR_R8 ); > context->r9 = current->get_mr( EXCEPT_IPC_SYS_MR_R0 ); > context->r10 = current->get_mr( EXCEPT_IPC_SYS_MR_R10 ); > context->r0 = current->get_mr( EXCEPT_IPC_SYS_MR_R0 );
[root@fedora28 Orion]# diff pistachio--devel--1.1--version-0/kernel/src/glue/v4-powerpc64/Makeconf kernel/src/glue/v4-powerpc64/Makeconf
- seems to be a change in copyright header, no functional change
Some init.cc code changed:
[root@fedora28 Orion]# diff pistachio--devel--1.1--version-0/kernel/src/glue/v4-powerpc64/init.cc kernel/src/glue/v4-powerpc64/init.cc
29c29
< * $Id: init.cc,v 1.12 2005/01/19 13:50:40 cvansch Exp $
---
> * $Id: init.cc,v 1.13 2006/11/17 17:04:18 skoglund Exp $
54c54
< #include INC_API(processor.h)
---
> #include INC_API(cpu.h)
70c70
< * of physical memory.
---
> * of physical memory. We assume that physical memory always starts at 0.
73c73,75
< word_t total = 0;
---
> addr_t max = 0;
>
> max = kip->main_mem.high;
79c81,82
< && !mdesc->is_virtual() )
---
> && !mdesc->is_virtual()
> && (mdesc->high() > max) )
81c84
< total += (word_t)mdesc->high() + 1 - (word_t)mdesc->low();
---
> max = mdesc->high();
85c88
< return (addr_t)total;
---
> return max;
97,100d99
< // Define the area reserved for the system.
< kip->memory_info.insert( memdesc_t::reserved, false,
< (addr_t)0, (addr_t)KERNEL_PHYS_START );
<
103c102
< (addr_t)KERNEL_PHYS_START, (addr_t)_start_kernel_phys );
---
> (addr_t)0, (addr_t)KERNEL_PHYS_START );
108a108,111
> // Reserve all other physical memory
> kip->memory_info.insert( memdesc_t::reserved, false,
> addr_align_up (kip->main_mem.high, KB(4)), (addr_t)~0ul);
>
224c227
< true, true, false, true );
---
> 6, (pgent_t::l4default), true );
239,240c242,243
< #ifdef CONFIG_SMP
< init_processor( boot_cpu, boot_buskhz, boot_cpukhz );
---
> #if defined(CONFIG_SMP)
> init_cpu( boot_cpu, boot_buskhz, boot_cpukhz );
242c245
< init_processor( 0, boot_buskhz, boot_cpukhz );
---
> init_cpu( 0, boot_buskhz, boot_cpukhz );
338c341
< #ifdef CONFIG_DEBUG
---
> #if defined(CONFIG_DEBUG)
Need to see if the API also changed.
MemControl gets minor change:
[root@fedora28 Orion]# diff pistachio--devel--1.1--version-0/kernel/src/glue/v4-powerpc64/memcontrol.cc kernel/src/glue/v4-powerpc64/memcontrol.cc
29c29
< * $Id: memcontrol.cc,v 1.7 2004/12/01 23:49:37 cvansch Exp $
---
> * $Id: memcontrol.cc,v 1.8 2005/03/11 07:10:27 cvansch Exp $
55,59d54
<
< static inline addr_t address (fpage_t fp, word_t size)
< {
< return (addr_t) (fp.raw & ~((1UL << size) - 1));
< }
Was there a bug, in the original version?
An API change was introduced, affecting pghash:
[root@fedora28 Orion]# diff pistachio--devel--1.1--version-0/kernel/src/glue/v4-powerpc64/pghash.cc kernel/src/glue/v4-powerpc64/pghash.cc
29c29
< * $Id: pghash.cc,v 1.8 2005/01/19 13:48:09 cvansch Exp $
---
> * $Id: pghash.cc,v 1.9 2006/11/17 17:04:18 skoglund Exp $
49c49
< ASSERT(NORMAL, (size == pgent_t::size_4k) || (size == pgent_t::size_16m));
---
> ASSERT((size == pgent_t::size_4k) || (size == pgent_t::size_16m));
51c51
< ASSERT(NORMAL, (size == pgent_t::size_4k));
---
> ASSERT((size == pgent_t::size_4k));
71c71
< ASSERT(NORMAL, (size == pgent_t::size_4k) || (size == pgent_t::size_16m));
---
> ASSERT((size == pgent_t::size_4k) || (size == pgent_t::size_16m));
73c73
< ASSERT(NORMAL, (size == pgent_t::size_4k));
---
> ASSERT((size == pgent_t::size_4k));
92c92
< ASSERT(NORMAL, (size == pgent_t::size_4k) || (size == pgent_t::size_16m));
---
> ASSERT((size == pgent_t::size_4k) || (size == pgent_t::size_16m));
94c94
< ASSERT(NORMAL, (size == pgent_t::size_4k));
---
> ASSERT((size == pgent_t::size_4k));
118c118
< ASSERT(ALWAYS, evict_space->lookup_mapping( evict_addr, &evict_pgent, &evict_size ) );
---
> ASSERT( evict_space->lookup_mapping( evict_addr, &evict_pgent, &evict_size ) );
237c237,238
< (addr_t)(phys_start + i), true, true, false, true );
---
> (addr_t)(phys_start + i),
> 6, pgent_t::l4default, true );
Minor change:
[root@fedora28 Orion]# diff pistachio--devel--1.1--version-0/kernel/src/glue/v4-powerpc64/resources.cc kernel/src/glue/v4-powerpc64/resources.cc
208c208
< ASSERT( DEBUG, fp_tcb != tcb );
---
> ASSERT( fp_tcb != tcb );
222c222
< ASSERT( DEBUG, tcb );
---
> ASSERT( tcb );
Identical files:
57ca6026d22f865c698f7e141715695e pistachio--devel--1.1--version-0/kernel/src/glue/v4-powerpc64/rtas.cc
57ca6026d22f865c698f7e141715695e kernel/src/glue/v4-powerpc64/rtas.cc
space.cc changed, a lot:
[root@fedora28 Orion]# diff pistachio--devel--1.1--version-0/kernel/src/glue/v4-powerpc64/space.cc kernel/src/glue/v4-powerpc64/space.cc
3c3
< * Copyright (C) 2003-2004, National ICT Australia (NICTA)
---
> * Copyright (C) 2003-2004, 2006, 2010, National ICT Australia (NICTA)
29c29
< * $Id: space.cc,v 1.11 2005/01/18 12:56:23 cvansch Exp $
---
> * $Id: space.cc,v 1.13 2006/11/17 17:04:18 skoglund Exp $
73a74,76
> //translation table
> struct transTable_t transTable[TRANSLATION_TABLE_ENTRIES];
>
147c150
< ASSERT(DEBUG, (size == pgent_t::size_4k) || (size == pgent_t::size_16m));
---
> ASSERT((size == pgent_t::size_4k) || (size == pgent_t::size_16m));
149c152
< ASSERT(DEBUG, (size == pgent_t::size_4k));
---
> ASSERT((size == pgent_t::size_4k));
183c186,188
< pg->set_entry (this, pgsize, paddr, true, writable, executable, kernel );
---
> pg->set_entry (this, pgsize, paddr,
> 4 | (writable ? 2 : 0) | (executable ? 1 : 0),
> pgent_t::l4default, kernel );
196c201
< ASSERT(DEBUG, !dummy_tcb);
---
> ASSERT(!dummy_tcb);
198c203
< ASSERT(NORMAL, dummy_tcb);
---
> ASSERT(dummy_tcb);
205d209
< kernel_space->enqueue_spaces();
247c251,252
< pg.set_entry( kernel_space, pgent_t::size_16m, 0, true, true, true, true );
---
> pg.set_entry( kernel_space, pgent_t::size_16m, 0,
> 7, pgent_t;:l4default, true );
258c263
< (addr_t)(i), true, true, true, true );
---
> (addr_t)(i), 7, pgent_t::l4default, true );
300c305
< ASSERT(DEBUG, this == kernel_space);
---
> ASSERT(this == kernel_space);
324c329
< ASSERT (DEBUG, tcb);
---
> ASSERT (tcb);
349c354
< ASSERT(DEBUG, this == kernel_space);
---
> ASSERT(this == kernel_space);
353c358
< add_4k_mapping( addr, (addr_t)get_dummy_tcb(), false, false );
---
> add_4k_mapping( addr, (addr_t)virt_to_phys(get_dummy_tcb()), false, false );
358c363
< ASSERT( NORMAL,
---
> ASSERT(
[root@fedora28 Orion]#
Bit-exact:
[root@fedora28 Orion]# md5sum pistachio--devel--1.1--version-0/kernel/src/glue/v4-powerpc64/thread.cc kernel/src/glue/v4-powerpc64/thread.cc
ff4ad8d47fe964ab666a83134dd88306 pistachio--devel--1.1--version-0/kernel/src/glue/v4-powerpc64/thread.cc
ff4ad8d47fe964ab666a83134dd88306 kernel/src/glue/v4-powerpc64/thread.cc
Bit-exact:
48a81738c1a45d24f322407d5963b9c9 pistachio--devel--1.1--version-0/kernel/src/glue/v4-powerpc64/timer.cc
48a81738c1a45d24f322407d5963b9c9 kernel/src/glue/v4-powerpc64/timer.cc
Syscall ABI change:
[root@fedora28 Orion]# diff pistachio--devel--1.1--version-0/kernel/src/glue/v4-powerpc64/user.S kernel/src/glue/v4-powerpc64/user.S
5c5
< * File path: glue/v4-powerpc64/user.S
---
> * File path: glue/v4-powerpc64/syscalls.S
7c7
< * Description: KIP entry points for syscalls
---
> * Description: Kernel entry points for syscalls
49c49
< #define SYSCALL(name) \
---
> #define SYSCALL(name) \
51c51
< BEGIN_SYS(user_##name); \
---
> BEGIN_SYS(user_##name); \
58,69d57
< #define SYSCALL_EXREGS(name) \
< .section .user.##name, "ax"; \
< BEGIN_SYS(user_##name); \
< clrldi. r0, r3, 64-L4_LOCAL_ID_ZERO_BITS; \
< mfcr r10; \
< rlwinm r10, r10, 3, 31, 31; \
< li r0, SYSCALL_##name; \
< sc; \
< blr; \
< END_SYS(user_##name); \
< .previous
<
80c68
< SYSCALL_EXREGS(exchange_registers)
---
> SYSCALL(exchange_registers)
85a74
> SYSCALL_UNIMPLEMENTED(system_clock)
[root@fedora28 Orion]#
Moved the glue code for Alpha, ARM, IA64, SPARC64, and MIPS64, from NICTA
Moved the arch code for Alpha, ARM, IA64, SPARC64, and MIPS64, from NICTA
Attempt at building POWER4 config:
[root@fedora28 rpb8]# make menuconfig
make[1]: Entering directory '/root/Orion/kernel/rpb8'
make[2]: Entering directory '/root/Orion/kernel/rpb8/config'
Side effects from config.out:
KDB_BREAKIN_BREAK=n (deduced from ARCH_POWERPC64)
KDB_CONS_COM=n (deduced from DEBUG)
KDB_BREAKIN_ESCAPE=n (deduced from DEBUG)
Rewriting Makeconf.local ...
/bin/sh: line 15: ed: command not found
make[2]: *** [/root/Orion/kernel/config/Makefile:67: /root/Orion/kernel/rpb8/Makeconf.local] Error 127
make[2]: Leaving directory '/root/Orion/kernel/rpb8/config'
make[1]: *** [/root/Orion/kernel/Mk/Makeconf:267: menuconfig] Error 2
make[1]: Leaving directory '/root/Orion/kernel/rpb8'
make: *** [Makefile:38: menuconfig] Error 2
[root@fedora28 rpb8]# make clean
make[1]: Entering directory '/root/Orion/kernel/rpb8'
make[1]: Leaving directory '/root/Orion/kernel/rpb8'
[root@fedora28 rpb8]# make
make[1]: Entering directory '/root/Orion/kernel/rpb8'
===> Building dependencies
===> src/glue/v4-powerpc64/asmsyms.cc
cd src/glue/v4-powerpc64/ && gcc -nostdinc -I/root/Orion/kernel/rpb8/include -I/root/Orion/kernel/src -I/root/Orion/kernel/src/generic -I/usr/lib/gcc/ppc64-redhat-linux/8/include/ -Upowerpc64 -Upower4 -Uofpower4 -Uv4 -Urr -D__ARCH__=powerpc64 -D__CPU__=power4 -D__PLATFORM__=ofpower4 -D__API__=v4 -D__SCHED__=rr -imacros /root/Orion/kernel/rpb8/config/config.h -imacros /root/Orion/kernel/src/generic/macros.h -include /root/Orion/kernel/src/generic/config.h -include /root/Orion/kernel/src/generic/types.h -fno-rtti -fno-builtin -fomit-frame-pointer -fno-exceptions -Wall -Wno-non-virtual-dtor -Wno-format -O2 -mpowerpc64 -msoft-float -mno-minimal-toc -mcpu=power4 -Wconversion -c /root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc
In file included from /root/Orion/kernel/src/api/v4/tcb.h:39,
from /root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:37:
/root/Orion/kernel/src/api/v4/types.h: In static member function ‘static time_t time_t::period(u16_t, u16_t)’:
/root/Orion/kernel/src/api/v4/types.h:70:22: warning: conversion from ‘u16_t’ {aka ‘short unsigned int’} to ‘short unsigned int:10’ may change value [-Wconversion]
ret.time.mantissa = mantissa;
^~~~~~~~
/root/Orion/kernel/src/api/v4/types.h:71:22: warning: conversion from ‘u16_t’ {aka ‘short unsigned int’} to ‘unsigned char:5’ may change value [-Wconversion]
ret.time.exponent = exponent;
^~~~~~~~
/root/Orion/kernel/src/api/v4/types.h: In static member function ‘static time_t time_t::point(u16_t, u16_t)’:
/root/Orion/kernel/src/api/v4/types.h:79:22: warning: conversion from ‘u16_t’ {aka ‘short unsigned int’} to ‘short unsigned int:10’ may change value [-Wconversion]
ret.time.mantissa = mantissa;
^~~~~~~~
/root/Orion/kernel/src/api/v4/types.h:80:22: warning: conversion from ‘u16_t’ {aka ‘short unsigned int’} to ‘unsigned char:5’ may change value [-Wconversion]
ret.time.exponent = exponent;
^~~~~~~~
In file included from /root/Orion/kernel/src/glue/v4-powerpc64/space.h:39,
from /root/Orion/kernel/src/api/v4/space.h:36,
from /root/Orion/kernel/src/api/v4/tcb.h:43,
from /root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:37:
/root/Orion/kernel/src/arch/powerpc64/pghash.h: In member function ‘void ppc64_sdr1_t::create(word_t, word_t)’:
/root/Orion/kernel/src/arch/powerpc64/pghash.h:223:28: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘long unsigned int:46’ may change value [-Wconversion]
this->x.htaborg = base >> POWERPC64_HTABORG_SHIFT;
^
/root/Orion/kernel/src/arch/powerpc64/pghash.h:224:24: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:5’ may change value [-Wconversion]
this->x.htabsize = size;
^~~~
/root/Orion/kernel/src/arch/powerpc64/pghash.h: In member function ‘void ppc64_pte_t::create_4k(word_t, word_t, word_t, word_t)’:
/root/Orion/kernel/src/arch/powerpc64/pghash.h:249:20: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘long unsigned int:52’ may change value [-Wconversion]
this->x.vsid = vsid;
^~~~
/root/Orion/kernel/src/arch/powerpc64/pghash.h:250:30: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:5’ may change value [-Wconversion]
this->x.api = virt_to_api( virt );
~~~~~~~~~~~^~~~~~~~
/root/Orion/kernel/src/arch/powerpc64/pghash.h:251:17: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:1’ may change value [-Wconversion]
this->x.h = second;
^~~~~~
/root/Orion/kernel/src/arch/powerpc64/pghash.h: In member function ‘void ppc64_pte_t::create(word_t, word_t, word_t, word_t, word_t)’:
/root/Orion/kernel/src/arch/powerpc64/pghash.h:262:20: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘long unsigned int:52’ may change value [-Wconversion]
this->x.vsid = vsid;
^~~~
/root/Orion/kernel/src/arch/powerpc64/pghash.h:265:36: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:5’ may change value [-Wconversion]
this->x.api = virt_to_api( virt ) & (~(1ul));
~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
/root/Orion/kernel/src/arch/powerpc64/pghash.h:267:27: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:5’ may change value [-Wconversion]
this->x.api = virt_to_api( virt );
~~~~~~~~~~~^~~~~~~~
/root/Orion/kernel/src/arch/powerpc64/pghash.h:269:17: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:1’ may change value [-Wconversion]
this->x.l = large;
^~~~~
/root/Orion/kernel/src/arch/powerpc64/pghash.h:270:17: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:1’ may change value [-Wconversion]
this->x.h = second;
^~~~~~
/root/Orion/kernel/src/arch/powerpc64/pghash.h: In member function ‘void ppc64_pte_t::create(word_t, word_t, word_t, word_t, word_t, word_t)’:
/root/Orion/kernel/src/arch/powerpc64/pghash.h:281:20: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘long unsigned int:52’ may change value [-Wconversion]
this->x.vsid = vsid;
^~~~
/root/Orion/kernel/src/arch/powerpc64/pghash.h:284:36: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:5’ may change value [-Wconversion]
this->x.api = virt_to_api( virt ) & (~(1ul));
~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
/root/Orion/kernel/src/arch/powerpc64/pghash.h:286:27: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:5’ may change value [-Wconversion]
this->x.api = virt_to_api( virt );
~~~~~~~~~~~^~~~~~~~
/root/Orion/kernel/src/arch/powerpc64/pghash.h:288:22: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:1’ may change value [-Wconversion]
this->x.bolted = bolted;
^~~~~~
/root/Orion/kernel/src/arch/powerpc64/pghash.h:289:17: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:1’ may change value [-Wconversion]
this->x.l = large;
^~~~~
/root/Orion/kernel/src/arch/powerpc64/pghash.h:290:17: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:1’ may change value [-Wconversion]
this->x.h = second;
^~~~~~
In file included from /root/Orion/kernel/src/glue/v4-powerpc64/space.h:41,
from /root/Orion/kernel/src/api/v4/space.h:36,
from /root/Orion/kernel/src/api/v4/tcb.h:43,
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:81:40: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘long unsigned int:54’ may change value [-Wconversion]
mem.x.base = (base & (~0UL << size)) >> 10;
~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
/root/Orion/kernel/src/api/v4/fpage.h:82:16: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:6’ may change value [-Wconversion]
mem.x.size = size;
^~~~
In file included from /root/Orion/kernel/src/api/v4/kernelinterface.h:49,
from /root/Orion/kernel/src/api/v4/thread.h:36,
from /root/Orion/kernel/src/glue/v4-powerpc64/space.h:42,
from /root/Orion/kernel/src/api/v4/space.h:36,
from /root/Orion/kernel/src/api/v4/tcb.h:43,
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:120: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:121: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:123: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:124: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:36,
from /root/Orion/kernel/src/glue/v4-powerpc64/space.h:42,
from /root/Orion/kernel/src/api/v4/space.h:36,
from /root/Orion/kernel/src/api/v4/tcb.h:43,
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:173: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:174: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/glue/v4-powerpc64/space.h:42,
from /root/Orion/kernel/src/api/v4/space.h:36,
from /root/Orion/kernel/src/api/v4/tcb.h:43,
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::anylocalthread()’:
/root/Orion/kernel/src/api/v4/thread.h:58:32: warning: conversion from ‘long unsigned int’ to ‘unsigned char:6’ may change value [-Wconversion]
tid.local.zero = tid.local.id = 0;
~~~~~~~~~~~~~^~~
/root/Orion/kernel/src/api/v4/thread.h:59:15: warning: conversion from ‘long unsigned int’ to ‘long unsigned int:58’ may change value [-Wconversion]
tid.local.id -= 1;
~~~~~~~~~~~~~^~~~
/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:74:24: 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:88:23: 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:89:24: 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:144: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:145: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/glue/v4-powerpc64/space.h:54,
from /root/Orion/kernel/src/api/v4/space.h:36,
from /root/Orion/kernel/src/api/v4/tcb.h:43,
from /root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:37:
/root/Orion/kernel/src/generic/mdb.h: In constructor ‘mdb_t::range_t::range_t(addr_t, word_t)’:
/root/Orion/kernel/src/generic/mdb.h:119:24: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘long unsigned int:57’ may change value [-Wconversion]
idx = (word_t) b >> s;
~~~~~~~~~~~^~~~
/root/Orion/kernel/src/generic/mdb.h:120:14: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:6’ may change value [-Wconversion]
size = s;
^
/root/Orion/kernel/src/generic/mdb.h: In member function ‘void mdb_node_t::set_next(mdb_node_t*)’:
/root/Orion/kernel/src/generic/mdb.h:549:22: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘long unsigned int:63’ may change value [-Wconversion]
next = ((word_t) n) >> 1;
~~~~~~~~~~~~~^~~~
/root/Orion/kernel/src/generic/mdb.h: In member function ‘void mdb_node_t::set_table(mdb_table_t*)’:
/root/Orion/kernel/src/generic/mdb.h:562:25: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘long unsigned int:63’ may change value [-Wconversion]
next = ((word_t) t) >> 1;
~~~~~~~~~~~~~^~~~
/root/Orion/kernel/src/generic/mdb.h: In member function ‘void mdb_node_t::remove_table()’:
/root/Orion/kernel/src/generic/mdb.h:571:49: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘long unsigned int:63’ may change value [-Wconversion]
next = ((word_t) get_table ()->get_node ()) >> 1;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
/root/Orion/kernel/src/generic/mdb.h: In member function ‘void mdb_node_t::set_depth(word_t)’:
/root/Orion/kernel/src/generic/mdb.h:581:13: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘long unsigned int:50’ may change value [-Wconversion]
depth = d;
^
/root/Orion/kernel/src/generic/mdb.h: In member function ‘void mdb_node_t::set_objsize(word_t)’:
/root/Orion/kernel/src/generic/mdb.h:599:16: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:6’ may change value [-Wconversion]
obj_size = s;
^
/root/Orion/kernel/src/generic/mdb.h: In member function ‘void mdb_node_t::set_inrights(word_t)’:
/root/Orion/kernel/src/generic/mdb.h:617:17: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:4’ may change value [-Wconversion]
in_rights = r;
^
/root/Orion/kernel/src/generic/mdb.h: In member function ‘void mdb_node_t::set_outrights(word_t)’:
/root/Orion/kernel/src/generic/mdb.h:626:18: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:4’ may change value [-Wconversion]
out_rights = r;
^
/root/Orion/kernel/src/generic/mdb.h: In member function ‘void mdb_tableent_t::set_table(mdb_table_t*)’:
/root/Orion/kernel/src/generic/mdb.h:692:24: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘long unsigned int:63’ may change value [-Wconversion]
ptr = ((word_t) t) >> 1;
~~~~~~~~~~~~~^~~~
/root/Orion/kernel/src/generic/mdb.h: In member function ‘void mdb_tableent_t::set_node(mdb_node_t*)’:
/root/Orion/kernel/src/generic/mdb.h:705:21: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘long unsigned int:63’ may change value [-Wconversion]
ptr = ((word_t) n) >> 1;
~~~~~~~~~~~~~^~~~
/root/Orion/kernel/src/generic/mdb.h: In member function ‘void mdb_table_t::remove_table(word_t)’:
/root/Orion/kernel/src/generic/mdb.h:838:27: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘long unsigned int:63’ may change value [-Wconversion]
e->ptr = ((word_t) n) >> 1;
~~~~~~~~~~~~~^~~~
/root/Orion/kernel/src/generic/mdb.h: In member function ‘void mdb_table_t::set_objsize(word_t)’:
/root/Orion/kernel/src/generic/mdb.h:901:15: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:6’ may change value [-Wconversion]
objsize = s;
^
In file included from /root/Orion/kernel/src/api/v4/space.h:36,
from /root/Orion/kernel/src/api/v4/tcb.h:43,
from /root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:37:
/root/Orion/kernel/src/glue/v4-powerpc64/space.h: At global scope:
/root/Orion/kernel/src/glue/v4-powerpc64/space.h:125:12: error: extra qualification ‘space_t::’ on member ‘space_control’ [-fpermissive]
word_t space_t::space_control (word_t ctrl, fpage_t kip_area, fpage_t utcb_area, threadid_t redirector_tid) { return 0; }
^~~~~~~
/root/Orion/kernel/src/glue/v4-powerpc64/space.h:179:10: error: extra qualification ‘space_t::’ on member ‘add_mapping’ [-fpermissive]
void space_t::add_mapping( addr_t vaddr, addr_t paddr,
^~~~~~~
/root/Orion/kernel/src/glue/v4-powerpc64/space.h:334:13: error: no declaration matches ‘void space_t::add_tcb(tcb_t*, cpuid_t)’
INLINE void space_t::add_tcb(tcb_t * tcb, cpuid_t cpu)
^~~~~~~
/root/Orion/kernel/src/glue/v4-powerpc64/space.h:310:13: note: candidate is: ‘void space_t::add_tcb(tcb_t*)’
inline void space_t::add_tcb(tcb_t * tcb)
^~~~~~~
/root/Orion/kernel/src/glue/v4-powerpc64/space.h:67:7: note: ‘class space_t’ defined here
class space_t
^~~~~~~
/root/Orion/kernel/src/glue/v4-powerpc64/space.h:344:13: error: no declaration matches ‘bool space_t::remove_tcb(tcb_t*, cpuid_t)’
INLINE bool space_t::remove_tcb(tcb_t * tcb, cpuid_t cpu)
^~~~~~~
/root/Orion/kernel/src/glue/v4-powerpc64/space.h:320:13: note: candidate is: ‘bool space_t::remove_tcb(tcb_t*)’
inline bool space_t::remove_tcb(tcb_t * tcb)
^~~~~~~
/root/Orion/kernel/src/glue/v4-powerpc64/space.h:67:7: note: ‘class space_t’ defined here
class space_t
^~~~~~~
In file included from /root/Orion/kernel/src/api/v4/tcb.h:48,
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)’:
/root/Orion/kernel/src/api/v4/ipc.h:89:22: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:6’ may change value [-Wconversion]
this->x.typed = typed;
^~~~~
/root/Orion/kernel/src/api/v4/ipc.h:90:24: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:6’ may change value [-Wconversion]
this->x.untyped = untyped;
^~~~~~~
/root/Orion/kernel/src/api/v4/ipc.h:91:22: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘long unsigned int:48’ may change value [-Wconversion]
this->x.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:258: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:34:
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc: At global scope:
/root/Orion/kernel/src/generic/mkasmsym.h:40:55: error: array bound is not an integer constant before ‘]’ token
struct sym ##_sign_t { char x[32*((value) < 0 ? 1 : 2)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:50:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MR, (((word_t) &UTCB->mr[0]) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:42:65: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b0_t { char x[32*((__ABSVALUE(value) >> 0) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:50:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MR, (((word_t) &UTCB->mr[0]) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:44:65: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b1_t { char x[32*((__ABSVALUE(value) >> 8) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:50:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MR, (((word_t) &UTCB->mr[0]) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:46:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b2_t { char x[32*((__ABSVALUE(value) >> 16) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:50:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MR, (((word_t) &UTCB->mr[0]) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:48:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b3_t { char x[32*((__ABSVALUE(value) >> 24) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:50:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MR, (((word_t) &UTCB->mr[0]) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:50:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b4_t { char x[32*((__ABSVALUE(value) >> 32) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:50:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MR, (((word_t) &UTCB->mr[0]) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:52:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b5_t { char x[32*((__ABSVALUE(value) >> 40) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:50:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MR, (((word_t) &UTCB->mr[0]) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:54:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b6_t { char x[32*((__ABSVALUE(value) >> 48) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:50:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MR, (((word_t) &UTCB->mr[0]) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:56:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b7_t { char x[32*((__ABSVALUE(value) >> 56) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:50:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MR, (((word_t) &UTCB->mr[0]) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:40:55: error: array bound is not an integer constant before ‘]’ token
struct sym ##_sign_t { char x[32*((value) < 0 ? 1 : 2)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:51:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_EXCEPTION_HANDLER, (((word_t) &UTCB->exception_handler) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:42:65: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b0_t { char x[32*((__ABSVALUE(value) >> 0) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:51:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_EXCEPTION_HANDLER, (((word_t) &UTCB->exception_handler) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:44:65: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b1_t { char x[32*((__ABSVALUE(value) >> 8) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:51:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_EXCEPTION_HANDLER, (((word_t) &UTCB->exception_handler) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:46:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b2_t { char x[32*((__ABSVALUE(value) >> 16) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:51:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_EXCEPTION_HANDLER, (((word_t) &UTCB->exception_handler) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:48:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b3_t { char x[32*((__ABSVALUE(value) >> 24) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:51:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_EXCEPTION_HANDLER, (((word_t) &UTCB->exception_handler) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:50:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b4_t { char x[32*((__ABSVALUE(value) >> 32) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:51:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_EXCEPTION_HANDLER, (((word_t) &UTCB->exception_handler) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:52:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b5_t { char x[32*((__ABSVALUE(value) >> 40) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:51:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_EXCEPTION_HANDLER, (((word_t) &UTCB->exception_handler) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:54:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b6_t { char x[32*((__ABSVALUE(value) >> 48) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:51:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_EXCEPTION_HANDLER, (((word_t) &UTCB->exception_handler) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:56:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b7_t { char x[32*((__ABSVALUE(value) >> 56) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:51:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_EXCEPTION_HANDLER, (((word_t) &UTCB->exception_handler) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:40:55: error: array bound is not an integer constant before ‘]’ token
struct sym ##_sign_t { char x[32*((value) < 0 ? 1 : 2)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:52:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MY_GLOBAL_ID, (((word_t) &UTCB->my_global_id) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:42:65: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b0_t { char x[32*((__ABSVALUE(value) >> 0) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:52:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MY_GLOBAL_ID, (((word_t) &UTCB->my_global_id) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:44:65: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b1_t { char x[32*((__ABSVALUE(value) >> 8) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:52:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MY_GLOBAL_ID, (((word_t) &UTCB->my_global_id) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:46:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b2_t { char x[32*((__ABSVALUE(value) >> 16) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:52:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MY_GLOBAL_ID, (((word_t) &UTCB->my_global_id) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:48:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b3_t { char x[32*((__ABSVALUE(value) >> 24) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:52:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MY_GLOBAL_ID, (((word_t) &UTCB->my_global_id) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:50:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b4_t { char x[32*((__ABSVALUE(value) >> 32) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:52:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MY_GLOBAL_ID, (((word_t) &UTCB->my_global_id) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:52:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b5_t { char x[32*((__ABSVALUE(value) >> 40) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:52:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MY_GLOBAL_ID, (((word_t) &UTCB->my_global_id) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:54:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b6_t { char x[32*((__ABSVALUE(value) >> 48) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:52:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MY_GLOBAL_ID, (((word_t) &UTCB->my_global_id) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:56:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b7_t { char x[32*((__ABSVALUE(value) >> 56) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:52:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MY_GLOBAL_ID, (((word_t) &UTCB->my_global_id) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:40:55: error: array bound is not an integer constant before ‘]’ token
struct sym ##_sign_t { char x[32*((value) < 0 ? 1 : 2)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:58:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( RTAS_ENTRY, (((word_t) &RTAS->entry) - ((word_t) RTAS)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:42:65: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b0_t { char x[32*((__ABSVALUE(value) >> 0) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:58:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( RTAS_ENTRY, (((word_t) &RTAS->entry) - ((word_t) RTAS)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:44:65: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b1_t { char x[32*((__ABSVALUE(value) >> 8) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:58:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( RTAS_ENTRY, (((word_t) &RTAS->entry) - ((word_t) RTAS)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:46:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b2_t { char x[32*((__ABSVALUE(value) >> 16) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:58:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( RTAS_ENTRY, (((word_t) &RTAS->entry) - ((word_t) RTAS)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:48:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b3_t { char x[32*((__ABSVALUE(value) >> 24) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:58:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( RTAS_ENTRY, (((word_t) &RTAS->entry) - ((word_t) RTAS)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:50:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b4_t { char x[32*((__ABSVALUE(value) >> 32) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:58:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( RTAS_ENTRY, (((word_t) &RTAS->entry) - ((word_t) RTAS)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:52:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b5_t { char x[32*((__ABSVALUE(value) >> 40) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:58:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( RTAS_ENTRY, (((word_t) &RTAS->entry) - ((word_t) RTAS)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:54:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b6_t { char x[32*((__ABSVALUE(value) >> 48) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:58:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( RTAS_ENTRY, (((word_t) &RTAS->entry) - ((word_t) RTAS)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:56:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b7_t { char x[32*((__ABSVALUE(value) >> 56) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:58:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( RTAS_ENTRY, (((word_t) &RTAS->entry) - ((word_t) RTAS)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:40:55: error: array bound is not an integer constant before ‘]’ token
struct sym ##_sign_t { char x[32*((value) < 0 ? 1 : 2)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:59:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( RTAS_BASE, (((word_t) &RTAS->base) - ((word_t) RTAS)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:42:65: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b0_t { char x[32*((__ABSVALUE(value) >> 0) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:59:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( RTAS_BASE, (((word_t) &RTAS->base) - ((word_t) RTAS)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:44:65: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b1_t { char x[32*((__ABSVALUE(value) >> 8) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:59:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( RTAS_BASE, (((word_t) &RTAS->base) - ((word_t) RTAS)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:46:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b2_t { char x[32*((__ABSVALUE(value) >> 16) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:59:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( RTAS_BASE, (((word_t) &RTAS->base) - ((word_t) RTAS)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:48:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b3_t { char x[32*((__ABSVALUE(value) >> 24) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:59:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( RTAS_BASE, (((word_t) &RTAS->base) - ((word_t) RTAS)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:50:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b4_t { char x[32*((__ABSVALUE(value) >> 32) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:59:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( RTAS_BASE, (((word_t) &RTAS->base) - ((word_t) RTAS)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:52:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b5_t { char x[32*((__ABSVALUE(value) >> 40) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:59:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( RTAS_BASE, (((word_t) &RTAS->base) - ((word_t) RTAS)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:54:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b6_t { char x[32*((__ABSVALUE(value) >> 48) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:59:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( RTAS_BASE, (((word_t) &RTAS->base) - ((word_t) RTAS)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:56:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b7_t { char x[32*((__ABSVALUE(value) >> 56) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:59:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( RTAS_BASE, (((word_t) &RTAS->base) - ((word_t) RTAS)));
^~~~~~~~
In file included from /root/Orion/kernel/src/glue/v4-powerpc64/space.h:44,
from /root/Orion/kernel/src/api/v4/space.h:36,
from /root/Orion/kernel/src/api/v4/tcb.h:43,
from /root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:37:
/root/Orion/kernel/src/glue/v4-powerpc64/pgent.h:196:22: warning: inline function ‘pgent_t* pgent_t::next(space_t*, pgent_t::pgsize_e, word_t)’ used but never defined
inline pgent_t * next( space_t * s, pgsize_e pgsize, word_t num );
^~~~
===> src/generic/lib.cc
cd src/generic/ && gcc -nostdinc -I/root/Orion/kernel/rpb8/include -I/root/Orion/kernel/src -I/root/Orion/kernel/src/generic -I/usr/lib/gcc/ppc64-redhat-linux/8/include/ -Upowerpc64 -Upower4 -Uofpower4 -Uv4 -Urr -D__ARCH__=powerpc64 -D__CPU__=power4 -D__PLATFORM__=ofpower4 -D__API__=v4 -D__SCHED__=rr -imacros /root/Orion/kernel/rpb8/config/config.h -imacros /root/Orion/kernel/src/generic/macros.h -include /root/Orion/kernel/src/generic/config.h -include /root/Orion/kernel/src/generic/types.h -fno-rtti -fno-builtin -fomit-frame-pointer -fno-exceptions -Wall -Wno-non-virtual-dtor -Wno-format -O2 -mpowerpc64 -msoft-float -mno-minimal-toc -mcpu=power4 -Wconversion -c /root/Orion/kernel/src/generic/lib.cc
/root/Orion/kernel/src/generic/lib.cc: In function ‘void* memset(void*, unsigned int, unsigned int)’:
/root/Orion/kernel/src/generic/lib.cc:55:9: warning: conversion from ‘unsigned int’ to ‘u8_t’ {aka ‘unsigned char’} may change value [-Wconversion]
*s++ = c;
^
===> src/generic/kmemory.cc
cd src/generic/ && gcc -nostdinc -I/root/Orion/kernel/rpb8/include -I/root/Orion/kernel/src -I/root/Orion/kernel/src/generic -I/usr/lib/gcc/ppc64-redhat-linux/8/include/ -Upowerpc64 -Upower4 -Uofpower4 -Uv4 -Urr -D__ARCH__=powerpc64 -D__CPU__=power4 -D__PLATFORM__=ofpower4 -D__API__=v4 -D__SCHED__=rr -imacros /root/Orion/kernel/rpb8/config/config.h -imacros /root/Orion/kernel/src/generic/macros.h -include /root/Orion/kernel/src/generic/config.h -include /root/Orion/kernel/src/generic/types.h -fno-rtti -fno-builtin -fomit-frame-pointer -fno-exceptions -Wall -Wno-non-virtual-dtor -Wno-format -O2 -mpowerpc64 -msoft-float -mno-minimal-toc -mcpu=power4 -Wconversion -c /root/Orion/kernel/src/generic/kmemory.cc
===> src/platform/ofpower4/head.S
cd src/platform/ofpower4/ && gcc -DASSEMBLY -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 -c /root/Orion/kernel/src/platform/ofpower4/head.S
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: all] Error 2
[root@fedora28 rpb8]#
Second attempt, after installing ed:
[root@fedora28 rpb8]# make
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 -c /root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc
In file included from /root/Orion/kernel/src/api/v4/tcb.h:39,
from /root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:37:
/root/Orion/kernel/src/api/v4/types.h: In static member function ‘static time_t time_t::period(u16_t, u16_t)’:
/root/Orion/kernel/src/api/v4/types.h:70:22: warning: conversion from ‘u16_t’ {aka ‘short unsigned int’} to ‘short unsigned int:10’ may change value [-Wconversion]
ret.time.mantissa = mantissa;
^~~~~~~~
/root/Orion/kernel/src/api/v4/types.h:71:22: warning: conversion from ‘u16_t’ {aka ‘short unsigned int’} to ‘unsigned char:5’ may change value [-Wconversion]
ret.time.exponent = exponent;
^~~~~~~~
/root/Orion/kernel/src/api/v4/types.h: In static member function ‘static time_t time_t::point(u16_t, u16_t)’:
/root/Orion/kernel/src/api/v4/types.h:79:22: warning: conversion from ‘u16_t’ {aka ‘short unsigned int’} to ‘short unsigned int:10’ may change value [-Wconversion]
ret.time.mantissa = mantissa;
^~~~~~~~
/root/Orion/kernel/src/api/v4/types.h:80:22: warning: conversion from ‘u16_t’ {aka ‘short unsigned int’} to ‘unsigned char:5’ may change value [-Wconversion]
ret.time.exponent = exponent;
^~~~~~~~
In file included from /root/Orion/kernel/src/glue/v4-powerpc64/space.h:39,
from /root/Orion/kernel/src/api/v4/space.h:36,
from /root/Orion/kernel/src/api/v4/tcb.h:43,
from /root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:37:
/root/Orion/kernel/src/arch/powerpc64/pghash.h: In member function ‘void ppc64_sdr1_t::create(word_t, word_t)’:
/root/Orion/kernel/src/arch/powerpc64/pghash.h:223:28: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘long unsigned int:46’ may change value [-Wconversion]
this->x.htaborg = base >> POWERPC64_HTABORG_SHIFT;
^
/root/Orion/kernel/src/arch/powerpc64/pghash.h:224:24: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:5’ may change value [-Wconversion]
this->x.htabsize = size;
^~~~
/root/Orion/kernel/src/arch/powerpc64/pghash.h: In member function ‘void ppc64_pte_t::create_4k(word_t, word_t, word_t, word_t)’:
/root/Orion/kernel/src/arch/powerpc64/pghash.h:249:20: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘long unsigned int:52’ may change value [-Wconversion]
this->x.vsid = vsid;
^~~~
/root/Orion/kernel/src/arch/powerpc64/pghash.h:250:30: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:5’ may change value [-Wconversion]
this->x.api = virt_to_api( virt );
~~~~~~~~~~~^~~~~~~~
/root/Orion/kernel/src/arch/powerpc64/pghash.h:251:17: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:1’ may change value [-Wconversion]
this->x.h = second;
^~~~~~
/root/Orion/kernel/src/arch/powerpc64/pghash.h: In member function ‘void ppc64_pte_t::create(word_t, word_t, word_t, word_t, word_t)’:
/root/Orion/kernel/src/arch/powerpc64/pghash.h:262:20: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘long unsigned int:52’ may change value [-Wconversion]
this->x.vsid = vsid;
^~~~
/root/Orion/kernel/src/arch/powerpc64/pghash.h:265:36: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:5’ may change value [-Wconversion]
this->x.api = virt_to_api( virt ) & (~(1ul));
~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
/root/Orion/kernel/src/arch/powerpc64/pghash.h:267:27: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:5’ may change value [-Wconversion]
this->x.api = virt_to_api( virt );
~~~~~~~~~~~^~~~~~~~
/root/Orion/kernel/src/arch/powerpc64/pghash.h:269:17: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:1’ may change value [-Wconversion]
this->x.l = large;
^~~~~
/root/Orion/kernel/src/arch/powerpc64/pghash.h:270:17: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:1’ may change value [-Wconversion]
this->x.h = second;
^~~~~~
/root/Orion/kernel/src/arch/powerpc64/pghash.h: In member function ‘void ppc64_pte_t::create(word_t, word_t, word_t, word_t, word_t, word_t)’:
/root/Orion/kernel/src/arch/powerpc64/pghash.h:281:20: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘long unsigned int:52’ may change value [-Wconversion]
this->x.vsid = vsid;
^~~~
/root/Orion/kernel/src/arch/powerpc64/pghash.h:284:36: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:5’ may change value [-Wconversion]
this->x.api = virt_to_api( virt ) & (~(1ul));
~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
/root/Orion/kernel/src/arch/powerpc64/pghash.h:286:27: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:5’ may change value [-Wconversion]
this->x.api = virt_to_api( virt );
~~~~~~~~~~~^~~~~~~~
/root/Orion/kernel/src/arch/powerpc64/pghash.h:288:22: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:1’ may change value [-Wconversion]
this->x.bolted = bolted;
^~~~~~
/root/Orion/kernel/src/arch/powerpc64/pghash.h:289:17: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:1’ may change value [-Wconversion]
this->x.l = large;
^~~~~
/root/Orion/kernel/src/arch/powerpc64/pghash.h:290:17: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:1’ may change value [-Wconversion]
this->x.h = second;
^~~~~~
In file included from /root/Orion/kernel/src/glue/v4-powerpc64/space.h:41,
from /root/Orion/kernel/src/api/v4/space.h:36,
from /root/Orion/kernel/src/api/v4/tcb.h:43,
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:81:40: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘long unsigned int:54’ may change value [-Wconversion]
mem.x.base = (base & (~0UL << size)) >> 10;
~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
/root/Orion/kernel/src/api/v4/fpage.h:82:16: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:6’ may change value [-Wconversion]
mem.x.size = size;
^~~~
In file included from /root/Orion/kernel/src/api/v4/kernelinterface.h:49,
from /root/Orion/kernel/src/api/v4/thread.h:36,
from /root/Orion/kernel/src/glue/v4-powerpc64/space.h:42,
from /root/Orion/kernel/src/api/v4/space.h:36,
from /root/Orion/kernel/src/api/v4/tcb.h:43,
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:120: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:121: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:123: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:124: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:36,
from /root/Orion/kernel/src/glue/v4-powerpc64/space.h:42,
from /root/Orion/kernel/src/api/v4/space.h:36,
from /root/Orion/kernel/src/api/v4/tcb.h:43,
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:173: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:174: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/glue/v4-powerpc64/space.h:42,
from /root/Orion/kernel/src/api/v4/space.h:36,
from /root/Orion/kernel/src/api/v4/tcb.h:43,
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::anylocalthread()’:
/root/Orion/kernel/src/api/v4/thread.h:58:32: warning: conversion from ‘long unsigned int’ to ‘unsigned char:6’ may change value [-Wconversion]
tid.local.zero = tid.local.id = 0;
~~~~~~~~~~~~~^~~
/root/Orion/kernel/src/api/v4/thread.h:59:15: warning: conversion from ‘long unsigned int’ to ‘long unsigned int:58’ may change value [-Wconversion]
tid.local.id -= 1;
~~~~~~~~~~~~~^~~~
/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:74:24: 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:88:23: 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:89:24: 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:144: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:145: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/glue/v4-powerpc64/space.h:54,
from /root/Orion/kernel/src/api/v4/space.h:36,
from /root/Orion/kernel/src/api/v4/tcb.h:43,
from /root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:37:
/root/Orion/kernel/src/generic/mdb.h: In constructor ‘mdb_t::range_t::range_t(addr_t, word_t)’:
/root/Orion/kernel/src/generic/mdb.h:119:24: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘long unsigned int:57’ may change value [-Wconversion]
idx = (word_t) b >> s;
~~~~~~~~~~~^~~~
/root/Orion/kernel/src/generic/mdb.h:120:14: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:6’ may change value [-Wconversion]
size = s;
^
/root/Orion/kernel/src/generic/mdb.h: In member function ‘void mdb_node_t::set_next(mdb_node_t*)’:
/root/Orion/kernel/src/generic/mdb.h:549:22: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘long unsigned int:63’ may change value [-Wconversion]
next = ((word_t) n) >> 1;
~~~~~~~~~~~~~^~~~
/root/Orion/kernel/src/generic/mdb.h: In member function ‘void mdb_node_t::set_table(mdb_table_t*)’:
/root/Orion/kernel/src/generic/mdb.h:562:25: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘long unsigned int:63’ may change value [-Wconversion]
next = ((word_t) t) >> 1;
~~~~~~~~~~~~~^~~~
/root/Orion/kernel/src/generic/mdb.h: In member function ‘void mdb_node_t::remove_table()’:
/root/Orion/kernel/src/generic/mdb.h:571:49: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘long unsigned int:63’ may change value [-Wconversion]
next = ((word_t) get_table ()->get_node ()) >> 1;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
/root/Orion/kernel/src/generic/mdb.h: In member function ‘void mdb_node_t::set_depth(word_t)’:
/root/Orion/kernel/src/generic/mdb.h:581:13: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘long unsigned int:50’ may change value [-Wconversion]
depth = d;
^
/root/Orion/kernel/src/generic/mdb.h: In member function ‘void mdb_node_t::set_objsize(word_t)’:
/root/Orion/kernel/src/generic/mdb.h:599:16: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:6’ may change value [-Wconversion]
obj_size = s;
^
/root/Orion/kernel/src/generic/mdb.h: In member function ‘void mdb_node_t::set_inrights(word_t)’:
/root/Orion/kernel/src/generic/mdb.h:617:17: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:4’ may change value [-Wconversion]
in_rights = r;
^
/root/Orion/kernel/src/generic/mdb.h: In member function ‘void mdb_node_t::set_outrights(word_t)’:
/root/Orion/kernel/src/generic/mdb.h:626:18: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:4’ may change value [-Wconversion]
out_rights = r;
^
/root/Orion/kernel/src/generic/mdb.h: In member function ‘void mdb_tableent_t::set_table(mdb_table_t*)’:
/root/Orion/kernel/src/generic/mdb.h:692:24: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘long unsigned int:63’ may change value [-Wconversion]
ptr = ((word_t) t) >> 1;
~~~~~~~~~~~~~^~~~
/root/Orion/kernel/src/generic/mdb.h: In member function ‘void mdb_tableent_t::set_node(mdb_node_t*)’:
/root/Orion/kernel/src/generic/mdb.h:705:21: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘long unsigned int:63’ may change value [-Wconversion]
ptr = ((word_t) n) >> 1;
~~~~~~~~~~~~~^~~~
/root/Orion/kernel/src/generic/mdb.h: In member function ‘void mdb_table_t::remove_table(word_t)’:
/root/Orion/kernel/src/generic/mdb.h:838:27: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘long unsigned int:63’ may change value [-Wconversion]
e->ptr = ((word_t) n) >> 1;
~~~~~~~~~~~~~^~~~
/root/Orion/kernel/src/generic/mdb.h: In member function ‘void mdb_table_t::set_objsize(word_t)’:
/root/Orion/kernel/src/generic/mdb.h:901:15: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:6’ may change value [-Wconversion]
objsize = s;
^
In file included from /root/Orion/kernel/src/api/v4/space.h:36,
from /root/Orion/kernel/src/api/v4/tcb.h:43,
from /root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:37:
/root/Orion/kernel/src/glue/v4-powerpc64/space.h: At global scope:
/root/Orion/kernel/src/glue/v4-powerpc64/space.h:125:12: error: extra qualification ‘space_t::’ on member ‘space_control’ [-fpermissive]
word_t space_t::space_control (word_t ctrl, fpage_t kip_area, fpage_t utcb_area, threadid_t redirector_tid) { return 0; }
^~~~~~~
/root/Orion/kernel/src/glue/v4-powerpc64/space.h:179:10: error: extra qualification ‘space_t::’ on member ‘add_mapping’ [-fpermissive]
void space_t::add_mapping( addr_t vaddr, addr_t paddr,
^~~~~~~
/root/Orion/kernel/src/glue/v4-powerpc64/space.h:334:13: error: no declaration matches ‘void space_t::add_tcb(tcb_t*, cpuid_t)’
INLINE void space_t::add_tcb(tcb_t * tcb, cpuid_t cpu)
^~~~~~~
/root/Orion/kernel/src/glue/v4-powerpc64/space.h:310:13: note: candidate is: ‘void space_t::add_tcb(tcb_t*)’
inline void space_t::add_tcb(tcb_t * tcb)
^~~~~~~
/root/Orion/kernel/src/glue/v4-powerpc64/space.h:67:7: note: ‘class space_t’ defined here
class space_t
^~~~~~~
/root/Orion/kernel/src/glue/v4-powerpc64/space.h:344:13: error: no declaration matches ‘bool space_t::remove_tcb(tcb_t*, cpuid_t)’
INLINE bool space_t::remove_tcb(tcb_t * tcb, cpuid_t cpu)
^~~~~~~
/root/Orion/kernel/src/glue/v4-powerpc64/space.h:320:13: note: candidate is: ‘bool space_t::remove_tcb(tcb_t*)’
inline bool space_t::remove_tcb(tcb_t * tcb)
^~~~~~~
/root/Orion/kernel/src/glue/v4-powerpc64/space.h:67:7: note: ‘class space_t’ defined here
class space_t
^~~~~~~
In file included from /root/Orion/kernel/src/api/v4/tcb.h:48,
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)’:
/root/Orion/kernel/src/api/v4/ipc.h:89:22: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:6’ may change value [-Wconversion]
this->x.typed = typed;
^~~~~
/root/Orion/kernel/src/api/v4/ipc.h:90:24: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:6’ may change value [-Wconversion]
this->x.untyped = untyped;
^~~~~~~
/root/Orion/kernel/src/api/v4/ipc.h:91:22: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘long unsigned int:48’ may change value [-Wconversion]
this->x.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:258: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:34:
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc: At global scope:
/root/Orion/kernel/src/generic/mkasmsym.h:40:55: error: array bound is not an integer constant before ‘]’ token
struct sym ##_sign_t { char x[32*((value) < 0 ? 1 : 2)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:50:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MR, (((word_t) &UTCB->mr[0]) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:42:65: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b0_t { char x[32*((__ABSVALUE(value) >> 0) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:50:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MR, (((word_t) &UTCB->mr[0]) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:44:65: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b1_t { char x[32*((__ABSVALUE(value) >> 8) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:50:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MR, (((word_t) &UTCB->mr[0]) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:46:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b2_t { char x[32*((__ABSVALUE(value) >> 16) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:50:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MR, (((word_t) &UTCB->mr[0]) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:48:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b3_t { char x[32*((__ABSVALUE(value) >> 24) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:50:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MR, (((word_t) &UTCB->mr[0]) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:50:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b4_t { char x[32*((__ABSVALUE(value) >> 32) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:50:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MR, (((word_t) &UTCB->mr[0]) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:52:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b5_t { char x[32*((__ABSVALUE(value) >> 40) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:50:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MR, (((word_t) &UTCB->mr[0]) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:54:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b6_t { char x[32*((__ABSVALUE(value) >> 48) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:50:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MR, (((word_t) &UTCB->mr[0]) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:56:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b7_t { char x[32*((__ABSVALUE(value) >> 56) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:50:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MR, (((word_t) &UTCB->mr[0]) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:40:55: error: array bound is not an integer constant before ‘]’ token
struct sym ##_sign_t { char x[32*((value) < 0 ? 1 : 2)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:51:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_EXCEPTION_HANDLER, (((word_t) &UTCB->exception_handler) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:42:65: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b0_t { char x[32*((__ABSVALUE(value) >> 0) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:51:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_EXCEPTION_HANDLER, (((word_t) &UTCB->exception_handler) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:44:65: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b1_t { char x[32*((__ABSVALUE(value) >> 8) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:51:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_EXCEPTION_HANDLER, (((word_t) &UTCB->exception_handler) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:46:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b2_t { char x[32*((__ABSVALUE(value) >> 16) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:51:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_EXCEPTION_HANDLER, (((word_t) &UTCB->exception_handler) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:48:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b3_t { char x[32*((__ABSVALUE(value) >> 24) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:51:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_EXCEPTION_HANDLER, (((word_t) &UTCB->exception_handler) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:50:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b4_t { char x[32*((__ABSVALUE(value) >> 32) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:51:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_EXCEPTION_HANDLER, (((word_t) &UTCB->exception_handler) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:52:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b5_t { char x[32*((__ABSVALUE(value) >> 40) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:51:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_EXCEPTION_HANDLER, (((word_t) &UTCB->exception_handler) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:54:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b6_t { char x[32*((__ABSVALUE(value) >> 48) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:51:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_EXCEPTION_HANDLER, (((word_t) &UTCB->exception_handler) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:56:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b7_t { char x[32*((__ABSVALUE(value) >> 56) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:51:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_EXCEPTION_HANDLER, (((word_t) &UTCB->exception_handler) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:40:55: error: array bound is not an integer constant before ‘]’ token
struct sym ##_sign_t { char x[32*((value) < 0 ? 1 : 2)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:52:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MY_GLOBAL_ID, (((word_t) &UTCB->my_global_id) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:42:65: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b0_t { char x[32*((__ABSVALUE(value) >> 0) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:52:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MY_GLOBAL_ID, (((word_t) &UTCB->my_global_id) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:44:65: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b1_t { char x[32*((__ABSVALUE(value) >> 8) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:52:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MY_GLOBAL_ID, (((word_t) &UTCB->my_global_id) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:46:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b2_t { char x[32*((__ABSVALUE(value) >> 16) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:52:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MY_GLOBAL_ID, (((word_t) &UTCB->my_global_id) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:48:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b3_t { char x[32*((__ABSVALUE(value) >> 24) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:52:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MY_GLOBAL_ID, (((word_t) &UTCB->my_global_id) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:50:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b4_t { char x[32*((__ABSVALUE(value) >> 32) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:52:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MY_GLOBAL_ID, (((word_t) &UTCB->my_global_id) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:52:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b5_t { char x[32*((__ABSVALUE(value) >> 40) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:52:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MY_GLOBAL_ID, (((word_t) &UTCB->my_global_id) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:54:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b6_t { char x[32*((__ABSVALUE(value) >> 48) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:52:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MY_GLOBAL_ID, (((word_t) &UTCB->my_global_id) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:56:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b7_t { char x[32*((__ABSVALUE(value) >> 56) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:52:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MY_GLOBAL_ID, (((word_t) &UTCB->my_global_id) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:40:55: error: array bound is not an integer constant before ‘]’ token
struct sym ##_sign_t { char x[32*((value) < 0 ? 1 : 2)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:58:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( RTAS_ENTRY, (((word_t) &RTAS->entry) - ((word_t) RTAS)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:42:65: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b0_t { char x[32*((__ABSVALUE(value) >> 0) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:58:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( RTAS_ENTRY, (((word_t) &RTAS->entry) - ((word_t) RTAS)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:44:65: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b1_t { char x[32*((__ABSVALUE(value) >> 8) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:58:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( RTAS_ENTRY, (((word_t) &RTAS->entry) - ((word_t) RTAS)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:46:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b2_t { char x[32*((__ABSVALUE(value) >> 16) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:58:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( RTAS_ENTRY, (((word_t) &RTAS->entry) - ((word_t) RTAS)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:48:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b3_t { char x[32*((__ABSVALUE(value) >> 24) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:58:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( RTAS_ENTRY, (((word_t) &RTAS->entry) - ((word_t) RTAS)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:50:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b4_t { char x[32*((__ABSVALUE(value) >> 32) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:58:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( RTAS_ENTRY, (((word_t) &RTAS->entry) - ((word_t) RTAS)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:52:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b5_t { char x[32*((__ABSVALUE(value) >> 40) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:58:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( RTAS_ENTRY, (((word_t) &RTAS->entry) - ((word_t) RTAS)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:54:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b6_t { char x[32*((__ABSVALUE(value) >> 48) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:58:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( RTAS_ENTRY, (((word_t) &RTAS->entry) - ((word_t) RTAS)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:56:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b7_t { char x[32*((__ABSVALUE(value) >> 56) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:58:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( RTAS_ENTRY, (((word_t) &RTAS->entry) - ((word_t) RTAS)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:40:55: error: array bound is not an integer constant before ‘]’ token
struct sym ##_sign_t { char x[32*((value) < 0 ? 1 : 2)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:59:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( RTAS_BASE, (((word_t) &RTAS->base) - ((word_t) RTAS)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:42:65: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b0_t { char x[32*((__ABSVALUE(value) >> 0) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:59:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( RTAS_BASE, (((word_t) &RTAS->base) - ((word_t) RTAS)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:44:65: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b1_t { char x[32*((__ABSVALUE(value) >> 8) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:59:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( RTAS_BASE, (((word_t) &RTAS->base) - ((word_t) RTAS)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:46:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b2_t { char x[32*((__ABSVALUE(value) >> 16) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:59:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( RTAS_BASE, (((word_t) &RTAS->base) - ((word_t) RTAS)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:48:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b3_t { char x[32*((__ABSVALUE(value) >> 24) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:59:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( RTAS_BASE, (((word_t) &RTAS->base) - ((word_t) RTAS)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:50:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b4_t { char x[32*((__ABSVALUE(value) >> 32) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:59:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( RTAS_BASE, (((word_t) &RTAS->base) - ((word_t) RTAS)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:52:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b5_t { char x[32*((__ABSVALUE(value) >> 40) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:59:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( RTAS_BASE, (((word_t) &RTAS->base) - ((word_t) RTAS)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:54:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b6_t { char x[32*((__ABSVALUE(value) >> 48) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:59:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( RTAS_BASE, (((word_t) &RTAS->base) - ((word_t) RTAS)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:56:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b7_t { char x[32*((__ABSVALUE(value) >> 56) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:59:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( RTAS_BASE, (((word_t) &RTAS->base) - ((word_t) RTAS)));
^~~~~~~~
In file included from /root/Orion/kernel/src/glue/v4-powerpc64/space.h:44,
from /root/Orion/kernel/src/api/v4/space.h:36,
from /root/Orion/kernel/src/api/v4/tcb.h:43,
from /root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:37:
/root/Orion/kernel/src/glue/v4-powerpc64/pgent.h:196:22: warning: inline function ‘pgent_t* pgent_t::next(space_t*, pgent_t::pgsize_e, word_t)’ used but never defined
inline pgent_t * next( space_t * s, pgsize_e pgsize, word_t num );
^~~~
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: all] Error 2
Another attempt:
[root@fedora28 rpb8]# make clean
make[1]: Entering directory '/root/Orion/kernel/rpb8'
make[1]: Leaving directory '/root/Orion/kernel/rpb8'
[root@fedora28 rpb8]# make menuconfig
make[1]: Entering directory '/root/Orion/kernel/rpb8'
make[2]: Entering directory '/root/Orion/kernel/rpb8/config'
Side effects from config.out:
KDB_BREAKIN_BREAK=n (deduced from ARCH_POWERPC64)
KDB_CONS_COM=n (deduced from DEBUG)
KDB_BREAKIN_ESCAPE=n (deduced from DEBUG)
Rewriting Makeconf.local ...
make[2]: Leaving directory '/root/Orion/kernel/rpb8/config'
make[1]: Leaving directory '/root/Orion/kernel/rpb8'
[root@fedora28 rpb8]# make
make[1]: Entering directory '/root/Orion/kernel/rpb8'
===> Building dependencies
===> src/glue/v4-powerpc64/asmsyms.cc
cd src/glue/v4-powerpc64/ && gcc -nostdinc -I/root/Orion/kernel/rpb8/include -I/root/Orion/kernel/src -I/root/Orion/kernel/src/generic -I/usr/lib/gcc/ppc64-redhat-linux/8/include/ -Upowerpc64 -Upower4 -Uofpower4 -Uv4 -Urr -D__ARCH__=powerpc64 -D__CPU__=power4 -D__PLATFORM__=ofpower4 -D__API__=v4 -D__SCHED__=rr -imacros /root/Orion/kernel/rpb8/config/config.h -imacros /root/Orion/kernel/src/generic/macros.h -include /root/Orion/kernel/src/generic/config.h -include /root/Orion/kernel/src/generic/types.h -fno-rtti -fno-builtin -fomit-frame-pointer -fno-exceptions -Wall -Wno-non-virtual-dtor -Wno-format -O2 -mpowerpc64 -msoft-float -mno-minimal-toc -mcpu=power4 -Wconversion -c /root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc
In file included from /root/Orion/kernel/src/api/v4/tcb.h:39,
from /root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:37:
/root/Orion/kernel/src/api/v4/types.h: In static member function ‘static time_t time_t::period(u16_t, u16_t)’:
/root/Orion/kernel/src/api/v4/types.h:70:22: warning: conversion from ‘u16_t’ {aka ‘short unsigned int’} to ‘short unsigned int:10’ may change value [-Wconversion]
ret.time.mantissa = mantissa;
^~~~~~~~
/root/Orion/kernel/src/api/v4/types.h:71:22: warning: conversion from ‘u16_t’ {aka ‘short unsigned int’} to ‘unsigned char:5’ may change value [-Wconversion]
ret.time.exponent = exponent;
^~~~~~~~
/root/Orion/kernel/src/api/v4/types.h: In static member function ‘static time_t time_t::point(u16_t, u16_t)’:
/root/Orion/kernel/src/api/v4/types.h:79:22: warning: conversion from ‘u16_t’ {aka ‘short unsigned int’} to ‘short unsigned int:10’ may change value [-Wconversion]
ret.time.mantissa = mantissa;
^~~~~~~~
/root/Orion/kernel/src/api/v4/types.h:80:22: warning: conversion from ‘u16_t’ {aka ‘short unsigned int’} to ‘unsigned char:5’ may change value [-Wconversion]
ret.time.exponent = exponent;
^~~~~~~~
In file included from /root/Orion/kernel/src/glue/v4-powerpc64/space.h:39,
from /root/Orion/kernel/src/api/v4/space.h:36,
from /root/Orion/kernel/src/api/v4/tcb.h:43,
from /root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:37:
/root/Orion/kernel/src/arch/powerpc64/pghash.h: In member function ‘void ppc64_sdr1_t::create(word_t, word_t)’:
/root/Orion/kernel/src/arch/powerpc64/pghash.h:223:28: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘long unsigned int:46’ may change value [-Wconversion]
this->x.htaborg = base >> POWERPC64_HTABORG_SHIFT;
^
/root/Orion/kernel/src/arch/powerpc64/pghash.h:224:24: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:5’ may change value [-Wconversion]
this->x.htabsize = size;
^~~~
/root/Orion/kernel/src/arch/powerpc64/pghash.h: In member function ‘void ppc64_pte_t::create_4k(word_t, word_t, word_t, word_t)’:
/root/Orion/kernel/src/arch/powerpc64/pghash.h:249:20: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘long unsigned int:52’ may change value [-Wconversion]
this->x.vsid = vsid;
^~~~
/root/Orion/kernel/src/arch/powerpc64/pghash.h:250:30: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:5’ may change value [-Wconversion]
this->x.api = virt_to_api( virt );
~~~~~~~~~~~^~~~~~~~
/root/Orion/kernel/src/arch/powerpc64/pghash.h:251:17: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:1’ may change value [-Wconversion]
this->x.h = second;
^~~~~~
/root/Orion/kernel/src/arch/powerpc64/pghash.h: In member function ‘void ppc64_pte_t::create(word_t, word_t, word_t, word_t, word_t)’:
/root/Orion/kernel/src/arch/powerpc64/pghash.h:262:20: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘long unsigned int:52’ may change value [-Wconversion]
this->x.vsid = vsid;
^~~~
/root/Orion/kernel/src/arch/powerpc64/pghash.h:265:36: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:5’ may change value [-Wconversion]
this->x.api = virt_to_api( virt ) & (~(1ul));
~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
/root/Orion/kernel/src/arch/powerpc64/pghash.h:267:27: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:5’ may change value [-Wconversion]
this->x.api = virt_to_api( virt );
~~~~~~~~~~~^~~~~~~~
/root/Orion/kernel/src/arch/powerpc64/pghash.h:269:17: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:1’ may change value [-Wconversion]
this->x.l = large;
^~~~~
/root/Orion/kernel/src/arch/powerpc64/pghash.h:270:17: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:1’ may change value [-Wconversion]
this->x.h = second;
^~~~~~
/root/Orion/kernel/src/arch/powerpc64/pghash.h: In member function ‘void ppc64_pte_t::create(word_t, word_t, word_t, word_t, word_t, word_t)’:
/root/Orion/kernel/src/arch/powerpc64/pghash.h:281:20: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘long unsigned int:52’ may change value [-Wconversion]
this->x.vsid = vsid;
^~~~
/root/Orion/kernel/src/arch/powerpc64/pghash.h:284:36: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:5’ may change value [-Wconversion]
this->x.api = virt_to_api( virt ) & (~(1ul));
~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
/root/Orion/kernel/src/arch/powerpc64/pghash.h:286:27: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:5’ may change value [-Wconversion]
this->x.api = virt_to_api( virt );
~~~~~~~~~~~^~~~~~~~
/root/Orion/kernel/src/arch/powerpc64/pghash.h:288:22: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:1’ may change value [-Wconversion]
this->x.bolted = bolted;
^~~~~~
/root/Orion/kernel/src/arch/powerpc64/pghash.h:289:17: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:1’ may change value [-Wconversion]
this->x.l = large;
^~~~~
/root/Orion/kernel/src/arch/powerpc64/pghash.h:290:17: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:1’ may change value [-Wconversion]
this->x.h = second;
^~~~~~
In file included from /root/Orion/kernel/src/glue/v4-powerpc64/space.h:41,
from /root/Orion/kernel/src/api/v4/space.h:36,
from /root/Orion/kernel/src/api/v4/tcb.h:43,
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:81:40: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘long unsigned int:54’ may change value [-Wconversion]
mem.x.base = (base & (~0UL << size)) >> 10;
~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
/root/Orion/kernel/src/api/v4/fpage.h:82:16: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:6’ may change value [-Wconversion]
mem.x.size = size;
^~~~
In file included from /root/Orion/kernel/src/api/v4/kernelinterface.h:49,
from /root/Orion/kernel/src/api/v4/thread.h:36,
from /root/Orion/kernel/src/glue/v4-powerpc64/space.h:42,
from /root/Orion/kernel/src/api/v4/space.h:36,
from /root/Orion/kernel/src/api/v4/tcb.h:43,
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:120: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:121: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:123: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:124: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:36,
from /root/Orion/kernel/src/glue/v4-powerpc64/space.h:42,
from /root/Orion/kernel/src/api/v4/space.h:36,
from /root/Orion/kernel/src/api/v4/tcb.h:43,
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:173: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:174: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/glue/v4-powerpc64/space.h:42,
from /root/Orion/kernel/src/api/v4/space.h:36,
from /root/Orion/kernel/src/api/v4/tcb.h:43,
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::anylocalthread()’:
/root/Orion/kernel/src/api/v4/thread.h:58:32: warning: conversion from ‘long unsigned int’ to ‘unsigned char:6’ may change value [-Wconversion]
tid.local.zero = tid.local.id = 0;
~~~~~~~~~~~~~^~~
/root/Orion/kernel/src/api/v4/thread.h:59:15: warning: conversion from ‘long unsigned int’ to ‘long unsigned int:58’ may change value [-Wconversion]
tid.local.id -= 1;
~~~~~~~~~~~~~^~~~
/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:74:24: 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:88:23: 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:89:24: 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:144: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:145: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/glue/v4-powerpc64/space.h:54,
from /root/Orion/kernel/src/api/v4/space.h:36,
from /root/Orion/kernel/src/api/v4/tcb.h:43,
from /root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:37:
/root/Orion/kernel/src/generic/mdb.h: In constructor ‘mdb_t::range_t::range_t(addr_t, word_t)’:
/root/Orion/kernel/src/generic/mdb.h:119:24: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘long unsigned int:57’ may change value [-Wconversion]
idx = (word_t) b >> s;
~~~~~~~~~~~^~~~
/root/Orion/kernel/src/generic/mdb.h:120:14: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:6’ may change value [-Wconversion]
size = s;
^
/root/Orion/kernel/src/generic/mdb.h: In member function ‘void mdb_node_t::set_next(mdb_node_t*)’:
/root/Orion/kernel/src/generic/mdb.h:549:22: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘long unsigned int:63’ may change value [-Wconversion]
next = ((word_t) n) >> 1;
~~~~~~~~~~~~~^~~~
/root/Orion/kernel/src/generic/mdb.h: In member function ‘void mdb_node_t::set_table(mdb_table_t*)’:
/root/Orion/kernel/src/generic/mdb.h:562:25: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘long unsigned int:63’ may change value [-Wconversion]
next = ((word_t) t) >> 1;
~~~~~~~~~~~~~^~~~
/root/Orion/kernel/src/generic/mdb.h: In member function ‘void mdb_node_t::remove_table()’:
/root/Orion/kernel/src/generic/mdb.h:571:49: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘long unsigned int:63’ may change value [-Wconversion]
next = ((word_t) get_table ()->get_node ()) >> 1;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
/root/Orion/kernel/src/generic/mdb.h: In member function ‘void mdb_node_t::set_depth(word_t)’:
/root/Orion/kernel/src/generic/mdb.h:581:13: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘long unsigned int:50’ may change value [-Wconversion]
depth = d;
^
/root/Orion/kernel/src/generic/mdb.h: In member function ‘void mdb_node_t::set_objsize(word_t)’:
/root/Orion/kernel/src/generic/mdb.h:599:16: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:6’ may change value [-Wconversion]
obj_size = s;
^
/root/Orion/kernel/src/generic/mdb.h: In member function ‘void mdb_node_t::set_inrights(word_t)’:
/root/Orion/kernel/src/generic/mdb.h:617:17: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:4’ may change value [-Wconversion]
in_rights = r;
^
/root/Orion/kernel/src/generic/mdb.h: In member function ‘void mdb_node_t::set_outrights(word_t)’:
/root/Orion/kernel/src/generic/mdb.h:626:18: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:4’ may change value [-Wconversion]
out_rights = r;
^
/root/Orion/kernel/src/generic/mdb.h: In member function ‘void mdb_tableent_t::set_table(mdb_table_t*)’:
/root/Orion/kernel/src/generic/mdb.h:692:24: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘long unsigned int:63’ may change value [-Wconversion]
ptr = ((word_t) t) >> 1;
~~~~~~~~~~~~~^~~~
/root/Orion/kernel/src/generic/mdb.h: In member function ‘void mdb_tableent_t::set_node(mdb_node_t*)’:
/root/Orion/kernel/src/generic/mdb.h:705:21: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘long unsigned int:63’ may change value [-Wconversion]
ptr = ((word_t) n) >> 1;
~~~~~~~~~~~~~^~~~
/root/Orion/kernel/src/generic/mdb.h: In member function ‘void mdb_table_t::remove_table(word_t)’:
/root/Orion/kernel/src/generic/mdb.h:838:27: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘long unsigned int:63’ may change value [-Wconversion]
e->ptr = ((word_t) n) >> 1;
~~~~~~~~~~~~~^~~~
/root/Orion/kernel/src/generic/mdb.h: In member function ‘void mdb_table_t::set_objsize(word_t)’:
/root/Orion/kernel/src/generic/mdb.h:901:15: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:6’ may change value [-Wconversion]
objsize = s;
^
In file included from /root/Orion/kernel/src/api/v4/space.h:36,
from /root/Orion/kernel/src/api/v4/tcb.h:43,
from /root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:37:
/root/Orion/kernel/src/glue/v4-powerpc64/space.h: At global scope:
/root/Orion/kernel/src/glue/v4-powerpc64/space.h:125:12: error: extra qualification ‘space_t::’ on member ‘space_control’ [-fpermissive]
word_t space_t::space_control (word_t ctrl, fpage_t kip_area, fpage_t utcb_area, threadid_t redirector_tid) { return 0; }
^~~~~~~
/root/Orion/kernel/src/glue/v4-powerpc64/space.h:179:10: error: extra qualification ‘space_t::’ on member ‘add_mapping’ [-fpermissive]
void space_t::add_mapping( addr_t vaddr, addr_t paddr,
^~~~~~~
/root/Orion/kernel/src/glue/v4-powerpc64/space.h:334:13: error: no declaration matches ‘void space_t::add_tcb(tcb_t*, cpuid_t)’
INLINE void space_t::add_tcb(tcb_t * tcb, cpuid_t cpu)
^~~~~~~
/root/Orion/kernel/src/glue/v4-powerpc64/space.h:310:13: note: candidate is: ‘void space_t::add_tcb(tcb_t*)’
inline void space_t::add_tcb(tcb_t * tcb)
^~~~~~~
/root/Orion/kernel/src/glue/v4-powerpc64/space.h:67:7: note: ‘class space_t’ defined here
class space_t
^~~~~~~
/root/Orion/kernel/src/glue/v4-powerpc64/space.h:344:13: error: no declaration matches ‘bool space_t::remove_tcb(tcb_t*, cpuid_t)’
INLINE bool space_t::remove_tcb(tcb_t * tcb, cpuid_t cpu)
^~~~~~~
/root/Orion/kernel/src/glue/v4-powerpc64/space.h:320:13: note: candidate is: ‘bool space_t::remove_tcb(tcb_t*)’
inline bool space_t::remove_tcb(tcb_t * tcb)
^~~~~~~
/root/Orion/kernel/src/glue/v4-powerpc64/space.h:67:7: note: ‘class space_t’ defined here
class space_t
^~~~~~~
In file included from /root/Orion/kernel/src/api/v4/tcb.h:48,
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)’:
/root/Orion/kernel/src/api/v4/ipc.h:89:22: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:6’ may change value [-Wconversion]
this->x.typed = typed;
^~~~~
/root/Orion/kernel/src/api/v4/ipc.h:90:24: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘unsigned char:6’ may change value [-Wconversion]
this->x.untyped = untyped;
^~~~~~~
/root/Orion/kernel/src/api/v4/ipc.h:91:22: warning: conversion from ‘word_t’ {aka ‘long unsigned int’} to ‘long unsigned int:48’ may change value [-Wconversion]
this->x.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:258: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:34:
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc: At global scope:
/root/Orion/kernel/src/generic/mkasmsym.h:40:55: error: array bound is not an integer constant before ‘]’ token
struct sym ##_sign_t { char x[32*((value) < 0 ? 1 : 2)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:50:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MR, (((word_t) &UTCB->mr[0]) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:42:65: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b0_t { char x[32*((__ABSVALUE(value) >> 0) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:50:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MR, (((word_t) &UTCB->mr[0]) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:44:65: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b1_t { char x[32*((__ABSVALUE(value) >> 8) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:50:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MR, (((word_t) &UTCB->mr[0]) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:46:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b2_t { char x[32*((__ABSVALUE(value) >> 16) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:50:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MR, (((word_t) &UTCB->mr[0]) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:48:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b3_t { char x[32*((__ABSVALUE(value) >> 24) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:50:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MR, (((word_t) &UTCB->mr[0]) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:50:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b4_t { char x[32*((__ABSVALUE(value) >> 32) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:50:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MR, (((word_t) &UTCB->mr[0]) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:52:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b5_t { char x[32*((__ABSVALUE(value) >> 40) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:50:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MR, (((word_t) &UTCB->mr[0]) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:54:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b6_t { char x[32*((__ABSVALUE(value) >> 48) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:50:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MR, (((word_t) &UTCB->mr[0]) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:56:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b7_t { char x[32*((__ABSVALUE(value) >> 56) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:50:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MR, (((word_t) &UTCB->mr[0]) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:40:55: error: array bound is not an integer constant before ‘]’ token
struct sym ##_sign_t { char x[32*((value) < 0 ? 1 : 2)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:51:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_EXCEPTION_HANDLER, (((word_t) &UTCB->exception_handler) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:42:65: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b0_t { char x[32*((__ABSVALUE(value) >> 0) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:51:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_EXCEPTION_HANDLER, (((word_t) &UTCB->exception_handler) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:44:65: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b1_t { char x[32*((__ABSVALUE(value) >> 8) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:51:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_EXCEPTION_HANDLER, (((word_t) &UTCB->exception_handler) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:46:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b2_t { char x[32*((__ABSVALUE(value) >> 16) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:51:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_EXCEPTION_HANDLER, (((word_t) &UTCB->exception_handler) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:48:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b3_t { char x[32*((__ABSVALUE(value) >> 24) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:51:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_EXCEPTION_HANDLER, (((word_t) &UTCB->exception_handler) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:50:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b4_t { char x[32*((__ABSVALUE(value) >> 32) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:51:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_EXCEPTION_HANDLER, (((word_t) &UTCB->exception_handler) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:52:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b5_t { char x[32*((__ABSVALUE(value) >> 40) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:51:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_EXCEPTION_HANDLER, (((word_t) &UTCB->exception_handler) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:54:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b6_t { char x[32*((__ABSVALUE(value) >> 48) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:51:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_EXCEPTION_HANDLER, (((word_t) &UTCB->exception_handler) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:56:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b7_t { char x[32*((__ABSVALUE(value) >> 56) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:51:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_EXCEPTION_HANDLER, (((word_t) &UTCB->exception_handler) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:40:55: error: array bound is not an integer constant before ‘]’ token
struct sym ##_sign_t { char x[32*((value) < 0 ? 1 : 2)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:52:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MY_GLOBAL_ID, (((word_t) &UTCB->my_global_id) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:42:65: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b0_t { char x[32*((__ABSVALUE(value) >> 0) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:52:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MY_GLOBAL_ID, (((word_t) &UTCB->my_global_id) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:44:65: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b1_t { char x[32*((__ABSVALUE(value) >> 8) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:52:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MY_GLOBAL_ID, (((word_t) &UTCB->my_global_id) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:46:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b2_t { char x[32*((__ABSVALUE(value) >> 16) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:52:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MY_GLOBAL_ID, (((word_t) &UTCB->my_global_id) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:48:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b3_t { char x[32*((__ABSVALUE(value) >> 24) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:52:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MY_GLOBAL_ID, (((word_t) &UTCB->my_global_id) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:50:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b4_t { char x[32*((__ABSVALUE(value) >> 32) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:52:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MY_GLOBAL_ID, (((word_t) &UTCB->my_global_id) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:52:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b5_t { char x[32*((__ABSVALUE(value) >> 40) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:52:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MY_GLOBAL_ID, (((word_t) &UTCB->my_global_id) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:54:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b6_t { char x[32*((__ABSVALUE(value) >> 48) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:52:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MY_GLOBAL_ID, (((word_t) &UTCB->my_global_id) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:56:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b7_t { char x[32*((__ABSVALUE(value) >> 56) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:52:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( OFS_UTCB_MY_GLOBAL_ID, (((word_t) &UTCB->my_global_id) - ((word_t) UTCB)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:40:55: error: array bound is not an integer constant before ‘]’ token
struct sym ##_sign_t { char x[32*((value) < 0 ? 1 : 2)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:58:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( RTAS_ENTRY, (((word_t) &RTAS->entry) - ((word_t) RTAS)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:42:65: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b0_t { char x[32*((__ABSVALUE(value) >> 0) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:58:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( RTAS_ENTRY, (((word_t) &RTAS->entry) - ((word_t) RTAS)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:44:65: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b1_t { char x[32*((__ABSVALUE(value) >> 8) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:58:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( RTAS_ENTRY, (((word_t) &RTAS->entry) - ((word_t) RTAS)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:46:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b2_t { char x[32*((__ABSVALUE(value) >> 16) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:58:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( RTAS_ENTRY, (((word_t) &RTAS->entry) - ((word_t) RTAS)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:48:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b3_t { char x[32*((__ABSVALUE(value) >> 24) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:58:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( RTAS_ENTRY, (((word_t) &RTAS->entry) - ((word_t) RTAS)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:50:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b4_t { char x[32*((__ABSVALUE(value) >> 32) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:58:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( RTAS_ENTRY, (((word_t) &RTAS->entry) - ((word_t) RTAS)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:52:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b5_t { char x[32*((__ABSVALUE(value) >> 40) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:58:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( RTAS_ENTRY, (((word_t) &RTAS->entry) - ((word_t) RTAS)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:54:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b6_t { char x[32*((__ABSVALUE(value) >> 48) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:58:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( RTAS_ENTRY, (((word_t) &RTAS->entry) - ((word_t) RTAS)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:56:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b7_t { char x[32*((__ABSVALUE(value) >> 56) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:58:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( RTAS_ENTRY, (((word_t) &RTAS->entry) - ((word_t) RTAS)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:40:55: error: array bound is not an integer constant before ‘]’ token
struct sym ##_sign_t { char x[32*((value) < 0 ? 1 : 2)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:59:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( RTAS_BASE, (((word_t) &RTAS->base) - ((word_t) RTAS)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:42:65: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b0_t { char x[32*((__ABSVALUE(value) >> 0) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:59:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( RTAS_BASE, (((word_t) &RTAS->base) - ((word_t) RTAS)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:44:65: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b1_t { char x[32*((__ABSVALUE(value) >> 8) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:59:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( RTAS_BASE, (((word_t) &RTAS->base) - ((word_t) RTAS)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:46:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b2_t { char x[32*((__ABSVALUE(value) >> 16) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:59:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( RTAS_BASE, (((word_t) &RTAS->base) - ((word_t) RTAS)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:48:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b3_t { char x[32*((__ABSVALUE(value) >> 24) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:59:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( RTAS_BASE, (((word_t) &RTAS->base) - ((word_t) RTAS)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:50:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b4_t { char x[32*((__ABSVALUE(value) >> 32) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:59:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( RTAS_BASE, (((word_t) &RTAS->base) - ((word_t) RTAS)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:52:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b5_t { char x[32*((__ABSVALUE(value) >> 40) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:59:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( RTAS_BASE, (((word_t) &RTAS->base) - ((word_t) RTAS)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:54:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b6_t { char x[32*((__ABSVALUE(value) >> 48) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:59:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( RTAS_BASE, (((word_t) &RTAS->base) - ((word_t) RTAS)));
^~~~~~~~
/root/Orion/kernel/src/generic/mkasmsym.h:56:66: error: array bound is not an integer constant before ‘]’ token
struct sym ##_b7_t { char x[32*((__ABSVALUE(value) >> 56) & 0xff)]; }; \
^
/root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:59:1: note: in expansion of macro ‘MKASMSYM’
MKASMSYM( RTAS_BASE, (((word_t) &RTAS->base) - ((word_t) RTAS)));
^~~~~~~~
In file included from /root/Orion/kernel/src/glue/v4-powerpc64/space.h:44,
from /root/Orion/kernel/src/api/v4/space.h:36,
from /root/Orion/kernel/src/api/v4/tcb.h:43,
from /root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:37:
/root/Orion/kernel/src/glue/v4-powerpc64/pgent.h:196:22: warning: inline function ‘pgent_t* pgent_t::next(space_t*, pgent_t::pgsize_e, word_t)’ used but never defined
inline pgent_t * next( space_t * s, pgsize_e pgsize, word_t num );
^~~~
===> src/generic/lib.cc
cd src/generic/ && gcc -nostdinc -I/root/Orion/kernel/rpb8/include -I/root/Orion/kernel/src -I/root/Orion/kernel/src/generic -I/usr/lib/gcc/ppc64-redhat-linux/8/include/ -Upowerpc64 -Upower4 -Uofpower4 -Uv4 -Urr -D__ARCH__=powerpc64 -D__CPU__=power4 -D__PLATFORM__=ofpower4 -D__API__=v4 -D__SCHED__=rr -imacros /root/Orion/kernel/rpb8/config/config.h -imacros /root/Orion/kernel/src/generic/macros.h -include /root/Orion/kernel/src/generic/config.h -include /root/Orion/kernel/src/generic/types.h -fno-rtti -fno-builtin -fomit-frame-pointer -fno-exceptions -Wall -Wno-non-virtual-dtor -Wno-format -O2 -mpowerpc64 -msoft-float -mno-minimal-toc -mcpu=power4 -Wconversion -c /root/Orion/kernel/src/generic/lib.cc
/root/Orion/kernel/src/generic/lib.cc: In function ‘void* memset(void*, unsigned int, unsigned int)’:
/root/Orion/kernel/src/generic/lib.cc:55:9: warning: conversion from ‘unsigned int’ to ‘u8_t’ {aka ‘unsigned char’} may change value [-Wconversion]
*s++ = c;
^
===> src/generic/kmemory.cc
cd src/generic/ && gcc -nostdinc -I/root/Orion/kernel/rpb8/include -I/root/Orion/kernel/src -I/root/Orion/kernel/src/generic -I/usr/lib/gcc/ppc64-redhat-linux/8/include/ -Upowerpc64 -Upower4 -Uofpower4 -Uv4 -Urr -D__ARCH__=powerpc64 -D__CPU__=power4 -D__PLATFORM__=ofpower4 -D__API__=v4 -D__SCHED__=rr -imacros /root/Orion/kernel/rpb8/config/config.h -imacros /root/Orion/kernel/src/generic/macros.h -include /root/Orion/kernel/src/generic/config.h -include /root/Orion/kernel/src/generic/types.h -fno-rtti -fno-builtin -fomit-frame-pointer -fno-exceptions -Wall -Wno-non-virtual-dtor -Wno-format -O2 -mpowerpc64 -msoft-float -mno-minimal-toc -mcpu=power4 -Wconversion -c /root/Orion/kernel/src/generic/kmemory.cc
===> src/platform/ofpower4/head.S
cd src/platform/ofpower4/ && gcc -DASSEMBLY -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 -c /root/Orion/kernel/src/platform/ofpower4/head.S
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: all] Error 2
[root@fedora28 rpb8]#
With an older GCC, we get:
[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 -c /root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc
In file included from /root/Orion/kernel/src/api/v4/space.h:36,
from /root/Orion/kernel/src/api/v4/tcb.h:43,
from /root/Orion/kernel/src/glue/v4-powerpc64/asmsyms.cc:37:
/root/Orion/kernel/src/glue/v4-powerpc64/space.h:335: error: prototype for `void space_t::add_tcb(tcb_t*, cpuid_t)' does not match any in class `space_t'
/root/Orion/kernel/src/glue/v4-powerpc64/space.h:311: error: candidate is: void space_t::add_tcb(tcb_t*)
/root/Orion/kernel/src/glue/v4-powerpc64/space.h:345: error: prototype for `bool space_t::remove_tcb(tcb_t*, cpuid_t)' does not match any in class `space_t'
/root/Orion/kernel/src/glue/v4-powerpc64/space.h:322: error: candidate is: bool space_t::remove_tcb(tcb_t*)
/root/Orion/kernel/src/glue/v4-powerpc64/pgent.h:196: warning: inline function `pgent_t* pgent_t::next(space_t*, pgent_t::pgsize_e, word_t)' used but never defined
===> 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 -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 -c /root/Orion/kernel/src/generic/kmemory.cc
===> src/platform/ofpower4/head.S
cd src/platform/ofpower4/ && gcc34 -DASSEMBLY -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 -c /root/Orion/kernel/src/platform/ofpower4/head.S
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: all] Error 2
[root@fedora28 rpb8]#
Looks like the NICTA folks put the kernel includes in a different place, and also provide a modified version of mkasmsym.h:
[root@fedora28 rpb8]# diff ../../kernel/include/mkasmsym.h /root/Orion/kernel/src/generic/mkasmsym.h^C
[root@fedora28 rpb8]# pwd
/root/Orion/kernel/rpb8
[root@fedora28 rpb8]# diff ../../kernel/include/mkasmsym.h /root/Orion/kernel/src/generic/mkasmsym.h
3c3
< * Copyright (C) 2002-2004, Karlsruhe University
---
> * Copyright (C) 2002-2006, Karlsruhe University
30c30
< * $Id: mkasmsym.h,v 1.5 2004/04/28 16:39:03 skoglund Exp $
---
> * $Id: mkasmsym.h,v 1.7 2006/11/23 20:49:38 skoglund Exp $
37d36
< #define PACKED __attribute__ ((packed))
40,51c39,57
<
< #define MKASMSYM(sym, value) \
< struct sym ##_sign_t { char x[32*((value) < 0 ? 1 : 2)] PACKED; } sym ##_sign DS; \
< struct sym ##_b0_t { char x[32*((__ABSVALUE(value) >> 0) & 0xff)] PACKED; } sym ##_b0 DS; \
< struct sym ##_b1_t { char x[32*((__ABSVALUE(value) >> 8) & 0xff)] PACKED; } sym ##_b1 DS; \
< struct sym ##_b2_t { char x[32*((__ABSVALUE(value) >> 16) & 0xff)] PACKED; } sym ##_b2 DS;\
< struct sym ##_b3_t { char x[32*((__ABSVALUE(value) >> 24) & 0xff)] PACKED; } sym ##_b3 DS;\
< struct sym ##_b4_t { char x[32*((__ABSVALUE(value) >> 32) & 0xff)] PACKED; } sym ##_b4 DS;\
< struct sym ##_b5_t { char x[32*((__ABSVALUE(value) >> 40) & 0xff)] PACKED; } sym ##_b5 DS;\
< struct sym ##_b6_t { char x[32*((__ABSVALUE(value) >> 48) & 0xff)] PACKED; } sym ##_b6 DS;\
< struct sym ##_b7_t { char x[32*((__ABSVALUE(value) >> 56) & 0xff)] PACKED; } sym ##_b7 DS
<
---
> #define MKASMSYM(sym, value) \
> struct sym ##_sign_t { char x[32*((value) < 0 ? 1 : 2)]; }; \
> struct sym ##_sign_t sym ##_sign DS; \
> struct sym ##_b0_t { char x[32*((__ABSVALUE(value) >> 0) & 0xff)]; }; \
> struct sym ##_b0_t sym ##_b0 DS; \
> struct sym ##_b1_t { char x[32*((__ABSVALUE(value) >> 8) & 0xff)]; }; \
> struct sym ##_b1_t sym ##_b1 DS; \
> struct sym ##_b2_t { char x[32*((__ABSVALUE(value) >> 16) & 0xff)]; }; \
> struct sym ##_b2_t sym ##_b2 DS; \
> struct sym ##_b3_t { char x[32*((__ABSVALUE(value) >> 24) & 0xff)]; }; \
> struct sym ##_b3_t sym ##_b3 DS; \
> struct sym ##_b4_t { char x[32*((__ABSVALUE(value) >> 32) & 0xff)]; }; \
> struct sym ##_b4_t sym ##_b4 DS; \
> struct sym ##_b5_t { char x[32*((__ABSVALUE(value) >> 40) & 0xff)]; }; \
> struct sym ##_b5_t sym ##_b5 DS; \
> struct sym ##_b6_t { char x[32*((__ABSVALUE(value) >> 48) & 0xff)]; }; \
> struct sym ##_b6_t sym ##_b6 DS; \
> struct sym ##_b7_t { char x[32*((__ABSVALUE(value) >> 56) & 0xff)]; }; \
> struct sym ##_b7_t sym ##_b7 DS
Could this be the key to making the PPC build advance?
We seem to use /root/Orion/kernel/src/generic/mkasmsym.h, which dates from 2006, but the NICTA one seems to be from 2004. Might set that aside, and look at space.h, for now, instead.
[root@fedora28 include]# ls //space.h api/v4/space.h glue/v4-arm/space.h glue/v4-mips64/space.h glue/v4-sparc64/space.h glue/v4-alpha/space.h glue/v4-ia32/space.h glue/v4-powerpc64/space.h glue/v4-tmplarch/space.h glue/v4-amd64/space.h glue/v4-ia64/space.h glue/v4-powerpc/space.h
We get a little further, after some more hacking - now, the XICS RTC driver fails to build, with:
In file included from /root/Orion/kernel/src/platform/ofpower4/xics.cc:38:
/root/Orion/kernel/src/glue/v4-powerpc64/space.h:178: error: `cpuid_t' has not been declared
/root/Orion/kernel/src/glue/v4-powerpc64/space.h:179: error: ISO C++ forbids declaration of `cpu' with no type
/root/Orion/kernel/src/glue/v4-powerpc64/space.h:189: error: `cpuid_t' has not been declared
/root/Orion/kernel/src/glue/v4-powerpc64/space.h:191: error: ISO C++ forbids declaration of `cpu' with no type
/root/Orion/kernel/src/glue/v4-powerpc64/space.h:211: error: `cpuid_t' has not been declared
/root/Orion/kernel/src/glue/v4-powerpc64/space.h:211: error: ISO C++ forbids declaration of `cpu' with no type
In file included from /root/Orion/kernel/src/platform/ofpower4/xics.cc:40:
/root/Orion/kernel/src/glue/v4-powerpc64/pgent_inline.h:221: error: prototype for `void pgent_t::set_entry(space_t*, pgent_t::pgsize_e, void*, word_t, word_t, bool)' does not match any in class `pgent_t'
/root/Orion/kernel/src/glue/v4-powerpc64/pgent.h:183: error: candidate is: void pgent_t::set_entry(space_t*, pgent_t::pgsize_e, void*, word_t, bool)
/root/Orion/kernel/src/platform/ofpower4/xics.cc: In member function `void intctrl_t::init_arch()':
/root/Orion/kernel/src/platform/ofpower4/xics.cc:144: error: no matching function for call to `pgent_t::set_entry(space_t*, pgent_t::pgsize_e, void*, bool, bool, bool, bool, pgent_t::wimg_e)'
/root/Orion/kernel/src/glue/v4-powerpc64/pgent.h:183: note: candidates are: void pgent_t::set_entry(space_t*, pgent_t::pgsize_e, void*, word_t, bool)
/root/Orion/kernel/src/glue/v4-powerpc64/pgent_inline.h:221: note: void pgent_t::set_entry(space_t*, pgent_t::pgsize_e, void*, word_t, word_t, bool)
make[1]: *** [/root/Orion/kernel/Mk/Makeconf:208: src/platform/ofpower4/xics.o] Error 1
make[1]: Leaving directory '/root/Orion/kernel/rpb8'
make: *** [Makefile:38: all] Error 2
[root@fedora28 rpb8]#
Worked around the cpuid_t, with a typedef, but I don't quite understand the deal with pgent_t::set_entry, since the API seems to be inconstantly-used, and undocumented, and probably in flux. Set it to something random, derived from the existing code, to bypass it, but it's not a nice way to play. :(
Spent much of last night, trying to merge in more of their code, although a lot is now broken, on NICTA_Pistachio_Mainline_FCL, past https://github.com/vmlemon/Orion/commit/39d8dacd69885420f58370634cb7579326993869.
For instance, x86 builds are also broken:
make[1]: Entering directory '/home/tyson/Orion/kernel/nxbuild'
===> src/arch/x86/x64/init32.cc
cd src/arch/x86/x64/ && gcc-6 -nostdinc -I/home/tyson/Orion/kernel/nxbuild/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/nxbuild/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
gcc-6: error trying to exec 'cc1plus': execvp: No such file or directory
make[1]: *** [/home/tyson/Orion/kernel/src/arch/x86/x64/Makeconf:42: src/arch/x86/x64/init32.o] Error 1
make[1]: Leaving directory '/home/tyson/Orion/kernel/nxbuild'
make: *** [Makefile:38: all] Error 2
After installing GCC/G++ 6.x:
tyson@tyson-Lenovo-ideapad-120S-14IAP:~/Orion/kernel/nxbuild$ CC=gcc-6 make
make[1]: Entering directory '/home/tyson/Orion/kernel/nxbuild'
===> src/arch/x86/x64/init32.cc
cd src/arch/x86/x64/ && gcc-6 -nostdinc -I/home/tyson/Orion/kernel/nxbuild/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/nxbuild/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
make[1]: *** No rule to make target 'arch/x86/debug.h', needed by 'src/arch/x86/x64/cpu.o'. Stop.
make[1]: Leaving directory '/home/tyson/Orion/kernel/nxbuild'
make: *** [Makefile:38: all] Error 2
On NICTA_Fix_FCL, we get:
[root@fedora28 rpb8]# CC=gcc34 make
make[1]: Entering directory '/root/Orion/kernel/rpb8'
===> src/platform/ofpower4/xics.cc
cd src/platform/ofpower4/ && 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 -c /root/Orion/kernel/src/platform/ofpower4/xics.cc
In file included from /root/Orion/kernel/src/glue/v4-powerpc64/pgent_inline.h:39,
from /root/Orion/kernel/src/arch/powerpc64/pgent.h:38,
from /root/Orion/kernel/src/platform/ofpower4/xics.cc:36:
/root/Orion/kernel/src/glue/v4-powerpc64/space.h:178: error: `cpuid_t' has not been declared
/root/Orion/kernel/src/glue/v4-powerpc64/space.h:179: error: ISO C++ forbids declaration of `cpu' with no type
/root/Orion/kernel/src/glue/v4-powerpc64/space.h:189: error: `cpuid_t' has not been declared
/root/Orion/kernel/src/glue/v4-powerpc64/space.h:191: error: ISO C++ forbids declaration of `cpu' with no type
/root/Orion/kernel/src/glue/v4-powerpc64/space.h:211: error: `cpuid_t' has not been declared
/root/Orion/kernel/src/glue/v4-powerpc64/space.h:211: error: ISO C++ forbids declaration of `cpu' with no type
In file included from /root/Orion/kernel/src/arch/powerpc64/pgent.h:38,
from /root/Orion/kernel/src/platform/ofpower4/xics.cc:36:
/root/Orion/kernel/src/glue/v4-powerpc64/pgent_inline.h:221: error: prototype for `void pgent_t::set_entry(space_t*, pgent_t::pgsize_e, void*, word_t, word_t, bool)' does not match any in class `pgent_t'
/root/Orion/kernel/src/glue/v4-powerpc64/pgent.h:183: error: candidate is: void pgent_t::set_entry(space_t*, pgent_t::pgsize_e, void*, word_t, bool)
/root/Orion/kernel/src/platform/ofpower4/xics.cc: In member function `void intctrl_t::init_arch()':
/root/Orion/kernel/src/platform/ofpower4/xics.cc:144: error: no matching function for call to `pgent_t::set_entry(space_t*, pgent_t::pgsize_e, void*, bool, bool, bool, bool, pgent_t::wimg_e)'
/root/Orion/kernel/src/glue/v4-powerpc64/pgent.h:183: note: candidates are: void pgent_t::set_entry(space_t*, pgent_t::pgsize_e, void*, word_t, bool)
/root/Orion/kernel/src/glue/v4-powerpc64/pgent_inline.h:221: note: void pgent_t::set_entry(space_t*, pgent_t::pgsize_e, void*, word_t, word_t, bool)
make[1]: *** [/root/Orion/kernel/Mk/Makeconf:208: src/platform/ofpower4/xics.o] Error 1
make[1]: Leaving directory '/root/Orion/kernel/rpb8'
make: *** [Makefile:38: all] Error 2
Worked around the cpuid_t, with a typedef, but I don't quite understand the deal with pgent_t::set_entry, since the API seems to be inconstantly-used, and undocumented, and probably in flux. Set it to something random, derived from the existing code, to bypass it, but it's not a nice way to play. :(
Looks like https://github.com/vmlemon/Orion/commit/69e9f23da1c3ffdfdf5632270d5b58465245b476, and https://github.com/vmlemon/Orion/commit/f98a64805668bc73506f77ad84fd6535d5592eaf seem sane (they let us build XICS), but we broke things, by replacing exregs.
f98a64805668bc73506f77ad84fd6535d5592eaf gives us:
Switched to branch 'XICS_Hack_FCL'
[root@fedora28 rpb8]# ls
ASMSyms.txt config GCC34Notes.txt include Makeconf.local Makefile src TCBLayout.txt
[root@fedora28 rpb8]# make clean
make[1]: Entering directory '/root/Orion/kernel/rpb8'
make[1]: Leaving directory '/root/Orion/kernel/rpb8'
[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/atomic.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]# make clean
make[1]: Entering directory '/root/Orion/kernel/rpb8'
make[1]: Leaving directory '/root/Orion/kernel/rpb8'
[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/atomic.h', needed by 'src/generic/kmemory.o'. Stop.
make[1]: Leaving directory '/root/Orion/kernel/rpb8'
make: *** [Makefile:38: all] Error 2
After doing the express patches, to close off https://github.com/vmlemon/Orion/issues/1, the current status is now:
[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/glue/v4-powerpc64/asmsyms.cc:37:
/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: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/pgent.h: At global scope:
/root/Orion/kernel/src/glue/v4-powerpc64/pgent.h:197: warning: inline function `pgent_t* pgent_t::next(space_t*, pgent_t::pgsize_e, word_t)' used but never defined
===> 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/schedule.h:37,
from /root/Orion/kernel/src/generic/tracebuffer.cc:87:
/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: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/pgent.h: At global scope:
/root/Orion/kernel/src/glue/v4-powerpc64/pgent.h:197: warning: inline function `pgent_t* pgent_t::next(space_t*, pgent_t::pgsize_e, word_t)' used but never defined
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]#
Looks like some of the older ports got removed from mainline Pistachio, in https://github.com/l4ka/pistachio/commit/a0a8042f2a3586192ef50330b0c4c6112be246ca
In support of https://github.com/vmlemon/Orion/issues/3, I moved over the IA32 arch, and glue directories, and moved some headers around, which gets x86 a little further, but 32-bit, and 64-bit support are broken, still, in different ways.
(Master actually gets closer to building, but it's older code, without all of the NICTA components).
Everything done on this, so far, has been merged into master, and backpropagated into other working branches.
Please note that a lot of things are broken, but things are at the stage, now, where it's easier to just have one running branch, for working on this.
Both versions of CML2 are identical:
110ce4a0b5a834ed1d310f78dec6c7af cmlcompile.py
55466c35bf8f5da939e49ad164b6b614 cmlconfigure.py
0fc962463230a2e2a2e944299f0a5810 cml.py
67c7ad6f19dad11d63c63f0e11fe1d0a cmlsystem.py
96b48973599401c5b1b771d2e1718522 configtrans.py
9e03b0470ebef463a03a51bdea4feec8 tree.py
110ce4a0b5a834ed1d310f78dec6c7af ../../contrib/cml2/cmlcompile.py
55466c35bf8f5da939e49ad164b6b614 ../../contrib/cml2/cmlconfigure.py
0fc962463230a2e2a2e944299f0a5810 ../../contrib/cml2/cml.py
67c7ad6f19dad11d63c63f0e11fe1d0a ../../contrib/cml2/cmlsystem.py
96b48973599401c5b1b771d2e1718522 ../../contrib/cml2/configtrans.py
9e03b0470ebef463a03a51bdea4feec8 ../../contrib/cml2/tree.py
In the NICTA tree, we had a few files that either haven't been comprehensively-checked, or could be problematic for merging, so I've put them into .nicta
-suffixed directories.
Right now, a lot of things are broken, and some features may not work, some of our original files got lost, during merges, and it will probably be necessary to fix the build system, headers, and various source files, to fit everything together.
The process of massaging everything will take a long time, and require looking through files, with a fine-toothed comb, but since the bulk of ingesting this reasonable-sized code drop into the Orion codebase is complete, I'll be closing this bug.
The rest of that work will be tracked in future issues, and in global project #5.
Kicking a dead horse, but now, pretty much all of the old NICTA includes, tools, documentation, and build system stuff has been merged in, although quite a lot is still broken.
The Enryo stuff was also merged in, and uprevved with some fixes for x86-64, that various folks had done, to forks of the main Pistachio repository, so in the kernel.enryo
, directory, it's possible to completely build an x86-64 kernel, but runtime hasn't been tested.
Several years ago, NICTA released a fork of L4Ka::Pistachio (see https://web.archive.org/web/20130521002051/http://www.ertos.nicta.com.au/software/unsupported/), that added support for several architectures (Alpha, ARM, Itanium, MIPS64, and SPARC64), as well as a suite of components (Iguana, Wombat, Kenge, and Darbat, amongst other things), that could be interesting to stripmine for code, and ideas.
Since they originated the PowerPC 64-bit port, it could help us track down some of the missing code, that's plaguing current attempts at complation...
Sadly, ERTOS (the department of NICTA responsible for L4 R&D) appears to have disbanded, and suddenly replaced by "Data61" (apparently, a division of Australia's CSIRO), and all of their excellent work has mostly vanished from the Web, although Archive.org have bits of it. :(
Presently, the code on GitHub, at https://github.com/l4ka/pistachio was last touched in 2014, before the developers seemingly abandoned it, whilst the NICTA code seems to date from around 2005-2007, and completely replaces much of the build system, so we can't just drop it in, as a direct "engine swap".
So that it doesn't disappear again, I'm attaching it to this bug report, and I'll probably unpack it into a branch, later on...
pistachio--devel--1.1--version-0.tar.gz
I also have the 55.1MB iguana-project--devel--1.1--version-0.tar.gz archive, which is too large to attach to this report.
We also used parts of it in i9, and Enryo, although I believe that there were some bugs, and shortcomings, due to it being designed for use in embedded systems, and parts of it being cribbed from BSD code, in an idiosyncratic fashion.