Re: Problems porting Openssl 1.1.1d to zos.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I stumbled across this mails when looking for information regarding OpenSSL
on zOS. Currently, I am working on getting OpenSSL 1.1.1c running on zOS. So
far I created my own config "target" inside 10-main.conf based on the old
configuration that was used pre OpenSSL 1.1.0.

Still, I was not able to get that far yet and was wondering how you
proceeded regarding this issue? Apart from some github issues and the likes
regarding EBCDIC patches I was unable to find much advice on how to
configure the build and how to tackle common issues. One config target for
zOS OS390 was created a while back but then removed again from OpenSSL
1.1.1. With my config target I made it to the compile step but still face
build issues. Reaching a complete build like Wendell Nichols would already
by a great step.

Regarding z/OS, the build environment is usually the hard part:
We build from EBCDIC sources (gunzip the tar file, use pax to extract
from tar) using xplink linkage, 64 bit and a perl version that works
with EBCDIC.

Relevant parts from the config files that we are using:

10-main.conf
--------
     "OS390-Unix" => {
         inherit_from     => [ "BASE_unix", asm("zos_asm") ],
         cc               => "./tools/c99.sh",
cflags => "-O -Wc,dll,XPLINK,exportall,hgpr,lp64 -Wa,'GOFF,SYSPARM(USE_XPLINK)' -qlongname -qlanglvl=extc99 -DB_ENDIAN -DCHARSET_EBCDIC -DNO_SYS_PARAM_H -D_ALL_SOURCE -D_OPEN_THREADS=2 -D_POSIX_SOURCE -D_OPEN_MSGQ_EXT",
         module_ldflags   => "-Wl,XPLINK,LP64",
         shared_ldflags   => "-Wl,dll,XPLINK,LP64",
         bn_ops           => "THIRTY_TWO_BIT RC4_CHAR",
         thread_scheme    => "(unknown)",
         perlasm_scheme   => "zOS64",
     },
--------

00-base-templates.conf
--------
# Either comment out all the asm below, or use a no-asm build.
    zos_asm => {
        template        => 1,
        cpuid_asm_src   => "s390xcap.c s390xcpuid.s",
        bn_asm_src      => "bn_asm.c", # s390x-gf2m.s",
        ec_asm_src      => "ecp_s390x_nistp.c",
        aes_asm_src     => "aes-s390x.s aes-ctr.fake aes-xts.fake",
        sha1_asm_src    => "sha1-s390x.s sha256-s390x.s sha512-s390x.s",
        rc4_asm_src     => "rc4-s390x.s",
        modes_asm_src   => "ghash-s390x.s",
#       chacha_asm_src  => "chacha-s390x.s",
#       poly1305_asm_src => "poly1305-s390x.s",
        keccak1600_asm_src      => "keccak1600-s390x.s",
--------

tools/c99.sh
--------
#!/bin/sh -k
#
# Re-order arguments so that -L comes first
#
opts=""
lopts=""

for arg in $* ; do
  case $arg in
    -L*) lopts="$lopts $arg" ;;
    *) opts="$opts $arg" ;;
  esac
done

c99 -Wl,dll $lopts $opts
--------


Are any of you aware of zOS specific OpenSSL development branches that I
have yet to find? Or is this mainly done in private repositories/branches
and not offered for PRs to the OpenSSL repository?

We are working on porting OpenSSL for z/OS internally right now and will
share the work in progress (via a PR to the OpenSSL repo) as soon as it
makes sense, probably in the near future.

Best,
Patrick



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux