[parisc-linux] Architecture string change

David Huggins-Daines dhd@linuxcare.com
10 Jul 2000 17:45:14 -0400


Hi,

In keeping with the way things are done on other Linux platforms, I
would like us to start using the following architecture strings for
configuring our compilers:

32-bit userland and kernel, PA1.1: hppa-linux
64-bit kernel, PA2.0:              hppa64-linux

I guess this means that I volunteer to update the recipes on the
website :-)

config.guess will return a more detailed string, such as
'hppa2.0-unknown-linux-gnu', but these should be the canonical,
lowest-common-denominator strings.  In particular, we should revise
the recipes and such to use them and configure dpkg-architecture to
set DEB_GNU_HOST_ARCH to 'hppa-linux'.

I have not been able to get a solid answer out of anyone regarding
whether it is possible or desireable to use 'parisc-' instead of
'hppa-', so I will leave it as 'hppa' for the time being.  It is easy
enough to make 'parisc' an alias for 'hppa' if we want to.

Some pros and cons of using 'parisc' vs. 'hppa':

 * Pro: hppa*-linux targets produce very different 32-bit object code,
   as well as different 64-bit assembly code, so it may be beneficial
   to distinguish them from other PA-RISC targets.

 * Pro: I'm told that people at HP want to use 'parisc'.  Could those
   people please stand up :-)

 * Con: config.guess [1] will presumably return hppa*-*-linux-gnu.

 * Con: Every other operating system on PA-RISC uses hppa*-*-*.

(I know there are some more but I can't think of them right now)

Please remember that, now that we are entering userspace, any
decisions of this sort that we make are going to stick with us
forever. [2]

[1] Which I can't actually run since our page fault handler is broken:

> /bin/sh config.guess

do_page_fault() pid=8 command='sh'
                                  
Bad Address (null pointer deref?): Code=15 regs=c7e5c248 (Addr=00000001)
                                                                        
PSW  : 0004f80b  GR 1 : 00090350  GR 2 : 00007f4f  GR 3 : 00092e28  
GR 4 : 00000000  GR 5 : 00092b50  GR 6 : 00000019  GR 7 : 0000000e  
GR 8 : 00000001  GR 9 : 00092e28  GR10 : ffffffff  GR11 : 200206e2  
GR12 : 0000000a  GR13 : 00094b50  GR14 : 0007f621  GR15 : 00000000  
GR16 : 00094f0c  GR17 : 00000000  GR18 : 0000000e  GR19 : 00000001  
GR20 : 40100868  GR21 : 00000001  GR22 : 00000000  GR23 : 40100030  
GR24 : 40100848  GR25 : 00000020  GR26 : 40100010  GR27 : 0008f350  
GR28 : 40100850  GR29 : 00000001  GR30 : 20020880  GR31 : 000171d7  
SR0  : 00002001  SR1  : 00002001  SR2  : 00000100  SR3  : 00002001  
SR4  : 00002001  SR5  : 00002001  SR6  : 00002001  SR7  : 00002001  
                                                                    
IASQ : 00002001 00002001 IAOQ : 00007f53 00007f57
 IIR : 0e7c1280 ISR : 00002001 IOR : 00000001    

[2] A good example of this is how the soname for glibc is
'libc.so.6.1' on Linux/alpha instead of 'libc.so.6' due to a screwup
in an early Red Hat distribution...

-- 
dhd@linuxcare.com, http://www.linuxcare.com/
Linuxcare. Support for the revolution.