Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 18 Jan 2007 20:18:23 +0100
From:      Olivier Houchard <mlfbsd@ci0.org>
To:        ticso@cicely.de
Cc:        Bernd Walter <ticso@cicely12.cicely.de>, freebsd-arm@freebsd.org
Subject:   Re: memcpy limitation
Message-ID:  <20070118191823.GB42638@ci0.org>
In-Reply-To: <20070111101528.GV80390@cicely12.cicely.de>
References:  <20070111101528.GV80390@cicely12.cicely.de>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Jan 11, 2007 at 11:15:28AM +0100, Bernd Walter wrote:
> I get a sigbus with the following:
> #0  0x00033158 in $a () at lcp.c:939
> 939           memcpy(&req, opt, sizeof req);
> (gdb) print req
> $1 = {hdr = {id = 0 '\0', len = 0 '\0'}, proto = 0, period = 0}
> (gdb) print &req
> $2 = (struct lqrreq *) 0xbfffe4a0
> (gdb) print opt
> $3 = (struct fsm_opt *) 0xbfffe5b6
> 
> Shouldn't memcpy work with any alignment?
> 

It certainly does. Would you have a simple test case which reproduce this ?
Or does it happen as soon as you try to do an unaligned copy ?
I'm quite confused on why it would happen, memcpy is shared between the kernel
and the userland, and in kernel I'm sure it does unaligned copies. 

Thanks,

Olivier



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070118191823.GB42638>