[email protected] said: > On 08/01/15 15:15, Martin Lucina wrote: > >> Maybe you can compare the cc default settings and also the output for cc > >> -E for lib/libc/stdio/vnsprintf.c > > > > The compiler flags and indeed the entire command line used to compile > > vsnprintf.o are identical. However, on the ubuntu machine I see strange > > warnings about redefining vsnprintf, among other things. > > And what about preprocessor output? There can be something hidden in > specs which causes the compiler to behave differently in way you cannot > see on the command line (at least not without -v).
Here's a diff of cc ... -E after deleting non-identical pathnames: --- vsnprintf.c.i.debian 2015-01-08 16:29:09.983816350 +0100 +++ vsnprintf.c.i.ubuntu 2015-01-08 16:29:42.500816054 +0100 @@ -1,6 +1,5 @@ # 1 "rumprun-xen/rumpsrc/lib/libc/stdio/vsnprintf.c" # 1 "rumprun-xen//" -# 1 "<built-in>" # 1 "<command-line>" # 1 "/usr/include/stdc-predef.h" 1 3 4 # 1 "<command-line>" 2 @@ -652,6 +651,51 @@ #pragma GCC visibility pop # 590 "rumprun-xen/rumptools/dest/usr/include/stdio.h" + + + +# 1 "rumprun-xen/rumptools/dest/usr/include/ssp/stdio.h" 1 +# 34 "rumprun-xen/rumptools/dest/usr/include/ssp/stdio.h" +# 1 "rumprun-xen/rumptools/dest/usr/include/ssp/ssp.h" 1 +# 80 "rumprun-xen/rumptools/dest/usr/include/ssp/ssp.h" + +# 80 "rumprun-xen/rumptools/dest/usr/include/ssp/ssp.h" +#pragma GCC visibility push(default) +# 80 "rumprun-xen/rumptools/dest/usr/include/ssp/ssp.h" + +void __stack_chk_fail(void) __attribute__((__noreturn__)); +void __chk_fail(void) __attribute__((__noreturn__)); + +# 83 "rumprun-xen/rumptools/dest/usr/include/ssp/ssp.h" +#pragma GCC visibility pop +# 83 "rumprun-xen/rumptools/dest/usr/include/ssp/ssp.h" + +# 35 "rumprun-xen/rumptools/dest/usr/include/ssp/stdio.h" 2 + + +# 36 "rumprun-xen/rumptools/dest/usr/include/ssp/stdio.h" +#pragma GCC visibility push(default) +# 36 "rumprun-xen/rumptools/dest/usr/include/ssp/stdio.h" + +int __sprintf_chk(char *restrict, int, size_t, const char *restrict, ...) + __attribute__((__format__ (__printf__, 4, 5))); +int __vsprintf_chk(char *restrict, int, size_t, const char *restrict, + __va_list) + __attribute__((__format__ (__printf__, 4, 0))); +int __snprintf_chk(char *restrict, size_t, int, size_t, + const char *restrict, ...) + __attribute__((__format__ (__printf__, 5, 6))); +int __vsnprintf_chk(char *restrict, size_t, int, size_t, + const char *restrict, __va_list) + __attribute__((__format__ (__printf__, 5, 0))); +char *__gets_chk(char *, size_t); +char *__fgets_chk(char *, int, size_t, FILE *); + +# 50 "rumprun-xen/rumptools/dest/usr/include/ssp/stdio.h" +#pragma GCC visibility pop +# 50 "rumprun-xen/rumptools/dest/usr/include/ssp/stdio.h" + +# 595 "rumprun-xen/rumptools/dest/usr/include/stdio.h" 2 # 50 "rumprun-xen/rumpsrc/lib/libc/stdio/vsnprintf.c" 2 # 1 "rumprun-xen/rumpsrc/lib/libc/include/reentrant.h" 1 # 94 "rumprun-xen/rumpsrc/lib/libc/include/reentrant.h" It looks like some stack-protector stuff is being included; no idea where it is coming from but those preprocessor comments indicate inside our tree rather than outside it? I double checked my build trees and am using identical latest copies of rumprun-xen/buildrump.sh/rumpsrc on both machines. Martin ------------------------------------------------------------------------------ Dive into the World of Parallel Programming! The Go Parallel Website, sponsored by Intel and developed in partnership with Slashdot Media, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials and more. Take a look and join the conversation now. http://goparallel.sourceforge.net _______________________________________________ rumpkernel-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/rumpkernel-users
