tech-pkg archive

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

Re: lang/php5 on m68k problems



On Tue, Sep 30, 2008 at 05:29:11PM +0000, John Klos wrote:
> Hi,
> 
> Has anyone looked at the issues with building lang/php5 on m68k machines? 
> This is what I get (mac68k, amiga, NetBSD-4):
> 
> /bin/sh /usr/pkgsrc/lang/php5/work/php-5.2.6/libtool --silent 
> --preserve-dup-deps --mode=compile cc  -Iext/standard/ 
> -I/usr/pkgsrc/lang/php5/work/php-5.2.6/ext/standard/ -DPHP_ATOM_INC 
> -I/usr/pkgsrc/lang/php5/work/php-5.2.6/include 
> -I/usr/pkgsrc/lang/php5/work/php-5.2.6/main 
> -I/usr/pkgsrc/lang/php5/work/php-5.2.6 -I/usr/local/include/libxml2 
> -I/usr/pkgsrc/lang/php5/work/php-5.2.6/ext/date/lib 
> -I/usr/pkgsrc/lang/php5/work/php-5.2.6/TSRM 
> -I/usr/pkgsrc/lang/php5/work/php-5.2.6/Zend  -I/usr/local/include 
> -I/usr/include  -O2 -I/usr/local/include -I/usr/include  -c 
> /usr/pkgsrc/lang/php5/work/php-5.2.6/ext/standard/filters.c -o 
> ext/standard/filters.lo
> /var/tmp//ccpS22Ph.s: Assembler messages:
> /var/tmp//ccpS22Ph.s:231: Error: value out of range
> /var/tmp//ccpS22Ph.s:231: Error: value of -286 too large for field of 1 
> bytes at 535
> /var/tmp//ccpS22Ph.s:274: Error: value out of range
> /var/tmp//ccpS22Ph.s:274: Error: value of -286 too large for field of 1 
> bytes at 627
> /var/tmp//ccpS22Ph.s:352: Error: value out of range
> /var/tmp//ccpS22Ph.s:352: Error: value of -286 too large for field of 1 
> bytes at 833
> gmake: *** [ext/standard/filters.lo] Error 1
> *** Error code 2
> 
> The temporary files don't stay around long enough to examine. How does one 
> tell the pkgsrc system to leave them?

I manually ran that failing compile step. The assembly looks like:

        move.l 8(%a5),%d1
        move.l 12(%a5),%d5
        .set .LI70,.+2
        move.w .L70-.LI70.b(%pc,%d1.l*2),%d0
.L147:
        moveq #6,%d2
        cmp.l %d1,%d2
        jbcs .L147
.L148:
        jmp %pc@(2,%d0:w)
        .align  2
.L70:
        .word .L63-.L70
        .word .L64-.L70
        .word .L65-.L70
        .word .L66-.L70
        .word .L67-.L70
        .word .L68-.L70
        .word .L69-.L70

and it's tripping up on the move.w. AFAICT, this is part of the
expansion of a switch statement inside the php_conv_qprint_decode_convert
function. BTW: that move.w is repeated 3 times in that function, leading
to the three errors.

Looks like a gcc bug. It *does* compile at -O however (but not -O2).

BTW: This is on:
NetBSD mac68k, CVS from 20080910T0002 UTC.

Cheers,
-- 
Paul Ripke
I love deadlines. I like the whooshing sound they make as they fly by.
-- Douglas Adams


Home | Main Index | Thread Index | Old Index