Hi Alex,

Yes libsel4 assumes it is being built as part of our larger common project build environment (https://github.com/seL4/seL4_tools/tree/master/common-tool).

Again the build system improvements that I said were coming should also solve this, so if you've managed to find a work around for now I would prefer not to spend time patching what is definitely a broken system.

Adrian

On Wed 14-Jun-2017 7:56 PM, Alexander Boettcher wrote:
Hi Adrian,

On 14.06.2017 04:11, Adrian.Danis@data61.csiro.au wrote:
They get generated as part of the compilation of the libsel4 library, which is separate to the kernel compilation. See the libsel4 Makefile (https://github.com/seL4/seL4/blob/master/libsel4/Makefile)
libsel4/Makefile is not free-standing (missing common.mk in the seL4
kernel git), so I was not able to run it actually. I found the file in
the camkes repository and got now an idea what to adapt on our side.
Finally, I got my missing seL4_Fault* friends generated.

In general, would it be possible to ship the already generated syscall
headers instead of generating it ? Maybe, at least for a specific seL4
release it would be helpful. The generation infrastructure with all the
python magic is not easy to grasp (and to maintain for a external project).

Thanks,

Alex.

Adrian

On Wed 14-Jun-2017 1:32 AM, Alexander Boettcher wrote:

Hello,

if I compile and link seL4 5.2.0

ARCH=x86 PLAT=pc99 SEL4_ARCH=x86_64 make

and I finally try to use the generated syscall/libsel4 headers, the
compiler complains about missing seL4_Fault types and functions in

libsel4/sel4_arch_include/x86_64/sel4/sel4_arch/faults.h

like

seL4_Fault_t
seL4_Fault_tag
seL4_Fault_VMFault_new

and a lot more.

These structs and functions seems to be generated only for the kernel
side, e.g. in kernel_final.c they show up, but there are no traces of
them on the user level side.

Do I just miss a configuration option ?

Thanks,