port to PDOS (especially mainframe)
Paul Edwards
mutazilah at gmail.com
Tue Mar 23 07:19:34 EDT 2021
On Tuesday, March 23, 2021 at 9:44:03 PM UTC+11, Gisle Vanem wrote:
> Why not try to port MicroPython instead? Much lighter.
> I've ported it to MSDOS/djgpp with some success.
Thanks for the tip. I don't actually need it to be
light. I just need it to be C90-compliant.
The assembler I mentioned is designed to take
the output of a customized GCC 3.2.3, which is
a 3 MB executable and requires about 20 MB
to recompile itself. So lots of memory needs to
be thrown at it anyway.
> > python.a(abstract.o)(.text+0x668c):abstract.c: undefined reference to `PyExc_StopIteration'
> It's in 'Objects/exceptions.c'. When in doubt, look at the
Thanks!
> 'python*.map' files. I assume you have managed to build
> Python 3 on Windows (?).
There are no map files in the Python 3.3 distribution,
and no, I haven't built it on Windows. I've never run
python before. I tried typing in "python" to see if it
came with Cygwin, but I got some stupid Windows
store thing come up.
> And BTW, it's also forwarded from 'python3.dll' via some
> hacks in 'python3dll.c' to the real Python in 'Python310.dll'
> (in my case):
> pedump python3.dll | grep PyExc_StopIteration
> 0000853A 227 PyExc_StopIteration (forwarder -> python310.dll.PyExc_StopIteration)
>
> plus a lot more; it's quite ugly.
Ok, I'm assuming that I can run without DLLs
being involved. There are presumably other
targets with no concept of DLLs.
My latest problem is this:
Objects/exceptions.c: ADD_ERRNO(ConnectionRefusedError, ECONNREFUSED);
Those errno are non-standard (non-C90) and I assume
other platforms can't cope with that either. But I can't
see how other platforms are circumventing that problem.
(ie I did a grep -R of the whole source code).
I could define a stack of constants in pyconfig.h to allow
the compile to go through, but I don't see anyone else
doing the same thing.
Is there some other way of circumventing the problem?
Thanks. Paul.
More information about the Python-list
mailing list