svn commit: r469895 - in head/lang/php56: . files

Florian Smeets flo at FreeBSD.org
Mon May 14 14:24:15 UTC 2018


Author: flo
Date: Mon May 14 14:24:13 2018
New Revision: 469895
URL: https://svnweb.freebsd.org/changeset/ports/469895

Log:
  Prevent php 5.6 (opcache) from segfaulting when compiled with clang 6.0
  
  PR:             227723
  Submitted by:   dim
  Reported by:    flo, lampa at fit.vutbr.cz
  Approved by:    maintainer timeout
  MFH:            2018Q2

Added:
  head/lang/php56/files/patch-Zend_zend__compile.h   (contents, props changed)
  head/lang/php56/files/patch-Zend_zend__execute.h   (contents, props changed)
Modified:
  head/lang/php56/Makefile

Modified: head/lang/php56/Makefile
==============================================================================
--- head/lang/php56/Makefile	Mon May 14 14:19:26 2018	(r469894)
+++ head/lang/php56/Makefile	Mon May 14 14:24:13 2018	(r469895)
@@ -3,7 +3,7 @@
 
 PORTNAME=	php56
 PORTVERSION=	5.6.36
-PORTREVISION?=	0
+PORTREVISION?=	1
 CATEGORIES?=	lang devel www
 MASTER_SITES=	PHP/distributions
 DISTNAME=	php-${PORTVERSION}

Added: head/lang/php56/files/patch-Zend_zend__compile.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/lang/php56/files/patch-Zend_zend__compile.h	Mon May 14 14:24:13 2018	(r469895)
@@ -0,0 +1,12 @@
+--- Zend/zend_compile.h.orig	2018-02-27 23:15:25 UTC
++++ Zend/zend_compile.h
+@@ -414,9 +414,6 @@ struct _zend_execute_data {
+ 
+ #define EX(element) execute_data.element
+ 
+-#define EX_TMP_VAR(ex, n)	   ((temp_variable*)(((char*)(ex)) + ((int)(n))))
+-#define EX_TMP_VAR_NUM(ex, n)  (EX_TMP_VAR(ex, 0) - (1 + (n)))
+-
+ #define EX_CV_NUM(ex, n)       (((zval***)(((char*)(ex))+ZEND_MM_ALIGNED_SIZE(sizeof(zend_execute_data))))+(n))
+ 
+ 

Added: head/lang/php56/files/patch-Zend_zend__execute.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/lang/php56/files/patch-Zend_zend__execute.h	Mon May 14 14:24:13 2018	(r469895)
@@ -0,0 +1,18 @@
+--- Zend/zend_execute.h.orig	2018-02-27 23:15:25 UTC
++++ Zend/zend_execute.h
+@@ -71,6 +71,15 @@ ZEND_API int zend_eval_stringl_ex(char *str, int str_l
+ ZEND_API char * zend_verify_arg_class_kind(const zend_arg_info *cur_arg_info, ulong fetch_type, const char **class_name, zend_class_entry **pce TSRMLS_DC);
+ ZEND_API int zend_verify_arg_error(int error_type, const zend_function *zf, zend_uint arg_num, const char *need_msg, const char *need_kind, const char *given_msg, const char *given_kind TSRMLS_DC);
+ 
++static zend_always_inline temp_variable *EX_TMP_VAR(void *ex, int n)
++{
++	return (temp_variable *)((zend_uintptr_t)ex + n);
++}
++static inline temp_variable *EX_TMP_VAR_NUM(void *ex, int n)
++{
++	return (temp_variable *)((zend_uintptr_t)ex - (1 + n) * sizeof(temp_variable));
++}
++
+ static zend_always_inline void i_zval_ptr_dtor(zval *zval_ptr ZEND_FILE_LINE_DC TSRMLS_DC)
+ {
+ 	if (!Z_DELREF_P(zval_ptr)) {


More information about the svn-ports-all mailing list