| From ca9b419f2c146061f73ee045cb0a069c18b40cd0 Mon Sep 17 00:00:00 2001 |
| From: Mingli Yu <mingli.yu@windriver.com> |
| Date: Wed, 15 Dec 2021 14:00:08 +0800 |
| Subject: [PATCH 01/11] ext/opcache/config.m4: enable opcache |
| |
| We can't use AC_TRY_RUN to run programs in a cross compile |
| environment. Set the variables directly instead since we know |
| that we'd be running on latest enough linux kernel. |
| |
| Upstream-Status: Inappropriate [Configuration] |
| |
| Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> |
| |
| update patch to version 7.4.4 |
| Signed-off-by: Changqing Li <changqing.li@windriver.com> |
| |
| update patch to version 8.0.12 |
| fix issue linking with librt |
| Signed-off-by: Claude Bing <cbing@cybernetics.com> |
| |
| update patch to version 8.1.0 |
| Signed-off-by: Mingli Yu <mingli.yu@windriver.com> |
| --- |
| ext/opcache/config.m4 | 204 ++---------------------------------------- |
| 1 file changed, 8 insertions(+), 196 deletions(-) |
| |
| diff --git a/ext/opcache/config.m4 b/ext/opcache/config.m4 |
| index 2a83fa2..9471b5d 100644 |
| --- a/ext/opcache/config.m4 |
| +++ b/ext/opcache/config.m4 |
| @@ -108,209 +108,21 @@ if test "$PHP_OPCACHE" != "no"; then |
| AC_CHECK_FUNCS([mprotect]) |
| |
| AC_MSG_CHECKING(for sysvipc shared memory support) |
| - AC_RUN_IFELSE([AC_LANG_SOURCE([[ |
| -#include <sys/types.h> |
| -#include <sys/wait.h> |
| -#include <sys/ipc.h> |
| -#include <sys/shm.h> |
| -#include <unistd.h> |
| -#include <string.h> |
| - |
| -int main() { |
| - pid_t pid; |
| - int status; |
| - int ipc_id; |
| - char *shm; |
| - struct shmid_ds shmbuf; |
| - |
| - ipc_id = shmget(IPC_PRIVATE, 4096, (IPC_CREAT | SHM_R | SHM_W)); |
| - if (ipc_id == -1) { |
| - return 1; |
| - } |
| - |
| - shm = shmat(ipc_id, NULL, 0); |
| - if (shm == (void *)-1) { |
| - shmctl(ipc_id, IPC_RMID, NULL); |
| - return 2; |
| - } |
| - |
| - if (shmctl(ipc_id, IPC_STAT, &shmbuf) != 0) { |
| - shmdt(shm); |
| - shmctl(ipc_id, IPC_RMID, NULL); |
| - return 3; |
| - } |
| - |
| - shmbuf.shm_perm.uid = getuid(); |
| - shmbuf.shm_perm.gid = getgid(); |
| - shmbuf.shm_perm.mode = 0600; |
| - |
| - if (shmctl(ipc_id, IPC_SET, &shmbuf) != 0) { |
| - shmdt(shm); |
| - shmctl(ipc_id, IPC_RMID, NULL); |
| - return 4; |
| - } |
| - |
| - shmctl(ipc_id, IPC_RMID, NULL); |
| - |
| - strcpy(shm, "hello"); |
| - |
| - pid = fork(); |
| - if (pid < 0) { |
| - return 5; |
| - } else if (pid == 0) { |
| - strcpy(shm, "bye"); |
| - return 6; |
| - } |
| - if (wait(&status) != pid) { |
| - return 7; |
| - } |
| - if (!WIFEXITED(status) || WEXITSTATUS(status) != 6) { |
| - return 8; |
| - } |
| - if (strcmp(shm, "bye") != 0) { |
| - return 9; |
| - } |
| - return 0; |
| -} |
| -]])],[have_shm_ipc=yes],[have_shm_ipc=no],[have_shm_ipc=no]) |
| - if test "$have_shm_ipc" = "yes"; then |
| - AC_DEFINE(HAVE_SHM_IPC, 1, [Define if you have SysV IPC SHM support]) |
| - fi |
| + AC_DEFINE(HAVE_SHM_IPC, 1, [Define if you have SysV IPC SHM support]) |
| + have_shm_ipc=yes |
| AC_MSG_RESULT([$have_shm_ipc]) |
| |
| AC_MSG_CHECKING(for mmap() using MAP_ANON shared memory support) |
| - AC_RUN_IFELSE([AC_LANG_SOURCE([[ |
| -#include <sys/types.h> |
| -#include <sys/wait.h> |
| -#include <sys/mman.h> |
| -#include <unistd.h> |
| -#include <string.h> |
| - |
| -#ifndef MAP_ANON |
| -# ifdef MAP_ANONYMOUS |
| -# define MAP_ANON MAP_ANONYMOUS |
| -# endif |
| -#endif |
| -#ifndef MAP_FAILED |
| -# define MAP_FAILED ((void*)-1) |
| -#endif |
| - |
| -int main() { |
| - pid_t pid; |
| - int status; |
| - char *shm; |
| - |
| - shm = mmap(NULL, 4096, PROT_READ | PROT_WRITE, MAP_SHARED | MAP_ANON, -1, 0); |
| - if (shm == MAP_FAILED) { |
| - return 1; |
| - } |
| - |
| - strcpy(shm, "hello"); |
| - |
| - pid = fork(); |
| - if (pid < 0) { |
| - return 5; |
| - } else if (pid == 0) { |
| - strcpy(shm, "bye"); |
| - return 6; |
| - } |
| - if (wait(&status) != pid) { |
| - return 7; |
| - } |
| - if (!WIFEXITED(status) || WEXITSTATUS(status) != 6) { |
| - return 8; |
| - } |
| - if (strcmp(shm, "bye") != 0) { |
| - return 9; |
| - } |
| - return 0; |
| -} |
| -]])],[have_shm_mmap_anon=yes],[have_shm_mmap_anon=no],[ |
| - case $host_alias in |
| - *linux*) |
| - have_shm_mmap_anon=yes |
| - ;; |
| - *) |
| - have_shm_mmap_anon=no |
| - ;; |
| - esac |
| -]) |
| - if test "$have_shm_mmap_anon" = "yes"; then |
| - AC_DEFINE(HAVE_SHM_MMAP_ANON, 1, [Define if you have mmap(MAP_ANON) SHM support]) |
| - fi |
| + AC_DEFINE(HAVE_SHM_MMAP_ANON, 1, [Define if you have mmap(MAP_ANON) SHM support]) |
| + have_shm_mmap_anon=yes |
| AC_MSG_RESULT([$have_shm_mmap_anon]) |
| |
| PHP_CHECK_FUNC_LIB(shm_open, rt, root) |
| AC_MSG_CHECKING(for mmap() using shm_open() shared memory support) |
| - AC_RUN_IFELSE([AC_LANG_SOURCE([[ |
| -#include <sys/types.h> |
| -#include <sys/wait.h> |
| -#include <sys/mman.h> |
| -#include <sys/stat.h> |
| -#include <fcntl.h> |
| -#include <unistd.h> |
| -#include <string.h> |
| -#include <stdlib.h> |
| -#include <stdio.h> |
| - |
| -#ifndef MAP_FAILED |
| -# define MAP_FAILED ((void*)-1) |
| -#endif |
| - |
| -int main() { |
| - pid_t pid; |
| - int status; |
| - int fd; |
| - char *shm; |
| - char tmpname[4096]; |
| - |
| - sprintf(tmpname,"/opcache.test.shm.%dXXXXXX", getpid()); |
| - if (mktemp(tmpname) == NULL) { |
| - return 1; |
| - } |
| - fd = shm_open(tmpname, O_RDWR | O_CREAT, S_IRUSR | S_IWUSR); |
| - if (fd == -1) { |
| - return 2; |
| - } |
| - if (ftruncate(fd, 4096) < 0) { |
| - close(fd); |
| - shm_unlink(tmpname); |
| - return 3; |
| - } |
| - |
| - shm = mmap(NULL, 4096, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0); |
| - if (shm == MAP_FAILED) { |
| - return 4; |
| - } |
| - shm_unlink(tmpname); |
| - close(fd); |
| - |
| - strcpy(shm, "hello"); |
| - |
| - pid = fork(); |
| - if (pid < 0) { |
| - return 5; |
| - } else if (pid == 0) { |
| - strcpy(shm, "bye"); |
| - return 6; |
| - } |
| - if (wait(&status) != pid) { |
| - return 7; |
| - } |
| - if (!WIFEXITED(status) || WEXITSTATUS(status) != 6) { |
| - return 8; |
| - } |
| - if (strcmp(shm, "bye") != 0) { |
| - return 9; |
| - } |
| - return 0; |
| -} |
| -]])],[have_shm_mmap_posix=yes],[have_shm_mmap_posix=no],[have_shm_mmap_posix=no]) |
| - if test "$have_shm_mmap_posix" = "yes"; then |
| - AC_DEFINE(HAVE_SHM_MMAP_POSIX, 1, [Define if you have POSIX mmap() SHM support]) |
| - PHP_CHECK_LIBRARY(rt, shm_unlink, [PHP_ADD_LIBRARY(rt,1,OPCACHE_SHARED_LIBADD)]) |
| - fi |
| - AC_MSG_RESULT([$have_shm_mmap_posix]) |
| + AC_DEFINE(HAVE_SHM_MMAP_POSIX, 1, [Define if you have POSIX mmap() SHM support]) |
| + AC_MSG_RESULT([yes]) |
| + have_shm_mmap_posix=yes |
| + PHP_CHECK_LIBRARY(rt, shm_unlink, [PHP_ADD_LIBRARY(rt,1,OPCACHE_SHARED_LIBADD)]) |
| |
| PHP_NEW_EXTENSION(opcache, |
| ZendAccelerator.c \ |
| -- |
| 2.17.1 |
| |