php 7.3 legacy architectures

Jakub Bogusz qboosh at pld-linux.org
Mon Sep 24 20:54:08 CEST 2018


On Mon, Sep 24, 2018 at 08:54:20PM +0300, Elan Ruusamäe wrote:
> hi
> 
> can someone have look at i686 and x32 builds (-r dev-7.3 branch)
> 
> 
> http://buildlogs.pld-linux.org//index.php?dist=th&arch=i686&ok=0&name=php&id=3a224baa-8fb9-499a-a8a3-8d03d0d83f41&action=tail
> 
> /usr/bin/ld: ext/standard/.libs/base64.o: unsupported non-PIC call to IFUNC 
> `php_base64_encode'
> /usr/bin/ld: ext/standard/.libs/http_fopen_wrapper.o: unsupported non-PIC 
> call to IFUNC `php_base64_encode'
> /usr/bin/ld: ext/standard/.libs/password.o: unsupported non-PIC call to 
> IFUNC `php_base64_encode'
> /usr/bin/ld: main/.libs/main.o: unsupported non-PIC call to IFUNC 
> `php_base64_decode_ex'
> /usr/bin/ld: main/streams/.libs/memory.o: unsupported non-PIC call to IFUNC 
> `php_base64_decode_ex'
> /usr/bin/ld: final link failed: nonrepresentable section on output
> collect2: error: ld returned 1 exit status

Maybe this is some trace:

"checking whether to force non-PIC code in shared modules... yes"

x32 configure says "no" here.

> http://buildlogs.pld-linux.org//index.php?dist=th&arch=x32&ok=0&name=php&id=3a224baa-8fb9-499a-a8a3-8d03d0d83f41&action=tail
> 
> /tmp/B.fBYAwg/BUILD/php-7.3.0RC1/Zend/zend_string.c: Assembler messages:
> /tmp/B.fBYAwg/BUILD/php-7.3.0RC1/Zend/zend_string.c:407: Error: 
> incorrect register `%edx' used with `q' suffix 
> /tmp/B.fBYAwg/BUILD/php-7.3.0RC1/Zend/zend_string.c:408: Error: 
> incorrect register `%ecx' used with `q' suffix 
> /tmp/B.fBYAwg/BUILD/php-7.3.0RC1/Zend/zend_string.c:413: Error: 
> incorrect register `%ecx' used with `q' suffix 
> /tmp/B.fBYAwg/BUILD/php-7.3.0RC1/Zend/zend_string.c:418: Error: 
> incorrect register `%ecx' used with `q' suffix make: *** [Makefile:2281: 
> Zend/zend_string.lo] Error 1
> make: *** Waiting for unfinished jobs....

Looks like wrong conditions in hand-written asm code.

Also I can see many warnings like:
Zend/zend_types.h:134:3: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
- to be verified if proper types are used during int/ptr arithmetic...


-- 
Jakub Bogusz    http://qboosh.pl/


More information about the pld-devel-en mailing list