Commit graph

221 commits

Author SHA1 Message Date
Christoph M. Becker
1ed9ebdea5 Support calling convention specific function name mangling
On Windows certain calling conventions cause C function names to be
mangled, so to import them we have to use the properly mangled names.
2019-08-04 12:14:11 +02:00
Peter Kokot
11e7c001df Merge branch 'PHP-7.4'
* PHP-7.4:
  Fix typos in FFI
2019-07-19 23:07:34 +02:00
Peter Kokot
81fd1c5206 Fix typos in FFI
Closes GH-4438
2019-07-19 23:07:04 +02:00
Nikita Popov
a1479fbbd9 Merge branch 'PHP-7.4' 2019-06-25 14:30:24 +02:00
Nikita Popov
0f3ca15bb7 FFI: Perform bitfield operations byte-wise
Otherwise we may perform reads/writes outside the allocation, as
already happens in 032.phpt.
2019-06-25 14:28:58 +02:00
Nikita Popov
6aaab9adf7 Merge branch 'PHP-7.4' 2019-06-20 16:24:31 +02:00
Nikita Popov
f127d77eef FFI: Use signed arithmetic for pointer offset
offset can be negative here, using signed arithmetic avoids ubsan
warnings.
2019-06-20 16:22:26 +02:00
Dmitry Stogov
cf50cab7bb Merge branch 'PHP-7.4'
* PHP-7.4:
  Avoid uninitilized field access
2019-06-17 14:54:28 +03:00
Dmitry Stogov
eda916cc98 Avoid uninitilized field access 2019-06-17 14:53:44 +03:00
Dmitry Stogov
3e0b09a83c Merge branch 'PHP-7.4'
* PHP-7.4:
  Fixed memory leaks in ext/ffi/tests/100.phpt on Mac OSX
2019-06-17 14:40:48 +03:00
Dmitry Stogov
1e0b0467b6 Fixed memory leaks in ext/ffi/tests/100.phpt on Mac OSX 2019-06-17 14:40:19 +03:00
Nikita Popov
45a0656e95 Remove get() object handler
Now that set() is gone, there is little point in keeping get(), as
it is essentially just a different way of writing cast_object()
now.

Closes GH-4202.
2019-05-29 17:15:19 +02:00
Dmitry Stogov
b2cdde0826 Merge branch 'PHP-7.4'
* PHP-7.4:
  Replace ZVAL_COPY() and ZVAL_COPY_VALUE() for IS_OBJECT by cheaper macros
2019-05-28 20:19:15 +03:00
Dmitry Stogov
83804519df Replace ZVAL_COPY() and ZVAL_COPY_VALUE() for IS_OBJECT by cheaper macros 2019-05-28 20:10:02 +03:00
Dmitry Stogov
51ddc59d9f Merge branch 'PHP-7.4'
* PHP-7.4:
  Avoid usage of internal get/set object handlers. They are going to be removed in PHP-8. Scalar FFI values now should be accessed through special "cdata" property.
2019-05-28 17:14:28 +03:00
Dmitry Stogov
6738241aec Avoid usage of internal get/set object handlers. They are going to be removed in PHP-8.
Scalar FFI values now should be accessed through special "cdata" property.

    $x = FFI::new("int");
    $x = 42;

    should be changed into

    $x = FFI::new("int");
    $x->cdata = 42;
2019-05-28 17:08:35 +03:00
Dmitry Stogov
6b691cd44e Merge branch 'PHP-7.4'
* PHP-7.4:
  Check for supported libffi ABI
2019-05-13 15:16:28 +03:00
Dmitry Stogov
49de3ce3ca Check for supported libffi ABI 2019-05-13 15:15:51 +03:00
Nikita Popov
9702e2332f Merge branch 'PHP-7.4' 2019-05-07 15:44:39 +02:00
Nikita Popov
645ebcdfbf Avoid some maybe uninitialized warnings in ffi
All false positives.
2019-05-07 15:44:22 +02:00
Dmitry Stogov
17a43fe2a5 Merge branch 'PHP-7.4'
* PHP-7.4:
  Fix double incremenation in ffi
2019-05-06 09:45:23 +03:00
Peter Kokot
426bcdf021 Fix double incremenation in ffi
This removes the warning of:
`incremented both in the loop header and in the loop body` in the
compilation step.
2019-05-06 09:45:11 +03:00
Christoph M. Becker
848ce03347 Merge branch 'PHP-7.4'
* PHP-7.4:
  Properly initialize variable
