35002_3025@uwovax.uwo.ca (02/24/90)
Could anyone comment on the possibility of porting AIX 2.2.1 applications from the RT to AIX 3.0 on the RISC/6000 series machines? -- Kevin-john Conway ...a librarian from hell... School of Library and Information Science University of Western Ontario London Canada "...deviants from the norm..." "My ideas may be silly, but I'm not. I'm positively skewed!" 35002_3025@uwovax.uwo.ca conway@uwovax.bitnet kjc@uwovax.bitnet
clarke@acheron.uucp (Ed Clarke/10240000) (02/25/90)
From article <5064.25e6649b@uwovax.uwo.ca>, by 35002_3025@uwovax.uwo.ca: > Could anyone comment on the possibility of porting AIX 2.2.1 > applications from the RT to AIX 3.0 on the RISC/6000 series machines? I compiled nntp (clientlib.o) and vn with the nntp option on a 6000. It works ... except that command line parsing is screwed up. I'll take a look at it when I get a chance. Note! The c compiler won't let you do perverted things like store into a string constant. I had to use the AIX tmpnam rather than the vn version. We ported a fairly large OS/2-PM and X/Windows-Motif application also. Works perfectly ( port was from AIX/PS2 to 6000, not RT. ). -- Ed Clarke | Happiness, n. An agreeable sensation arising from acheron!clarke | contemplating the misery of another. - Ambrose Bierce
marc@stingray..austin.ibm.com (Marc J. Stephenson/140000;1C-22) (02/27/90)
In article <1990Feb25.065535.25717@acheron.uucp> clarke@acheron.uucp (Ed Clarke/10240000) writes: >I compiled nntp (clientlib.o) and vn with the nntp option on a 6000. >It works ... except that command line parsing is screwed up. I'll >take a look at it when I get a chance. Note! The c compiler won't >let you do perverted things like store into a string constant. I >had to use the AIX tmpnam rather than the vn version. > ANSI allows compilers to store string constants in read-only storage, and that is what the compiler is doing. For some situations where it is not feasible to change the code to an acceptable form (character arrays, for instance), there is an option for the compiler to put the string constants in read-write storage. This option is -qnoro. That is, just use cc -qnoro hello.c -o hello to disable the read-only string storage mechanism. Marc Stephenson (marc@stingray.austin.ibm.com) Location: F57/992, (79)3-3796, ZIP 2401, 1C-22/992, Austin, Texas Internal: marc@stingray.austin.ibm.com VNET: MARC at AUSVM6 External: uunet!cs.utexas.edu!ibmaus!auschs!stingray.austin.ibm.com!marc
mlandau@bbn.com (Matt Landau) (02/27/90)
marc@stingray..austin.ibm.com (Marc J. Stephenson/140000;1C-22) writes: >.... there is an option for the compiler to put the string constants >in read-write storage. This option is -qnoro. That is, just use > cc -qnoro hello.c -o hello >to disable the read-only string storage mechanism. If you don't feel like modifying all of your Makefiles to change the compiler flags, you should be able to edit /etc/xlc.cfg and set them once and for all. That's one *really* nice thing about the RIOS C compiler -- all of the default options are set through this file, and you can have different option sets depending on the name by which you invoke the compiler. (For instance, cc and xlc are really the same binary, but with different options controlled by /etc/xlc.cfg) When porting code from non-ANSI environments, I found it helpful to set the options for "cc" so they include -qchars=signed and -qnoro.
jfc@athena.mit.edu (John F Carr) (02/28/90)
I assume from this discussion that the new machine comes with an ANSI compiler? Am I correct? -- --John Carr (jfc@athena.mit.edu)
marc@stingray..austin.ibm.com (Marc J. Stephenson/140000;1C-22) (02/28/90)
In article <1990Feb27.210550.4826@athena.mit.edu> jfc@athena.mit.edu (John F Carr) writes: > >I assume from this discussion that the new machine comes with an ANSI >compiler? Am I correct? > > >-- > --John Carr (jfc@athena.mit.edu) In a word, yes. The AIX XL C Compiler is an ANSI compiler which is included in AIX Version 3 for Risc System/6000. The .cfg file has stanzas for xlc and cc, where xlc has -D_ANSI_C_SOURCE defined and a cc stanza where it handles extended mode programs. xlc for ANSI, cc for extended (which I take as a superset of ANSI). Extra disclaimer: I couldn't find exactly how IBM is describing exactly what constitutes ANSI (my copy is a draft from May 13,1988. Did it pass?). Anyway it handles prototypes and pragmas and stringize and that ilk - ANSI things. Marc Stephenson (marc@stingray.austin.ibm.com) DISCLAIMER: The content of this posting is independent of official IBM position. External: uunet!cs.utexas.edu!ibmaus!auschs!stingray.austin.ibm.com!marc Internal: marc@stingray.austin.ibm.com VNET: MARC at AUSVM6 T/L: 793-3796
smvorkoetter@daisy.waterloo.edu (Stefan M. Vorkoetter) (03/01/90)
I have ported the Maple Computer Algebra system to the RS/6000, and therefore feel qualified to comment on the C Compiler (since the Maple Kernel is written in C). Our Kernel is not an ANSI C program, and xlc spewed pages and pages of error messages at me when I compiled it. However, when invoked as cc, the entire program compiled just fine (in under 10 minutes for 25000 lines of code in about 50 source files). So, my understanding is that xlc is an ANSI compiler, while invoking it as cc makes it behave more like a typical UNIX compiler (ie. it can compile real programs, not just textbook examples :-). A further note: turning on the optimizer is significant. It sped up Maple by 50 to 75 per cent. Stefan Vorkoetter Technical Manager Waterloo Maple Software (smvorkoetter@daisy.uwaterloo.ca)
steve@qe2.uucp (Steve DeJarnett) (03/03/90)
In article <1990Feb25.065535.25717@acheron.uucp> clarke@acheron.uucp (Ed Clarke/10240000) writes: >I compiled nntp (clientlib.o) and vn with the nntp option on a 6000. >It works ... except that command line parsing is screwed up. I'll >take a look at it when I get a chance. Note! The c compiler won't >let you do perverted things like store into a string constant. I >had to use the AIX tmpnam rather than the vn version. This is because the compiler obeys ANSI C, which states that you can't store into a string constant (or words to that effect -- I don't have the standard with me at the moment). The compiler can be made more lax by using the -qNORO (no read-only text) flag, which I believe will let you do what you want. You can also get around this problem by redeclaring the string constant to be an array of char's, which can be reassigned into. >Ed Clarke | Happiness, n. An agreeable sensation arising from >acheron!clarke | contemplating the misery of another. - Ambrose Bierce Hope that helps a little. Steve DeJarnett Internal: steve@ibmpa.tcspa.ibm.com IBM AWD Palo Alto UUCP: ibmsupt!ibmpa!steve@uunet.uu.net (415) 855-3510 VNET: steve at paloalto These opinions are my own. I doubt IBM wants them.......