Skip to content

Conversation

@khwilliamson
Copy link
Contributor

z/OS has extra startup needs like a couple other platforms, e.g. cygwin.
This series of commits, mostly from IBM, adds z/OS startup code

Principally, z/OS files have extra status fields regarding "tags".
Files on this system may be encoded in different character sets, and
these fields describe them. Hence the OS has within it the knowledge of
a file's encoding. A file is "tagged" as being in a particular encoding
(or encodings plural; I have no idea how that works).

  • This set of changes does not require a perldelta entry.

@tonycoz
Copy link
Contributor

tonycoz commented Sep 17, 2025

Otherwise looks good to me

IgorTodorovskiIBM and others added 5 commits September 17, 2025 14:17
z/OS has extra startup needs like a couple other platforms, e.g. cygwin.
This adds a file that handles them.

Principally, z/OS files have extra status fields regarding "tags".
Files on this system may be encoded in different character sets, and
these fields describe them.  Hence the OS has within it the knowledge of
a file's encoding.  A file is "tagged" as being in a particular encoding
(or encodings plural; I have no idea how that works).  This file adds a
function to deal with them.
The previous commit added a file and functions for specially dealing
with z/OS.  This commit actually calls the start up one.
z/OS has extra fields which give the character set associated with the
object.  Previously, there were a bunch of functions called to deal with
these.

This all falls away if we #ifdef these fields when accessing the
structure.
IBM has an initiative underway to port various open source projects to
work on z/OS, running under ASCII.  But its native character set is IBM
1047.  This requires a bunch of fancy footwork that they have
undertaken.  One of the necessary things is to be able to set the
character set of a file descriptor.  The __setfdccsid() function does
that, but it and its header file, zos.h, are only defined in ASCII
builds.  This commit allows perl to work in both modes.
@khwilliamson khwilliamson merged commit accbfd5 into Perl:blead Sep 17, 2025
33 checks passed
@khwilliamson khwilliamson deleted the os390 branch September 18, 2025 00:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants