🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: gnu.gcc.help
Article #42402

HELP: Installing gcc2.6.3 on aix3.2.5 with common mode support

#42402
From: kho
Date: Tue, 19 Dec 1995 00:00
85 lines
3737 bytes
I have an IBM RS/6000 model 250 running aix 3.2.5, and need to install gcc to 
compile a C++ program. Now, the model 250 uses the PowerPC 601 cpu, while this 
program also have to work for our customers using larger RS6000 systems with the 
POWER or POWER2 cpu also running aix 3.2.5. That is, I need to install gcc in 
common-mode, to make the application executable run on all RS6000 cpus. 

(Yes, I have already been through the phase of installing gcc normally, shipping 
software to customers, and finding out that things don't work.) 

I've read the section 'AIX 3.2 common-mode support' in the README.RS6000 file. 
This file says that 'libgcc.a also must be compiled in common-mode'.
My question is how to do this. The manual mentions the '-mcpu=common' command 
option. This is not mentioned in the README.RS6000 file, where it only says:

-------------------
To link a common-mode application prior to AIX 4.1 and run it on a system at
AIX level 3.2.3 or above, use the text between the "<>" as an export file
(e.g. milli.exp)

<><><><><><><><><><><>
#!
__mulh          0x3100
__mull          0x3180
__divss         0x3200
__divus         0x3280
__quoss         0x3300
__quous         0x3380
<><><><><><><><><><><>

and then link with -Wl,-bI:milli.exp.
---------------------- 

I tried making the stage1 compiler with 

  make LANGUAGES=c

and the stage 2 compiler with

  make CC="stage1/xgcc -Bstage1/" CFLAGS="-g -O -mcpu=common"

but this resulted in

----------------------
  hawaii$scpmgr> make CC="stage1/xgcc -Bstage1/" CFLAGS="-g -O -mcpu=common"
          stage1/xgcc -Bstage1/  -DIN_GCC   -g -O -mcpu=common   -o cccp cccp.o  
 cexp.o version.o obstack.o ` case "stage1/xgcc -Bstage1/" in "cc") echo   
"alloca.o" ;; esac `  -lld
  0706-317 ERROR: Unresolved or undefined symbols detected:
                   Symbols in error (followed by references) are
                   dumped to the load map.
                   The -bloadmap:<filename> option will create a load map.
  __mulh
  __divss
  __divus
  __quoss
  __quous
  collect2: ld returned 8 exit status
  make: 1254-004 The error code from the last command is 1.
  Make Quitting.
----------------------

so obviously, the -Wl,-bI:milli.exp seems to be needed. But I'm not sure how to 
modify the Makefile or give the necessary extra commands to make this 
installation work. 

Also, when running configure, the system is identified as 
'powerpc-ibm-aix3.2.5'. Should anything be changed already at configuration 
level to get common mode support?

I assume the same job must be done when installing the libg++2.6.2 extension 
also. Anything in particular I should be aware of here? 

Finally, when compiling my application, should I listen to the manual and use 
'-mcpu=common', the README.RS6000 and use '-Wl,-bI:milli.exp', or both?

Any help is greatly appreciated! And by the way, Merry Christmas!

--
Knut Hovda                                      E-mail: 
kho@scandpower.no
Consultant, Software Development                Phone: +47 63 81 49 20
Division for Nuclear and Petroleum Engineering  Fax: +47 63 81 88 22
Scandpower A/S, International Consultants       Address: P.O. Box 3
--                                              N-2007 Kjeller, NORWAY
Technical Details
Message-ID: <9512191642.AA32701@malaga>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail

Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: 11318c,7f7098518dd978ae
X-Google-Attributes: gid11318c,public
From: kho@scandpower.NO
Subject: HELP: Installing gcc2.6.3 on aix3.2.5 with common mode support
Date: 1995/12/19
Message-ID: <9512191642.AA32701@malaga>
X-Deja-AN: 122307811
distribution: gnu
sender: daemon@cis.ohio-state.edu
organization: GNUs Not Usenet
newsgroups: gnu.gcc.help