[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH 3/3] Add support for OpenBSD

On Wednesday 18 October 2006 17:51, Keir Fraser wrote:
> On 17/10/06 15:44, "Christoph Egger" <Christoph.Egger@xxxxxxx> wrote:
> > This is the third and last patch.
> >
> > This patch makes the xen kernel buildable on OpenBSD by adding support
> > for ProPolice. ProPolice has been added to standard GCC in version 4.1.x
> > under the name Stack Smashing Protection (SSP).
> Gcc 4.1.x works fine for me already (under Linux at least). We specifically
> disable stack protection in xen/arch/x86/Rules.mk.

The stack protection is not just to improve security. With a stack protection,
it is more likely that you find off-by-one bugs like this:

void foo(void)
        char array[8];
        int i;

        for (i = 0; i <= 8; i++) {
             array[i] = 0;

The propolice patch also contained a snippet, which necessary to make
the Xen kernel build independ if SSP is disabled or not.

I extracted this snippet into a separate patch to fix this build error:

gcc -Wall -Werror -Wstrict-prototypes -O2 -fomit-frame-pointer  -o 
boot/mkelf32 boot/mkelf32.c
boot/mkelf32.c:93:1: "swap16" redefined
In file included from /usr/include/machine/endian.h:68,
                 from /usr/include/sys/types.h:45,
                 from /usr/include/stdio.h:45,
                 from boot/mkelf32.c:11:
/usr/include/sys/endian.h:156:1: this is the location of the previous 
boot/mkelf32.c:94:1: "swap32" redefined
/usr/include/sys/endian.h:157:1: this is the location of the previous 
boot/mkelf32.c:95:1: "swap64" redefined
/usr/include/sys/endian.h:158:1: this is the location of the previous 
gmake[2]: *** [boot/mkelf32] Error 1

This mail has two patches attached:
openbsd_buildfix.diff  - the absolute necessary patch to make the kernel build 
on OpenBSD
openbsd_propolice.diff - it adds support for SSP

Attachment: openbsd_buildfix.diff
Description: Text Data

Attachment: openbsd_propolice.diff
Description: Text Data

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.