2019-05-05 17:50:15 +02:00
Christoph M. Becker
30409d6753 Properly initialize variable
Not all code paths assign to `handle`, even though it may be used, so
we make sure that it is initialized to a sane value in the first place.
2019-05-05 17:49:54 +02:00
Christoph M. Becker
af8dc55601 Merge branch 'PHP-7.4'
* PHP-7.4:
  Fix typo
2019-05-05 15:41:05 +02:00
Christoph M. Becker
a760c79f1e Fix typo 2019-05-05 15:40:33 +02:00
Dmitry Stogov
40c8585bab Merge branch 'PHP-7.4'
* PHP-7.4:
  Fixed ext/ffi/tests/044.phpt failure on 32-bit Linux
2019-04-09 16:12:53 +03:00
Dmitry Stogov
a5e86d8264 Fixed ext/ffi/tests/044.phpt failure on 32-bit Linux 2019-04-09 16:12:13 +03:00
Anatol Belski
82189218ba Merge branch 'PHP-7.4'
* PHP-7.4:
  Fix handling and extend ext/ffi/tests/044.phpt
2019-03-30 12:54:05 +01:00
Anatol Belski
039500adb6 Fix handling and extend ext/ffi/tests/044.phpt 2019-03-30 12:53:32 +01:00
Dmitry Stogov
4006e99577 Merge branch 'PHP-7.4'
* PHP-7.4:
  Partial support for GCC mode attribute.
2019-03-29 17:29:32 +03:00
Dmitry Stogov
61ad294f26 Partial support for GCC mode attribute. 2019-03-29 17:28:57 +03:00
Dmitry Stogov
3caf9d660d Merge branch 'PHP-7.4'
* PHP-7.4:
  Fixed memory leaks
2019-03-29 14:34:07 +03:00
Dmitry Stogov
a2b39aa0de Fixed memory leaks 2019-03-29 14:33:49 +03:00
Dmitry Stogov
5db761b68f Merge branch 'PHP-7.4'
* PHP-7.4:
  Allow usage of incomplete types for external variables, function parameters and return values
2019-03-29 14:16:18 +03:00
Dmitry Stogov
24fa2008dd Allow usage of incomplete types for external variables, function parameters and return values 2019-03-29 14:14:56 +03:00
Dmitry Stogov
8eae762e2f Merge branch 'PHP-7.4'
* PHP-7.4:
  Added support for more GCC extensions: attributes, __extension__, __asm__ (ignored)
2019-03-29 02:38:12 +03:00
Dmitry Stogov
745dd94e55 Added support for more GCC extensions: attributes, __extension__, __asm__ (ignored) 2019-03-29 02:36:55 +03:00
Dmitry Stogov
1dc9887cf5 Merge branch 'PHP-7.4'
* PHP-7.4:
  Ignore "__format__" attribute
2019-03-29 00:53:06 +03:00
Dmitry Stogov
adf930c038 Ignore "__format__" attribute 2019-03-29 00:52:39 +03:00
Dmitry Stogov
353578eecd Merge branch 'PHP-7.4'
* PHP-7.4:
  Allow incomplete array variables - extern const char * const sys_errlist[]
2019-03-29 00:16:51 +03:00
Dmitry Stogov
94e3db64b2 Allow incomplete array variables - extern const char * const sys_errlist[] 2019-03-29 00:15:12 +03:00
Dmitry Stogov
13f5c83295 Merge branch 'PHP-7.4'
* PHP-7.4:
  Fixed bug #77768 (FFI: Builtin Types Should Not Raise Error On Redeclaration)
2019-03-29 00:03:18 +03:00
Dmitry Stogov
a3e52afebe Fixed bug #77768 (FFI: Builtin Types Should Not Raise Error On Redeclaration) 2019-03-29 00:02:26 +03:00
Dmitry Stogov
128318dcbf Merge branch 'PHP-7.4'
* PHP-7.4:
  Support for __restrict and few GCC attributes
2019-03-28 03:01:58 +03:00
Dmitry Stogov
363e8dd69d Support for __restrict and few GCC attributes 2019-03-28 03:01:20 +03:00
Dmitry Stogov
25fe1d5dde Merge branch 'PHP-7.4'
* PHP-7.4:
  Improve white-space handling
2019-03-19 13:53:18 +03:00
Dmitry Stogov
defd421c0f Improve white-space handling 2019-03-19 13:52:55 +03:00
Dmitry Stogov
ddf02dc978 Merge branch 'PHP-7.4'
* PHP-7.4:
  Reset fields
2019-03-11 15:39:18 +03:00
Dmitry Stogov
e7f0a60d54 Reset fields 2019-03-11 15:38:49 +03:00