Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:102080 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 57525 invoked from network); 26 Apr 2018 19:30:40 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 26 Apr 2018 19:30:40 -0000 Authentication-Results: pb1.pair.com smtp.mail=mike.php.net@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=mike.php.net@gmail.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 74.125.82.48 as permitted sender) X-PHP-List-Original-Sender: mike.php.net@gmail.com X-Host-Fingerprint: 74.125.82.48 mail-wm0-f48.google.com Received: from [74.125.82.48] ([74.125.82.48:40476] helo=mail-wm0-f48.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 46/A5-19179-BD822EA5 for ; Thu, 26 Apr 2018 15:30:36 -0400 Received: by mail-wm0-f48.google.com with SMTP id j5so15353502wme.5 for ; Thu, 26 Apr 2018 12:30:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=RP3S3231Vsv+uhO1NZJN7YLjICQeeDyJr++1FWTcEAM=; b=GvYstvEQ2hDz7JcUydMp4tUSLCrstp5jg3PFmysv5MTfFJqK2Orrc2FZ/lpul0uEUb K59JfYFmyXOEI2/OgocnSUv8R3JhFQJmpxrUI/O3RFvETFHw/CuV1t2+xlyLxV0nK3/a +KoCEstcF09odENdyLBjqZ1qYyK6+F7JZpVtZkI7ZXZ8m91xgFhqTwMNLiArZZblknc/ sTEThu2EiC14UhTxtvBrhpaiePpfFDOQhEEPmEu+nmooJrO/ND9CgNAOPAy+tzRNFOOT FjHnYCP6QYgt39Nq7hMa+lWhp5nvHm7C/wnH3hhuxPR7dC30+rY5SV1b5IiSWw1gs4ol FDuA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:mime-version:subject:from:in-reply-to :date:cc:content-transfer-encoding:message-id:references:to; bh=RP3S3231Vsv+uhO1NZJN7YLjICQeeDyJr++1FWTcEAM=; b=XpNqizH1sOHnqTJ6n6zYxyj3eAn05+7TBFjjY7AUcLaAAVS2F7SPzMJm4b9Ygg/NQh ffkbc8Jy3uZ3Bs1UZp5uWsKl3KRQrAbELgljJHourvxx6WOAb5OQ1qMHExv/Xlt17rjb j7EqI6/54azPVDd1MXMwtVw6xBteR8SlDekQ/1U9zqAKsqnWw12U4TIPVGgmL6yy+7Tu zxIOhwdRdTndcKuHm78g1XKJwul62a0MMqZtT5gBV8Mu6caYP/O989qowCNzdu5XBTSl mHIOFw2GXlQFW/17CAebGuncrXitiwkfL+1lYYgzXlcRDiN2q5CzyaawTNcS+fu0fcRJ 4iwg== X-Gm-Message-State: ALQs6tBfLRiLlcO0f4L8raBdiqg7vfAUxxDtoykGI2Wtg4krX3C/1Ni2 X2Fg3vOMNxHU5opV9fWYmm8= X-Google-Smtp-Source: AIpwx4+cp9VbnQ1/J4Q0zMP9bQt4CrDWNhWeTBGq1naJ/gk30ak97vmUtGYk8h3EaTuO59+UA4l9Pw== X-Received: by 10.28.39.195 with SMTP id n186mr20008232wmn.1.1524771032879; Thu, 26 Apr 2018 12:30:32 -0700 (PDT) Received: from lepisma.local.m6w6.name (89-104-28-113.customer.bnet.at. [89.104.28.113]) by smtp.gmail.com with ESMTPSA id j1-v6sm19766582wre.25.2018.04.26.12.30.30 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 26 Apr 2018 12:30:31 -0700 (PDT) Sender: Michael Wallner Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\)) In-Reply-To: Date: Thu, 26 Apr 2018 21:30:38 +0200 Cc: Stanislav Malyshev , Zeev Suraski , Xinchen Hui , Nikita Popov , Bob Weinand , "Anatol Belski (ab@php.net)" , PHP internals list Content-Transfer-Encoding: quoted-printable Message-ID: References: <56794c33-a728-d399-2462-b62ba1b7a509@gmail.com> <739e66c6-e60b-005e-acb0-d5c4fb2da11d@php.net> <6760eb1f-4345-48d2-a5c2-727cd98e3ac2@email.android.com> To: Dmitry Stogov X-Mailer: Apple Mail (2.3273) Subject: Re: [PHP-DEV] PHP FFI extenesion From: mike@php.net (Michael Wallner) Hey! > On 26 04 2018, at 20:47, Dmitry Stogov wrote: >=20 > Hi Michael, >=20 >=20 > I've just tried to run PSI with php-master (32-bit DEBUG build) and = got SIGSEGV on the simplest test. >=20 > Use "psi.d/string.psi" and attemt to call psi\strerror(10) >=20 >=20 > #0 0xf44916ba in psi_call_frame_parse_args (frame=3D0xf426c500, = execute_data=3D0x0) at /home/dmitry/php/ext-psi/src/call.c:273 > #1 0xf4494fe7 in psi_context_call (C=3D0x92dfe90, execute_data=3D0x0, = return_value=3D0x8fc0144 , impl=3D0x9341658) > at /home/dmitry/php/ext-psi/src/context.c:250 > #2 0xf4499b44 in psi_ffi_handler (sig=3D0x92e0fa0, result=3D0xffff9760,= args=3D0xffff96f0, data=3D0x9341658) > at /home/dmitry/php/ext-psi/src/libffi.c:387 > #3 0xf4467a76 in ffi_closure_SYSV_inner () from /lib/libffi.so.6 > #4 0xf4467eb6 in ffi_closure_SYSV () from /lib/libffi.so.6 > #5 0x08701d21 in ZEND_DO_FCALL_BY_NAME_SPEC_RETVAL_USED_HANDLER () at = /home/dmitry/php/php-master/Zend/zend_vm_execute.h:890 > #6 0x0875fd12 in execute_ex (ex=3D0xf421d020) at = /home/dmitry/php/php-master/Zend/zend_vm_execute.h:54819 > #7 0x087643b1 in zend_execute (op_array=3D0xf426c460, = return_value=3D0x0) at = /home/dmitry/php/php-master/Zend/zend_vm_execute.h:59987 > #8 0x086b0d2f in zend_execute_scripts (type=3D8, retval=3D0x0, = file_count=3D3) at /home/dmitry/php/php-master/Zend/zend.c:1566 > #9 0x0863cdde in php_execute_script (primary_file=3D0xffffcbbc) at = /home/dmitry/php/php-master/main/main.c:2467 > #10 0x0876676a in do_cli (argc=3D2, argv=3D0x90e4850) at = /home/dmitry/php/php-master/sapi/cli/php_cli.c:1011 > #11 0x087673b2 in main (argc=3D2, argv=3D0x90e4850) at = /home/dmitry/php/php-master/sapi/cli/php_cli.c:1404 >=20 > execute_data is NULL >=20 >=20 > Did you test ext-psi with php-master? >=20 I only test on master, but never tested 32bit :-/ https://travis-ci.org/m6w6/ext-psi/jobs/368760446#L2102 >=20 > As I understood, you create libffi callback/closure for each function = declared in *.psi file(s). >=20 > And then use it to call a general psi_ffi_handler(). >=20 > Why not to call a general function handler in first place (without any = ffi magic)? >=20 Let me think about that. It=E2=80=99s my first with libffi/libjit, so = maybe I was thinking too complicated and took more corners than I had = to=E2=80=A6 Thanks, Mike