mirror of
https://git.yoctoproject.org/poky
synced 2026-02-06 08:48:45 +01:00
python: remove the default optimization
We had hard coded python-native and python's default optimization to 1, which made the "assert" statement didn't work, and removed the "-O/-OO" (optimization options), the target python had a "-N" option to disable the default optimization, but the native python didn't. I think that we can set the environment variable PYTHONOPTIMIZE or use "python -O" if we need to optimize, but I'm not sure whether we need to set it by default, it would confuse the user or cause/hide unexpected problems if the "assert" doesn't work. [YOCTO #4427] (From OE-Core rev: 165ed464bbb9bf985dde9d8c15d000809901fff6) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
a86b00651f
commit
2f7c588c5a
@@ -1,60 +0,0 @@
|
||||
Upstream-Status: Inappropriate [embedded specific]
|
||||
|
||||
Updated original patch for python 2.7.3
|
||||
|
||||
Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com>
|
||||
2012/05/01
|
||||
|
||||
|
||||
# when compiling for an embedded system, we need every bit of
|
||||
# performance we can get. default to optimized with the option
|
||||
# of opt-out.
|
||||
# Signed-Off: Michael 'Mickey' Lauer <mickey@vanille-media.de>
|
||||
|
||||
Index: Python-2.7.3/Python/compile.c
|
||||
===================================================================
|
||||
--- Python-2.7.3.orig/Python/compile.c
|
||||
+++ Python-2.7.3/Python/compile.c
|
||||
@@ -32,7 +32,7 @@
|
||||
#include "symtable.h"
|
||||
#include "opcode.h"
|
||||
|
||||
-int Py_OptimizeFlag = 0;
|
||||
+int Py_OptimizeFlag = 1;
|
||||
|
||||
#define DEFAULT_BLOCK_SIZE 16
|
||||
#define DEFAULT_BLOCKS 8
|
||||
Index: Python-2.7.3/Modules/main.c
|
||||
===================================================================
|
||||
--- Python-2.7.3.orig/Modules/main.c
|
||||
+++ Python-2.7.3/Modules/main.c
|
||||
@@ -40,7 +40,7 @@ static char **orig_argv;
|
||||
static int orig_argc;
|
||||
|
||||
/* command line options */
|
||||
-#define BASE_OPTS "3bBc:dEhiJm:OQ:RsStuUvVW:xX?"
|
||||
+#define BASE_OPTS "3bBc:dEhiJm:NOQ:RsStuUvVW:xX?"
|
||||
|
||||
#ifndef RISCOS
|
||||
#define PROGRAM_OPTS BASE_OPTS
|
||||
@@ -69,8 +69,7 @@ Options and arguments (and corresponding
|
||||
static char *usage_2 = "\
|
||||
if stdin does not appear to be a terminal; also PYTHONINSPECT=x\n\
|
||||
-m mod : run library module as a script (terminates option list)\n\
|
||||
--O : optimize generated bytecode slightly; also PYTHONOPTIMIZE=x\n\
|
||||
--OO : remove doc-strings in addition to the -O optimizations\n\
|
||||
+-N : do NOT optimize generated bytecode\n\
|
||||
-R : use a pseudo-random salt to make hash() values of various types be\n\
|
||||
unpredictable between separate invocations of the interpreter, as\n\
|
||||
a defense against denial-of-service attacks\n\
|
||||
@@ -365,8 +364,8 @@ Py_Main(int argc, char **argv)
|
||||
|
||||
/* case 'J': reserved for Jython */
|
||||
|
||||
- case 'O':
|
||||
- Py_OptimizeFlag++;
|
||||
+ case 'N':
|
||||
+ Py_OptimizeFlag=0;
|
||||
break;
|
||||
|
||||
case 'B':
|
||||
@@ -1,21 +0,0 @@
|
||||
Upstream-Status: Inappropriate [embedded specific]
|
||||
|
||||
# Reinstate the empty -O option to fix weird mixing of native and target
|
||||
# binaries and libraries with LD_LIBRARY_PATH when host==target
|
||||
#
|
||||
# Signed-off-by: Denys Dmytriyenko <denis@denix.org>
|
||||
|
||||
Index: Python-2.6.6/Modules/main.c
|
||||
===================================================================
|
||||
--- Python-2.6.6.orig/Modules/main.c
|
||||
+++ Python-2.6.6/Modules/main.c
|
||||
@@ -327,6 +327,9 @@ Py_Main(int argc, char **argv)
|
||||
|
||||
/* case 'J': reserved for Jython */
|
||||
|
||||
+ case 'O': /* ignore it */
|
||||
+ break;
|
||||
+
|
||||
case 'N':
|
||||
Py_OptimizeFlag=0;
|
||||
break;
|
||||
Reference in New Issue
Block a user