|
Vern wrote: > Does anyone know whether, say, the free gcc > compiler can be installed? There are a couple options that make things > work with iSeries data types, as in > The compiler options -qalign=natural and -qldbl128 are necessary only > when interacting with OS/400 ILE programs to force relative 16-byte alignment > of type long double (used inside type ILEpointer) Hi Vern I spent a lot of time with PASE about eighteen months ago. Since that is eons of computer time, what I say next is likely to be not terribly useful, or stuff you already know. As I recall, the gcc compiler may or may not help you if you need to talk to non-PASE code. I played with that a bit, and had some luck getting simple programs to work in PASE, but to do "real" work, I had to use xLC on under AIX 4.3.3, and port the binaries to the 400. At that time, you specified the compiler options you mentioned. There are also some macros listed in the PASE Redbook which will ensure 16-byte alignment when passing pointer data from PASE to OS/400 and vice-versa. The biggest issue there is, of course, OS/400 pointers are "tagged" and PASE pointers aren't. You have to use the macros to create the pointer workspace and then place the value in the workspace. The other thing that bit me was version compatability between the version of PASE, AIX, and the version of the xLC compiler I was using. I think it went like this: If your target system is OS/400 V5R1M0 You need AIX 4.3.3 Visual Age for AIX Version 5 If your target system is OS/400 V4R5M0 You need AIX 4.3.1 Visual Age for AIX Version 4 As of 18 months ago, there was NO cross-compatiability in this scheme. The reason for this is that PASE's runtime is built on the most recent _stable_ version of AIX. This is not always the most _current_ version of AIX. The word I got from the PASE developers was that there will always be a 12-18 month lag between PASE and the latest version of AIX. For that reason, V4R5M0 uses the AIX 4.3.1 kernel. V5R1M0 uses the AIX 4.3.3 kernel. I don't know what V5R2M0 uses, but I'd suspect it's AIX 5.1 (or is it "5L"?) And although stuff compiled purely for AIX 4.3.3 is supposed to be backwards compatable with 4.3.1, the backward compatability disappears when you compile the same code for PASE, as I found out in much pain late one night. I hope this helps. -Doc
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.