Message261103
Patched to fp22: vacpp.11.1.0.22.aix53TL7-71.sept2015.ptf.tar.Z
after reinstalling system! to be sure no garbage left around.
Only updates are openSSL/SSH packages; no RPM's installed.
Same error message(s).
Tried compiling ceval.o with -O0 (capt. O, zero) - same messages
Tried linking with .o files only (no archive) - effectively, same message.
root@x064:[/data/prj/aixtools/python-2.7.11]xlc -o python Modules/python.o Python/*.o
ld: 0711-596 SEVERE ERROR: Object Python/ceval.o
An RLD for section 2 (.data) refers to symbol 0,
but the storage class of the symbol is not C_EXT or C_HIDEXT.
ld: 0711-596 SEVERE ERROR: Object Python/ceval.o
An RLD for section 2 (.data) refers to symbol 0,
but the storage class of the symbol is not C_EXT or C_HIDEXT.
Maybe xlc does not know how to code the differences
snip:
diff -u ./python-2.7.10/Python/ceval.c ./python-2.7.11/Python/ceval.c | head -50
michael@x071:[/data/prj/aixtools/src]ython-2.7.11/Python/ceval.c | head -50 <
--- ./python-2.7.10/Python/ceval.c 2015-05-23 16:09:24 +0000
+++ ./python-2.7.11/Python/ceval.c 2015-12-05 19:47:19 +0000
@@ -615,7 +615,7 @@
to guarantee that _Py_CheckRecursiveCall() is regularly called.
Without USE_STACKCHECK, there is no need for this. */
int
-_Py_CheckRecursiveCall(char *where)
+_Py_CheckRecursiveCall(const char *where)
{
PyThreadState *tstate = PyThreadState_GET();
@@ -688,6 +688,100 @@
PyObject *
PyEval_EvalFrameEx(PyFrameObject *f, int throwflag)
{
+#ifdef DYNAMIC_EXECUTION_PROFILE
+ #undef USE_COMPUTED_GOTOS
+#endif
+#ifdef HAVE_COMPUTED_GOTOS
+ #ifndef USE_COMPUTED_GOTOS
+ #define USE_COMPUTED_GOTOS 1
+ #endif
+#else
+ #if defined(USE_COMPUTED_GOTOS) && USE_COMPUTED_GOTOS
+ #error "Computed gotos are not supported on this compiler."
+ #endif
+ #undef USE_COMPUTED_GOTOS
+ #define USE_COMPUTED_GOTOS 0
+#endif
+#if USE_COMPUTED_GOTOS
+/* Import the static jump table */
+#include "opcode_targets.h"
+
+ /* This macro is used when several opcodes defer to the same implementation
+ (e.g. SETUP_LOOP, SETUP_FINALLY) */
+#define TARGET_WITH_IMPL(op, impl) \
+ TARGET_##op: \
+ opcode = op; \
+ oparg = NEXTARG(); \
+ case op: \
+ goto impl; \
+
+#define TARGET_WITH_IMPL_NOARG(op, impl) \
+ TARGET_##op: \
+ opcode = op; \
+ case op: \
+ goto impl; \
+
+#define TARGET_NOARG(op) \
+ TARGET_##op: \
In "character" a big change from 2.7.8 to 2.7.10
michael@x071:[/data/prj/aixtools/python]diff -u ./old/Python-2.7.8/Python/ceval>
--- ./old/Python-2.7.8/Python/ceval.c 2014-06-30 02:05:46 +0000
+++ ./old/Python-2.7.10/Python/ceval.c 2015-05-23 16:09:24 +0000
@@ -66,9 +66,11 @@
even in 64-bit mode, we need to use "a" and "d" for the lower and upper
32-bit pieces of the result. */
-#define READ_TIMESTAMP(val) \
- __asm__ __volatile__("rdtsc" : \
- "=a" (((int*)&(val))[0]), "=d" (((int*)&(val))[1]));
+#define READ_TIMESTAMP(val) do { \
+ unsigned int h, l; \
+ __asm__ __volatile__("rdtsc" : "=a" (l), "=d" (h)); \
+ (val) = ((uint64)l) | (((uint64)h) << 32); \
+ } while(0)
#else
@@ -355,12 +357,6 @@
if (interpreter_lock) {
int err = errno;
PyThread_acquire_lock(interpreter_lock, 1);
- /* _Py_Finalizing is protected by the GIL */
- if (_Py_Finalizing && tstate != _Py_Finalizing) {
- PyThread_release_lock(interpreter_lock);
- PyThread_exit_thread();
- assert(0); /* unreachable */
- }
errno = err;
}
#endif
@@ -1025,12 +1021,6 @@
PyThread_acquire_lock(interpreter_lock, 1);
- /* Check if we should make a quick exit. */
- if (_Py_Finalizing && _Py_Finalizing != tstate) {
- PyThread_release_lock(interpreter_lock);
- PyThread_exit_thread();
- }
-
if (PyThreadState_Swap(tstate) != NULL)
Py_FatalError("ceval: orphan tstate");
@@ -1957,9 +1947,13 @@
if (err == 0) continue;
break;
}
+ t = PyObject_Repr(w);
+ if (t == NULL)
+ break;
PyErr_Format(PyExc_SystemError,
"no locals found when storing %s",
- PyObject_REPR(w));
+ PyString_AS_STRING(t));
+ Py_DECREF(t);
break;
case DELETE_NAME:
@@ -1971,9 +1965,13 @@
w);
break;
}
+ t = PyObject_Repr(w);
+ if (t == NULL)
+ break;
PyErr_Format(PyExc_SystemError,
"no locals when deleting %s",
- PyObject_REPR(w));
+ PyString_AS_STRING(w));
+ Py_DECREF(t);
break;
PREDICTED_WITH_ARG(UNPACK_SEQUENCE);
@@ -2046,10 +2044,14 @@
case LOAD_NAME:
w = GETITEM(names, oparg);
if ((v = f->f_locals) == NULL) {
+ why = WHY_EXCEPTION;
+ t = PyObject_Repr(w);
+ if (t == NULL)
+ break;
PyErr_Format(PyExc_SystemError,
"no locals when loading %s",
- PyObject_REPR(w));
- why = WHY_EXCEPTION;
+ PyString_AS_STRING(w));
+ Py_DECREF(t);
break;
}
if (PyDict_CheckExact(v)) {
michael@x071:[/data/prj/aixtools/python]
So, until someone can help figure out which symbol is being referenced, yet seems to lack a correct attribute
"but the storage class of the symbol is not C_EXT or C_HIDEXT."
I am lost.
Thank you for your consideration. |
|
Date |
User |
Action |
Args |
2016-03-02 10:18:22 | Michael.Felt | set | recipients:
+ Michael.Felt, vstinner, David.Edelsohn |
2016-03-02 10:18:22 | Michael.Felt | set | messageid: <1456913902.05.0.124196289151.issue26466@psf.upfronthosting.co.za> |
2016-03-02 10:18:22 | Michael.Felt | link | issue26466 messages |
2016-03-02 10:18:20 | Michael.Felt | create | |
|