summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkrakjoe <joe.watkins@live.co.uk>2013-12-22 13:07:41 +0000
committerkrakjoe <joe.watkins@live.co.uk>2013-12-22 13:07:41 +0000
commit247ec0d81f1ebe16cafa082ba3ef73ca1f31831d (patch)
treefa86878f90e2bac983d204ef2ce41cc3b84afc33
parent8e36d36ee6dc89701416c282ede0bcd92fd3aa0e (diff)
parentb1df00a7c98fb66cc801924287ebb73234999bfc (diff)
downloadphp-git-247ec0d81f1ebe16cafa082ba3ef73ca1f31831d.tar.gz
Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4: stop warnings from unused opcode map - BFN
-rw-r--r--NEWS4
-rw-r--r--Zend/zend_language_scanner.c2
-rw-r--r--Zend/zend_language_scanner_defs.h2
-rw-r--r--Zend/zend_vm_gen.php17
-rw-r--r--Zend/zend_vm_opcodes.c5
-rw-r--r--Zend/zend_vm_opcodes.h4
6 files changed, 24 insertions, 10 deletions
diff --git a/NEWS b/NEWS
index 7714f31049..81cd742733 100644
--- a/NEWS
+++ b/NEWS
@@ -30,6 +30,10 @@ PHP NEWS
- GD:
. Fixed bug #64405 (Use freetype-config for determining freetype2 dir(s)).
(Adam)
+
+- PDO_odbc:
+ . Fixed bug #66311 (Stack smashing protection kills PDO/ODBC queries).
+ (michael at orlitzky dot com)
- MySQLi:
. Fixed bug #65486 (mysqli_poll() is broken on win x64). (Anatol)
diff --git a/Zend/zend_language_scanner.c b/Zend/zend_language_scanner.c
index deb799ab76..62183cdfc1 100644
--- a/Zend/zend_language_scanner.c
+++ b/Zend/zend_language_scanner.c
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.13.5 */
+/* Generated by re2c 0.13.5 on Sun Dec 22 13:03:33 2013 */
#line 1 "Zend/zend_language_scanner.l"
/*
+----------------------------------------------------------------------+
diff --git a/Zend/zend_language_scanner_defs.h b/Zend/zend_language_scanner_defs.h
index 5926e3c61d..70ce8b890c 100644
--- a/Zend/zend_language_scanner_defs.h
+++ b/Zend/zend_language_scanner_defs.h
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.13.5 */
+/* Generated by re2c 0.13.5 on Sun Dec 22 13:03:33 2013 */
#line 3 "Zend/zend_language_scanner_defs.h"
enum YYCONDTYPE {
diff --git a/Zend/zend_vm_gen.php b/Zend/zend_vm_gen.php
index ea79833ecd..bc96a3b669 100644
--- a/Zend/zend_vm_gen.php
+++ b/Zend/zend_vm_gen.php
@@ -1181,8 +1181,8 @@ function gen_vm($def, $skel) {
out($f, $GLOBALS['header_text']);
fputs($f, "#ifndef ZEND_VM_OPCODES_H\n#define ZEND_VM_OPCODES_H\n\n");
- fputs($f, "extern ZEND_API const char *zend_vm_opcodes_map[".($max_opcode + 1)."];\n\n");
-
+ fputs($f, "ZEND_API const char *zend_get_opcode_name(zend_uchar opcode);\n\n");
+
foreach ($opcodes as $code => $dsc) {
$code = str_pad((string)$code,$code_len," ",STR_PAD_LEFT);
$op = str_pad($dsc["op"],$max_opcode_len);
@@ -1198,14 +1198,19 @@ function gen_vm($def, $skel) {
// Insert header
out($f, $GLOBALS['header_text']);
- fputs($f,"#include <stdio.h>\n\n");
-
+ fputs($f,"#include <stdio.h>\n");
+ fputs($f,"#include <zend.h>\n\n");
+
fputs($f,"const char *zend_vm_opcodes_map[".($max_opcode + 1)."] = {\n");
for ($i = 0; $i <= $max_opcode; $i++) {
fputs($f,"\t".(isset($opcodes[$i]["op"])?'"'.$opcodes[$i]["op"].'"':"NULL").",\n");
}
- fputs($f, "};\n");
-
+ fputs($f, "};\n\n");
+
+ fputs($f, "ZEND_API const char* zend_get_opcode_name(zend_uchar opcode) {\n");
+ fputs($f, "\treturn zend_vm_opcodes_map[opcode];\n");
+ fputs($f, "}\n");
+
fclose($f);
echo "zend_vm_opcodes.c generated successfully.\n";
diff --git a/Zend/zend_vm_opcodes.c b/Zend/zend_vm_opcodes.c
index c565510fac..22fc7cbcf3 100644
--- a/Zend/zend_vm_opcodes.c
+++ b/Zend/zend_vm_opcodes.c
@@ -19,6 +19,7 @@
*/
#include <stdio.h>
+#include <zend.h>
const char *zend_vm_opcodes_map[164] = {
"ZEND_NOP",
@@ -186,3 +187,7 @@ const char *zend_vm_opcodes_map[164] = {
"ZEND_FAST_CALL",
"ZEND_FAST_RET",
};
+
+ZEND_API const char* zend_get_opcode_name(zend_uchar opcode) {
+ return zend_vm_opcodes_map[opcode];
+}
diff --git a/Zend/zend_vm_opcodes.h b/Zend/zend_vm_opcodes.h
index b6f4cfc897..aa917c18b2 100644
--- a/Zend/zend_vm_opcodes.h
+++ b/Zend/zend_vm_opcodes.h
@@ -21,7 +21,7 @@
#ifndef ZEND_VM_OPCODES_H
#define ZEND_VM_OPCODES_H
-extern ZEND_API const char *zend_vm_opcodes_map[164];
+ZEND_API const char *zend_get_opcode_name(zend_uchar opcode);
#define ZEND_NOP 0
#define ZEND_ADD 1
@@ -170,4 +170,4 @@ extern ZEND_API const char *zend_vm_opcodes_map[164];
#define ZEND_FAST_CALL 162
#define ZEND_FAST_RET 163
-#endif \ No newline at end of file
+#endif