| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
| |
The Perl code expects that the ``environ`` global variable can be
re-allocated to new storage and then have entries added and removed from
it. This isn't supported by z/OS when in Bi-Modal mode and so
_PERL_USE_SAFE_PUTENV_ macro is defined to use the _env_ services to
manipulate ``environ`` instead of doing so directly. It is not clear if
it is valid to re-allocate storage for the ``environ`` global variable
or not, although it is worth pursuing with the z/OS development team as
a longer-term potential fix.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This update enables us to build EBCDIC static/dynamic
and 31-bit/64-bit addressing mode Perl. The number of
tests that pass is consistent with the baseline before
these updates, namely:
For blead.31.dynamic.ebcdic
Configured using -Dusedl
Failed 98 tests out of 1939, 94.95% okay.
Elapsed: 1038 sec
u=18.13 s=6.04 cu=535.69 cs=178.56 scripts=1939 tests=1035071
For blead.64.dynamic.ebcdic
Configured using -Dusedl -Duse64bitall
Failed 102 tests out of 1941, 94.74% okay.
Elapsed: 1057 sec
u=19.49 s=6.49 cu=543.00 cs=181.00 scripts=1941 tests=1053149
These changes also provide the base support to be able to provide
ASCII static/dynamic and 31-bit/64-bit addressing mode Perl.
Description of changes:
Makefile.SH
Changes were made to the os390*) case specific part of the code.
Support was added for the 64-bit DLL path because the original
only had support for 31-bit.
hints/os390.sh
This is the largest set of changes:
- Compilation and Link options were added for ASCII and 64-bit
- A z/OS specific check was added to determine if the Perl
code being built is ASCII or EBCDIC. The check works by
looking at the first character of the shell script to see
if it is an ASCII or non-ASCII character. If ASCII, then
the build is deemed to be ASCII. If not ASCII, it is assumed
to be EBCDIC.
- Cleanup was performed to remove code for z/OS systems that are
no longer supported, simplifying the file (e.g.
"`uname -v`x`uname -r`" in 02x0[89].*|02x1[0-9].*|[0-9][3-9]x*)
which would only be true on unsupported, very old pre-z/OS systems
- The compiler has been changed from xlc to c99. Both are available
as priced features of the operating system, and the c99 compiler is
a better 'fit' for options processing, being more consistent with
c99 on other platforms.
- Suppressing warning messages for CCN3159 were added because the
1-bit bitfields flagged due to a smaller-than-int data type are
harmless.
- Several feature test macros were added to bring the compilation up
to a modern level to enable Perl to take advantage of capabilities
available on all supported z/OS 2.4 and up systems.
- Removed the -Wl,EDIT=NO because debug information is no longer stored
in an area that will be loaded into memory, but is now stored in a
NOLOAD section. So - while this does mean that the binary on disk is a
little 'fat', what is loaded into memory is not, and it means that
people can have better problem determination tools available even on
production Perl distributions.
|
| |
|
|
|
|
|
| |
UWIN is a UNIX compatibility layer for Windows. It was last released
in 2012 and has been superseded by Cygwin these days.
|
|
|
|
|
|
| |
DJGPP is a port of the GNU toolchain to 32-bit x86 systems running DOS.
The last known attempt to build Perl on it was on 5.20, which only got
as far as building miniperl.
|
| |
|
| |
|
|
|
|
|
|
| |
Issue: https://github.com/Perl/perl5/issues/19109
Pull request: https://github.com/Perl/perl5/pull/19110
|
|
|
|
|
| |
This seems to be an unresolved bug in binutils, rather than any fundamental
object format problem.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Apple's clang happily passes the probe and compiles _Thread_local no problem,
but building extensions fails with
ld: illegal thread local variable reference to regular symbol _PL_current_context for architecture arm64
The Internet suggests that the MACH-O format fundamentally can't support
what is needed to implement C11 thread local storage in shared objects.
It's frustrating that the error message is "Less Than Awesome" at explaining
that this is the real problem here.
Hence disable the use of C11 thread local storage in the hints file, and
hence keep using pthreads.
|
| |
|
| |
|
|
|
|
|
| |
This modernizes this hints file enough that it actually works on a real
live system.
|
| |
|
| |
|
|
|
|
|
| |
Ideally, this would've been done earlier in the process of
developing 5.35, but here we are
|
|
|
|
|
|
| |
* Apparently, first you bump, then you update perldelta.
* 5.35.0 *might* be released tomorrow (likely) but not certainly.
* I've set it to tomorrow so Module::CoreList won't be upset.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This just detabifies to get rid of the mixed tab/space indentation.
Applying consistent indentation and dealing with other tabs are another issue.
Done with `expand -i`.
* vutil.* left alone, it's part of version.
* Left regen managed files alone for now.
|
| |
|
|
|
|
| |
On Illumos based distributions GCC is likely the compiler available on the system.
Change tested on SmartOS
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
For: https://github.com/Perl/perl5/pull/18201
Committer: Samanta Navarro is now a Perl author.
To keep 'make test_porting' happy: Increment $VERSION in several files.
Regenerate uconfig.h via './perl -Ilib regen/uconfig_h.pl'.
|
|
|
|
|
|
| |
-fno-stack-protector to hints for amigaos.sh
and haiku.sh (and disable accordingly -fstack-protector* in Configure)
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Improve detection of Intel C/C++ compilers.
My version of Intel C/C++ reports these versions:
✅ starscream% icc -V
Intel(R) C Intel(R) 64 Compiler for applications running on Intel(R) 64, Version 19.1.1.217 Build 20200306
Copyright (C) 1985-2020 Intel Corporation. All rights reserved.
FOR NON-COMMERCIAL USE ONLY
✅ starscream% icpc -V
Intel(R) C++ Intel(R) 64 Compiler for applications running on Intel(R) 64, Version 19.1.1.217 Build 20200306
Copyright (C) 1985-2020 Intel Corporation. All rights reserved.
FOR NON-COMMERCIAL USE ONLY
* simplified case for detecting Intel C++ compiler
* update authors for plicease
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
There is a bug in Configure where it doesn't handle 'none' properly for
platforms which have no flag to indicate don't optimize. Instead of
fixing this for 5.32 at this late date, change the hints file for os390
to use the equivalent " ", that does work.
|
|
|
|
|
| |
Mostly in comments and docs, but some in diagnostic messages and one
case of 'or die die'.
|
| |
|
| |
|
|
|
|
| |
linux, freebsd and solaris hints have the same workaround
|