diff options
-rw-r--r-- | NEWS | 4 | ||||
-rw-r--r-- | Zend/zend_language_scanner.c | 2 | ||||
-rw-r--r-- | Zend/zend_language_scanner_defs.h | 2 | ||||
-rw-r--r-- | Zend/zend_vm_gen.php | 17 | ||||
-rw-r--r-- | Zend/zend_vm_opcodes.c | 5 | ||||
-rw-r--r-- | Zend/zend_vm_opcodes.h | 4 |
6 files changed, 24 insertions, 10 deletions
@@ -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 |