home *** CD-ROM | disk | FTP | other *** search
/ OpenStep 4.2J (Developer) / os42jdev.iso / NextDeveloper / Source / GNU / gcc / README.RS6000 < prev    next >
Text File  |  1995-12-29  |  5KB  |  112 lines

  1.              AIX 3.1 and 3.2 assembler problems
  2.  
  3. Specifying the -g flag to GCC on the RS/6000 requires upgrading the
  4. standard AIX assembler distributed with AIX 3.1 and versions of AIX
  5. 3.2 earlier than 3.2.4 with a replacement that is available from IBM.
  6. Note that Makefile.in specifies the -g when compiling libgcc2.c.
  7.  
  8. You can test for the presence of a fixed assembler by entering the following:
  9.         % as -u < /dev/null
  10. If the command exits normally, the assembler fix already is installed.
  11. If the assembler complains that "-u" is an unknown flag, you need to order
  12. the fix.
  13.  
  14. If you are running AIX 3.1 (lslpp -h bos.obj output reports
  15. 03.01.0005.XXXX where the 0005 can be any higher number and the XXXX
  16. can be any value), call IBM Support at 800-237-5511 and ask for
  17. shipment of AIX/6000 fix PTF U403044 for APAR IX22829 (.extern foo
  18. conflicts with defining foo).
  19.  
  20. If you are running AIX 3.2 but not 3.2.4 or later (lslpp -h bos.obj
  21. output reports 03.02.0000.0000), a newer update to the assembler fix
  22. is available.  Ask for shipment of AIX/6000 fix PTF U416277 for
  23. IX32992 (.global prevents detection of duplicate symbol).
  24.  
  25. If you are running AIX 3.2.4 or later, you already have the new
  26. assembler.
  27.  
  28. Any customer can order and get the replacement assembler, and install it on
  29. one or more machines.  It is available on diskette from IBM Customer Support
  30. and from the IBM Internet fix anonymous ftp server (FixDist) at
  31. aix.boulder.ibm.com (198.17.57.66).
  32.  
  33. If you contact IBM Customer Support, they may also ask you for your customer
  34. number.  If you do not know it, you will still be able to get the fix, but
  35. you will have to be persistent.  IBM has corresponding support organizations
  36. outside of North America.  Call your IBM branch office and ask them to put
  37. you in touch with the department that handles fixes for AIX/6000.  If that
  38. doesn't work, ask for the department that handles software defect support
  39. for AIX/6000 and ask for the APAR fix.
  40.  
  41. If you use the GNU assembler instead of the system supplied assembler, you need
  42. an assembler modified after October 16th, 1995 in order to build the GNU C
  43. compiler.  This is because the GNU C compiler wants to build a variant of its
  44. library, libgcc.a with the -mcpu=common switch to support building programs
  45. that can run on either the Power or PowerPC machines.
  46.  
  47.  
  48.                   AIX NLS problems
  49.  
  50. AIX on the RS/6000 provides support (NLS) for environments outside of
  51. the United States.  Compilers and assemblers use NLS to support
  52. locale-specific representations of various objects including
  53. floating-point numbers ("." vs "," for separating decimal fractions).
  54. There have been problems reported where the library linked with GCC does
  55. not produce the same floating-point formats that the assembler accepts.
  56. If you have this problem, set the LANG environment variable to "C" or
  57. "En_US".
  58.  
  59.  
  60.              AIX 3.2.5 XLC-1.3 problems
  61.  
  62. XLC version 1.3.0.0 distributed with AIX 3.2.5 will miscompile jump.c when
  63. building the stage1 compiler during the bootstrap process.  This will cause
  64. GCC to crash and the bootstrap to fail later while compiling libgcc2.c.  XLC
  65. version 1.3.0.1 or later fixes this problem.  XLC-1.3.0.19 also cannot
  66. bootstrap GCC so please avoid that release as well.  You can obtain
  67. XLC-1.3.0.24 by requesting PTF 432238 from IBM, or just ask for the latest
  68. release of XLC-1.3.
  69.  
  70. There also have been reports of problems bootstrapping GCC with some older
  71. releases of xlc-1.2.1, including xlc-1.2.1.8.  Newer releases of xlc-1.2.1
  72. do not exhibit this problem: xlc-1.2.1.28 is known to bootstrap properly.
  73.  
  74.  
  75.             AIX 3.2 common-mode support
  76.  
  77. AIX common-mode providing transparent support of both the POWER and PowerPC
  78. architectures is usable in AIX 3.2.3 and above but an export file and
  79. support for hidden export via libc.a will not exist until AIX 4.1.  libgcc.a
  80. also must be compiled in common-mode.  Note that executables generated for
  81. the POWER (RIOS1 and RSC) architecture will run directly on systems using
  82. the MPC601 chip.  Common-mode only improves the performance of a single
  83. executable run on both POWER and PowerPC architecture platforms by not using
  84. POWER- or PowerPC-specific instructions and eliminating the need to trap to
  85. emulation (for POWER instructions run on PowerPC).
  86.  
  87. To link a common-mode application prior to AIX 4.1 and run it on a system at
  88. AIX level 3.2.3 or above, use the text between the "<>" as an export file
  89. (e.g. milli.exp)
  90.  
  91. <><><><><><><><><><><>
  92. #!
  93. __mulh          0x3100
  94. __mull          0x3180
  95. __divss         0x3200
  96. __divus         0x3280
  97. __quoss         0x3300
  98. __quous         0x3380
  99. <><><><><><><><><><><>
  100.  
  101. and then link with -Wl,-bI:milli.exp.
  102.  
  103.  
  104.                    AIX 4.1 binder
  105.  
  106. Due to changes in the way that GCC invokes the binder (linker) for AIX 4.1,
  107. the link step now may produce warnings of duplicate symbols which were not
  108. reported before.  The assembly files generated by GCC for AIX always have
  109. included multiple symbol definitions for certain global variable and
  110. function declarations in the original program.  The warnings should not
  111. prevent the linker from producing a correct library or runnable executable.
  112.