Date: Wed, 25 Jul 2007 17:47:21 -0700 From: Peter Grehan <grehan@freebsd.org> To: Maxim Sobolev <sobomax@FreeBSD.org>, Marcel Moolenaar <xcllnt@mac.com> Cc: current@FreeBSD.org, peter@FreeBSD.org, cognet@freebsd.org Subject: Re: installworld breaks my FreeBSD/powerpc system!!! Message-ID: <46A7EF19.9000106@freebsd.org>
next in thread | raw e-mail | index | archive | help
>> > I think it's a mmap(2) problem, rather than a libc/ld-elf problem. I >> > suspect >> > that the peter@'s change to not align arguments is causing the problem. Yes and no :) ppc is 32-bit/big-endian which doesn't sit too nice for 64-bit syscall returns and FreeBSD's td_retval[0|1] scheme. There is some special-case code in powerpc/trap.c that obscurely catches these cases and swaps the retvals to match the ppc calling convention. With mmap (and others) moving from the indirect _syscall() to a direct call, that code fragment needs to be updated and the backward-compat cases handled. I'll see if I can knock up something and test it. arm/be will have the same issue, Olivier cc'd. later, Peter.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?46A7EF19.9000106>