On Thu, Aug 6, 2015 at 4:58 AM, Thomas Leonard <[email protected]> wrote:
> On 6 August 2015 at 00:26, Len Maxwell <[email protected]> wrote: > > > > Hi, > > > > After working with minios-xen a bit, I thought I could help with this > > pioneer project. There seem to be significantly fewer C warnings than > the > > last time I looked (months ago). > > That would be very useful! > > Hi, If I start from mirage-platform master (@ 94f01d), and make this change to xen-posix/include/stdio.h: -#define fprintf(x,rest...) printk(rest) +int fprintf(FILE *stream, const char *format, ...) __THROW __attribute__((__format__(__printf__,2,3))); ...it should eliminate a missing prototype warning for printk in xen-ocaml. The package builds OK, but produces link errors when I try to make a unikernel: $ make clean && make [ ... ] ld -d -static -nostdlib \ _build/main.native.o \ -L/opt/ml/opam/4.02.1/lib/io-page -lio_page_xen_stubs \ $(pkg-config --static --libs mirage-xen) \ /usr/lib/gcc/x86_64-linux-gnu/4.9/libgcc.a \ -o mir-console.xen /opt/ml/opam/4.02.1/lib/pkgconfig/../../lib/mirage-xen-ocaml/libxenasmrun.a(fail.o): In function `caml_array_bound_error': fail.c:(.text+0x2c8): undefined reference to `fwrite' /opt/ml/opam/4.02.1/lib/pkgconfig/../../lib/mirage-xen-ocaml/libxenasmrun.a(misc.o): In function `caml_fatal_error': misc.c:(.text+0x42): undefined reference to `fputs' /opt/ml/opam/4.02.1/lib/pkgconfig/../../lib/mirage-xen-ocaml/libxenasmrun.a(parsing.o): In function `caml_parse_engine': parsing.c:(.text+0x225): undefined reference to `fputs' parsing.c:(.text+0x258): undefined reference to `fputc' parsing.c:(.text+0x273): undefined reference to `fwrite' parsing.c:(.text+0x420): undefined reference to `fwrite' parsing.c:(.text+0x46b): undefined reference to `fwrite' Makefile:34: recipe for target 'build' failed make: *** [build] Error 1 Each of these caml_ functions calls fprintf. fprintf is implemented in xen-posix/src/mini_libc.c, but it does not use fwrite/fputs/fputc, it's just a wrapper for mini-os print(). How do I find out where these undefined references are coming from? thanks, -- Len
_______________________________________________ MirageOS-devel mailing list [email protected] http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
