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/