installworld breaks my FreeBSD/powerpc system!!!

Peter Grehan grehan at freebsd.org
Thu Jul 26 00:59:24 UTC 2007


>> > 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.


More information about the freebsd-current mailing list