Skip site navigation (1)Skip section navigation (2)
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>