Big_Endian problem
| From: | Sam Ding | Date: | Fri, 19 Jan 2018 21:04:02 +0000 |
| Subject: | Big_Endian problem | ||
| Groups: | php.internals | ||
| Request: | Send a blank email to internals+get-101630@lists.php.net to get a copy of this message | ||
Hi all,
The test case ext/standard/tests/general_functions/bug72300.phpt is failed
on s390x.
The function "ignore_user_abort" returns "256" on s390x, and "1" on
x86_64
after "ignore_user_abort" is set to true;
The root reason is because of Big_Endian on s390x.
Here is the C code: ext/standard/basic_functions.c
b/ext/standard/basic_functions.c:5641
old_setting = (unsigned short)PG(ignore_user_abort);
// php_core_globals.ignore_user_abort, "x /2b" shows its
value : "0x01 0x00" on both platforms
Does PHP interpreter support Big_Endian? Are there any existing
macros/functions to deal with Big/Little Endian?
Thanks,
Sam Ding