./configure: Wrote _build/detected-config.sh and _build/detected-config.h build/compile.sh build-opt _build/oil/ovm-opt _build/oil/module_init.c _build/oil/main_name.c _build/oil/c-module-srcs.txt ~/oil/_tmp/oil-tar-test/oil-0.11.0/Python-2.7.13 ~/oil/_tmp/oil-tar-test/oil-0.11.0 In file included from Include/Python.h:78, from Objects/listobject.c:3: Objects/listobject.c: In function 'list_resize': Include/pymem.h:110:34: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context] (type *) PyMem_REALLOC((p), (n) * sizeof(type)) ) ^ Include/pymem.h:77:21: note: in definition of macro 'PyMem_REALLOC' : realloc((p), (n) ? (n) : 1)) ^ Objects/listobject.c:62:9: note: in expansion of macro 'PyMem_RESIZE' PyMem_RESIZE(items, PyObject *, new_allocated); ^~~~~~~~~~~~ Objects/listobject.c: In function 'list_ass_subscript': Objects/listobject.c:2651:41: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context] PyMem_MALLOC(slicelength*sizeof(PyObject*)); Include/pymem.h:75:15: note: in definition of macro 'PyMem_MALLOC' : malloc((n) ? (n) : 1)) ^ Objects/listobject.c:2732:41: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context] PyMem_MALLOC(slicelength*sizeof(PyObject*)); Include/pymem.h:75:15: note: in definition of macro 'PyMem_MALLOC' : malloc((n) ? (n) : 1)) ^ In file included from Include/Python.h:78, from Objects/dictobject.c:10: Objects/dictobject.c: In function 'dictresize': Include/pymem.h:97:30: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context] ( (type *) PyMem_MALLOC((n) * sizeof(type)) ) ) ^ Include/pymem.h:75:15: note: in definition of macro 'PyMem_MALLOC' : malloc((n) ? (n) : 1)) ^ Objects/dictobject.c:643:20: note: in expansion of macro 'PyMem_NEW' newtable = PyMem_NEW(PyDictEntry, newsize); ^~~~~~~~~ In file included from Include/Python.h:78, from Objects/setobject.c:7: Objects/setobject.c: In function 'set_table_resize': Include/pymem.h:97:30: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context] ( (type *) PyMem_MALLOC((n) * sizeof(type)) ) ) ^ Include/pymem.h:75:15: note: in definition of macro 'PyMem_MALLOC' : malloc((n) ? (n) : 1)) ^ Objects/setobject.c:316:20: note: in expansion of macro 'PyMem_NEW' newtable = PyMem_NEW(setentry, newsize); ^~~~~~~~~ In file included from Include/Python.h:78, from Objects/structseq.c:4: Objects/structseq.c: In function 'PyStructSequence_InitType': Include/pymem.h:97:30: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context] ( (type *) PyMem_MALLOC((n) * sizeof(type)) ) ) ^ Include/pymem.h:75:15: note: in definition of macro 'PyMem_MALLOC' : malloc((n) ? (n) : 1)) ^ Objects/structseq.c:508:15: note: in expansion of macro 'PyMem_NEW' members = PyMem_NEW(PyMemberDef, n_members-n_unnamed_members+1); ^~~~~~~~~ Objects/structseq.c: In function 'structseq_repr': Objects/structseq.c:257:5: warning: 'strncpy' specified bound depends on the length of the source argument [-Wstringop-overflow=] strncpy(pbuf, typ->tp_name, len); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Objects/structseq.c:255:11: note: length computed here len = strlen(typ->tp_name) > TYPE_MAXSIZE ? TYPE_MAXSIZE : ^~~~~~~~~~~~~~~~~~~~ In file included from Include/Python.h:78, from Objects/typeobject.c:3: Objects/typeobject.c: In function 'pmerge': Objects/typeobject.c:1519:44: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context] remain = (int *)PyMem_MALLOC(SIZEOF_INT*to_merge_size); Include/pymem.h:75:15: note: in definition of macro 'PyMem_MALLOC' : malloc((n) ? (n) : 1)) ^ In file included from Include/Python.h:78, from Python/bltinmodule.c:3: Python/bltinmodule.c: In function 'builtin_map': Include/pymem.h:97:30: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context] ( (type *) PyMem_MALLOC((n) * sizeof(type)) ) ) ^ Include/pymem.h:75:15: note: in definition of macro 'PyMem_MALLOC' : malloc((n) ? (n) : 1)) ^ Python/bltinmodule.c:980:17: note: in expansion of macro 'PyMem_NEW' if ((seqs = PyMem_NEW(sequence, n)) == NULL) { ^~~~~~~~~ In file included from Include/Python.h:78, from Python/getargs.c:4: Python/getargs.c: In function 'convertsimple': Include/pymem.h:97:30: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context] ( (type *) PyMem_MALLOC((n) * sizeof(type)) ) ) ^ Include/pymem.h:75:15: note: in definition of macro 'PyMem_MALLOC' : malloc((n) ? (n) : 1)) ^ Python/getargs.c:1133:27: note: in expansion of macro 'PyMem_NEW' *buffer = PyMem_NEW(char, size + 1); ^~~~~~~~~ Include/pymem.h:97:30: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context] ( (type *) PyMem_MALLOC((n) * sizeof(type)) ) ) ^ Include/pymem.h:75:15: note: in definition of macro 'PyMem_MALLOC' : malloc((n) ? (n) : 1)) ^ Python/getargs.c:1181:23: note: in expansion of macro 'PyMem_NEW' *buffer = PyMem_NEW(char, size + 1); ^~~~~~~~~ Python/getargs.c:1034:21: warning: variable 'encoding' set but not used [-Wunused-but-set-variable] const char *encoding; ^~~~~~~~ In file included from Include/Python.h:78, from Python/import.c:4: Python/import.c: In function '_PyImport_Init': Include/pymem.h:97:30: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context] ( (type *) PyMem_MALLOC((n) * sizeof(type)) ) ) ^ Include/pymem.h:75:15: note: in definition of macro 'PyMem_MALLOC' : malloc((n) ? (n) : 1)) ^ Python/import.c:168:15: note: in expansion of macro 'PyMem_NEW' filetab = PyMem_NEW(struct filedescr, countD + countS + 1); ^~~~~~~~~ Python/import.c: In function 'PyImport_ExtendInittab': Include/pymem.h:110:34: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context] (type *) PyMem_REALLOC((p), (n) * sizeof(type)) ) ^ Include/pymem.h:77:21: note: in definition of macro 'PyMem_REALLOC' : realloc((p), (n) ? (n) : 1)) ^ Python/import.c:3525:5: note: in expansion of macro 'PyMem_RESIZE' PyMem_RESIZE(p, struct _inittab, i+n+1); ^~~~~~~~~~~~ Python/marshal.c: In function 'PyMarshal_WriteLongToFile': Python/marshal.c:70:35: warning: 'wf.ptr' may be used uninitialized in this function [-Wmaybe-uninitialized] else if ((p)->ptr != (p)->end) *(p)->ptr++ = (c); \ ^~ Python/marshal.c:70:47: warning: 'wf.end' may be used uninitialized in this function [-Wmaybe-uninitialized] else if ((p)->ptr != (p)->end) *(p)->ptr++ = (c); \ ^~ Python/marshal.c:77:10: warning: 'wf.str' may be used uninitialized in this function [-Wmaybe-uninitialized] if (p->str == NULL) ~^~~~~ Python/pystrtod.c: In function 'format_float_short': Python/pystrtod.c:1007:13: warning: 'strncpy' output truncated before terminating nul copying 3 bytes from a string of the same length [-Wstringop-truncation] strncpy(p, "ERR", 3); ^~~~~~~~~~~~~~~~~~~~ In function 'read_directory', inlined from 'zipimporter_init' at Modules/zipimport.c:133:21: Modules/zipimport.c:849:9: warning: 'strncpy' output may be truncated copying between 0 and 4095 bytes from a string of length 4100 [-Wstringop-truncation] strncpy(path + length + 1, name, MAXPATHLEN - length - 1); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../native/line_input.c: In function 'call_readline': ../native/line_input.c:1210:9: warning: 'strncpy' output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation] strncpy(p, q, n); ^~~~~~~~~~~~~~~~ ../native/line_input.c:1204:9: note: length computed here n = strlen(p); ^~~~~~~~~ In file included from Include/Python.h:78, from ../native/posixmodule.c:6: ../native/posixmodule.c: In function 'posix_execv': Include/pymem.h:97:30: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context] ( (type *) PyMem_MALLOC((n) * sizeof(type)) ) ) ^ Include/pymem.h:75:15: note: in definition of macro 'PyMem_MALLOC' : malloc((n) ? (n) : 1)) ^ ../native/posixmodule.c:1102:16: note: in expansion of macro 'PyMem_NEW' argvlist = PyMem_NEW(char *, argc+1); ^~~~~~~~~ ../native/posixmodule.c: In function 'posix_execve': Include/pymem.h:97:30: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context] ( (type *) PyMem_MALLOC((n) * sizeof(type)) ) ) ^ Include/pymem.h:75:15: note: in definition of macro 'PyMem_MALLOC' : malloc((n) ? (n) : 1)) ^ ../native/posixmodule.c:1178:16: note: in expansion of macro 'PyMem_NEW' argvlist = PyMem_NEW(char *, argc+1); ^~~~~~~~~ Include/pymem.h:97:30: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context] ( (type *) PyMem_MALLOC((n) * sizeof(type)) ) ) ^ Include/pymem.h:75:15: note: in definition of macro 'PyMem_MALLOC' : malloc((n) ? (n) : 1)) ^ ../native/posixmodule.c:1199:15: note: in expansion of macro 'PyMem_NEW' envlist = PyMem_NEW(char *, i + 1); ^~~~~~~~~ Include/pymem.h:97:30: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context] ( (type *) PyMem_MALLOC((n) * sizeof(type)) ) ) ^ Include/pymem.h:75:15: note: in definition of macro 'PyMem_MALLOC' : malloc((n) ? (n) : 1)) ^ ../native/posixmodule.c:1237:13: note: in expansion of macro 'PyMem_NEW' p = PyMem_NEW(char, len); ^~~~~~~~~ In file included from Include/Python.h:78, from Modules/selectmodule.c:9: Modules/selectmodule.c: In function 'update_ufd_array': Include/pymem.h:110:34: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context] (type *) PyMem_REALLOC((p), (n) * sizeof(type)) ) ^ Include/pymem.h:77:21: note: in definition of macro 'PyMem_REALLOC' : realloc((p), (n) ? (n) : 1)) ^ Modules/selectmodule.c:337:5: note: in expansion of macro 'PyMem_RESIZE' PyMem_RESIZE(self->ufds, struct pollfd, self->ufd_len); ^~~~~~~~~~~~ ../py-yajl/yajl.c: In function 'py_dumps': ../py-yajl/yajl.c:107:16: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] spaces = IndentString(indent); ^ ../py-yajl/yajl.c: At top level: ../py-yajl/yajl.c:164:15: warning: initialization of 'PyObject * (*)(PyObject *, PyObject *)' {aka 'struct _object * (*)(struct _object *, struct _object *)'} from incompatible pointer type 'PyObject * (*)(PyObject *, PyObject *, PyObject *)' {aka 'struct _object * (*)(struct _object *, struct _object *, struct _object *)'} [-Wincompatible-pointer-types] {"dumps", (PyCFunctionWithKeywords)(py_dumps), METH_VARARGS | METH_KEYWORDS, ^ ../py-yajl/yajl.c:164:15: note: (near initialization for 'yajl_methods[0].ml_meth') ../py-yajl/encoder.c: In function 'ProcessObject': ../py-yajl/encoder.c:130:16: warning: suggest parentheses around assignment used as truth value [-Wparentheses] while (key = PyIter_Next(iterator)) { ^~~ ../py-yajl/encoder.c: In function '_internal_encode': ../py-yajl/encoder.c:185:51: warning: pointer targets in passing argument 1 of 'PyString_FromStringAndSize' differ in signedness [-Wpointer-sign] PyObject* result = PyString_FromStringAndSize(buf, len); ^~~ In file included from Include/Python.h:99, from ../py-yajl/encoder.c:32: Include/stringobject.h:62:24: note: expected 'const char *' but argument is of type 'const unsigned char *' PyAPI_FUNC(PyObject *) PyString_FromStringAndSize(const char *, Py_ssize_t); ^~~~~~~~~~~~~~~~~~~~~~~~~~ ../py-yajl/decoder.c:224:5: warning: initialization of 'int (*)(void *, const char *, size_t)' {aka 'int (*)(void *, const char *, long unsigned int)'} from incompatible pointer type 'int (*)(void *, const char *, unsigned int)' [-Wincompatible-pointer-types] handle_number, ^~~~~~~~~~~~~ ../py-yajl/decoder.c:224:5: note: (near initialization for 'decode_callbacks.yajl_number') ../py-yajl/decoder.c:225:5: warning: initialization of 'int (*)(void *, const unsigned char *, size_t)' {aka 'int (*)(void *, const unsigned char *, long unsigned int)'} from incompatible pointer type 'int (*)(void *, const unsigned char *, unsigned int)' [-Wincompatible-pointer-types] handle_string, ^~~~~~~~~~~~~ ../py-yajl/decoder.c:225:5: note: (near initialization for 'decode_callbacks.yajl_string') ../py-yajl/decoder.c:227:5: warning: initialization of 'int (*)(void *, const unsigned char *, size_t)' {aka 'int (*)(void *, const unsigned char *, long unsigned int)'} from incompatible pointer type 'int (*)(void *, const unsigned char *, unsigned int)' [-Wincompatible-pointer-types] handle_dict_key, ^~~~~~~~~~~~~~~ ../py-yajl/decoder.c:227:5: note: (near initialization for 'decode_callbacks.yajl_map_key') ../py-yajl/decoder.c: In function '_internal_decode': ../py-yajl/decoder.c:272:37: warning: pointer targets in passing argument 3 of 'yajl_get_error' differ in signedness [-Wpointer-sign] str = yajl_get_error(parser, 1, buffer, buflen); ^~~~~~ In file included from ../py-yajl/decoder.c:38: ../py-yajl/yajl/yajl-2.1.1/include/yajl/yajl_parse.h:201:30: note: expected 'const unsigned char *' but argument is of type 'char *' YAJL_API unsigned char * yajl_get_error(yajl_handle hand, int verbose, ^~~~~~~~~~~~~~ real 0m31.275s user 0m28.076s sys 0m2.378s ~/oil/_tmp/oil-tar-test/oil-0.11.0 objcopy --only-keep-debug _build/oil/ovm-opt _build/oil/ovm-opt.symbols strip -o _build/oil/ovm-opt.stripped _build/oil/ovm-opt # What's the difference with debug symbols? # We need a relative path since it will be _bin/oil.ovm objcopy --add-gnu-debuglink=_build/oil/ovm-opt.symbols _build/oil/ovm-opt.stripped cat _build/oil/ovm-opt.stripped _build/oil/bytecode-opy.zip > _bin/oil.ovm chmod +x _bin/oil.ovm real 0m31.319s user 0m28.094s sys 0m2.401s Oil version 0.11.0 Release Date: 2022-07-11 07:38:07+00:00 Arch: x86_64 OS: Linux Platform: #1 SMP Debian 5.10.106-1 (2022-03-17) Compiler: GCC 8.3.0 Interpreter: OVM Interpreter version: 2.7.13 Bytecode: bytecode-opy.zip