Re: Slightly off-topic: development machine for z/OS wanted

"[email protected] [H390-MVS]" <[email protected]> 12 Oct 2019 18:42:26 +0000
Newsgroups gmane.comp.emulators.hercules390.mvs
Message-ID <[email protected]>
Hi, Paul,
 

 I think there is a misunderstanding. POSIX is not only for Unix systems. It's an API definition. When a program is POSIX conformant and a platform is supporting POSIX API then the program can be ported to this platform with minimum effort.
 

 I.e. I had to port Free Software to Windows CE in some project. So I ported a POSIX library from Windows XP to Windows CE. Then I was able to port the required software. I see no reason why a POSIX API should not be possible for MVS.
 

 Many Unix APIs have functions, which POSIX does not have. Most Unix systems today are POSIX compliant, though. USS is, too – it's compliant to an old version of this standard, but still. Because it is old we have some porting effort for modern Free Software already.

 

 If you've got implemented a libc then most likely you're already close to have POSIX implemented. You can find the API documentation here:
 

 https://pubs.opengroup.org/onlinepubs/9699919799/ https://pubs.opengroup.org/onlinepubs/9699919799/
 

 I tried to update my TK4- system to MVS/380. Unfortunately, I did not succeed yet. I stopped working on it when I started dealing with z/OS. If you've got a howto with description how to update TK4- to MVS/380 I'd be happy. I saw your GCC in it. It works like a charm, thank you for this!
 

 You have got a point here: at least making some intermediate steps it should be possible to use your GCC to port a modern version of it onto your platform. The porting effort will not be small, though. We're in C++ ages. And this is requiring to port libstdc++, too, as well as having an implementation of C++ exceptions for MVS. This is quite some work – while it's possible, of course.
 

 I think you're mistaken: GCC is not only containing C90 code any more. At least I'd not bet on it. But this does not matter. What you really need is a port of GCC running on some other operating system like i.e. GNU/Linux, which can be used for cross builds onto MVS using your libc. That will be the easiest way to win I bet, because then you can use this cross compiler to build a native one.

 

 I can recommend to talk to the GCC guys about this topic: https://gcc.gnu.org/steering.html https://gcc.gnu.org/steering.html Your platform is deserving support.


 Yours,
 VB.
 

 ---In [email protected], <kerravon86@...> wrote :

 ---In [email protected] mailto:[email protected], <joemonk64@...> wrote :
 
 > Youre missing the boat. What the OP is saying
 > is that he wants to target the z/OS unix
 > environment, which requires the POSIX libraries
 > that he wants, and C11 (minimum) capabilities.
 
 That's what we're negotiating.
 
 > Those are far beyond the GCC 3.2.3 you have produced.
 
 Modern GCC is probably still written in C90.
 For a very long time they refused to even
 use ANSI C prototypes, they used K&R
 instead. With a bit of cooperation we may
 be able to take the i370 directory from
 GCC 3.2.3 and put it into a modern GCC,
 giving C11 and C++. And presumably Ada
 and Fortran too.
 
 BFN. Paul.