Hello, all.

On this Memorial Day holiday here in the States, I am again trying to
learn how to write Pipe stages in C. As the first steps, I am simply
trying to recreate the basic C samples John has included on his GitHub
site. My results are:

1) the MINIMAL sample works as documents....it compiles on Linux and the
.S code is converted to HLASM, uploaded to CMs and assembled and linked
there. Runs as it should.

2) Now on to the more complex HELLO sample. It also compiles on Linux
and the .S code is converted to HLASM. However, when it is uploaded toe
CMS, HLASM complains about this:

hlasm hello (term
"000050 0000 0000 0000 00000 95 brasl 14,__getgbl ,
"ASMA044E Undefined symbol - __getgbl
"ASMA435I Record 79 in HELLO ASSEMBLE A1 on volume: DAV191
"000068 0000 0000 0000 00000 101 brasl 14,fwrite ,
"ASMA044E Undefined symbol - fwrite
"ASMA435I Record 85 in HELLO ASSEMBLE A1 on volume: DAV191
"Assembler Done 2 Statements Flagged / 8 was Highest Severity Code
return code from ASMAHL: 8
Ready; T=0.15/0.17 13:05:22

and yes,

q maclib
MACLIB = FPLG2A
Ready; T=0.01/0.02 13:11:39

is available to the assembler.

I have made a couple of changes to the way John did this in his
document:

1) I am using the openSuSE S390X GCC cross compiler here instead of
doing the work on S390x Linux:

dave@dave-ThinkPad-T480:~/src/github/cmslib/src/samples$
/usr/bin/s390x-suse-linux-gcc-7 -v
Using built-in specs.
COLLECT_GCC=/usr/bin/s390x-suse-linux-gcc-7
COLLECT_LTO_WRAPPER=/usr/lib64/gcc/s390x-suse-linux/7/lto-wrapper
Target: s390x-suse-linux
Configured with: ../configure --prefix=/usr --infodir=/usr/share/info
--mandir=/usr/share/man --libdir=/usr/lib64 --libexecdir=/usr/lib64
--enable-languages=c,c++ --enable-checking=release --disable-werror
--with-gxx-include-dir=/usr/include/c++/7 --enable-ssp --disable-libssp
--disable-libvtv --disable-libmpx --disable-libcc1 --disable-plugin
--with-bugurl=https://bugs.opensuse.org/ --with-pkgversion='SUSE Linux'
--with-slibdir=/lib64 --with-system-zlib
--enable-libstdcxx-allocator=new --disable-libstdcxx-pch
--enable-version-specific-runtime-libs --with-gcc-major-version-only
--enable-linker-build-id --enable-linux-futex
--enable-gnu-indirect-function --program-suffix=-7
--program-prefix=s390x-suse-linux- --target=s390x-suse-linux
--disable-nls --with-sysroot=/usr/s390x-suse-linux
--with-build-sysroot=/usr/s390x-suse-linux
--with-build-time-tools=/usr/s390x-suse-linux/bin --with-tune=zEC12
--with-arch=z196 --with-long-double-128 --enable-decimal-float
--build=x86_64-suse-linux --host=x86_64-suse-linux
Thread model: posix
gcc version 7.5.0 (SUSE Linux)
dave@dave-ThinkPad-T480:~/src/github/cmslib/src/samples$

with the makefiles updated to point to this compiler. I also specified
-march=z10 in the compiler options.

2) I am using the updated gas2asm module John send me  a year or so ago.


Once I can get the simple samples to work here, I will then go ahead and
see if I can't the the actual Pipes C stages to compile and assemble.

Comments/suggestions/complaints all welcome.

Take care.

DJ

--
BEST REGARDS

   DAVE JONES                       IBM CHAMPION [1]
    Managing Director for zSystems Support, zLinux, and Cloud
    ++1 281.578.7544 (Cell)
    Web: www.itconline.com [2]
    18502 Purdy Ct. Houston, TX  77084  USA



Links:
------
[1]
https://www.credly.com/badges/7c92e732-8ab1-4470-98c6-251c33506d69/public_url
[2] http://www.itconline.com/

Reply via email to