Skip to contentSkip to conversation

Architecture string change

parisc-linux David Huggins-Daines 6 participants 8 messages Jul 10, 2000 – Jul 11, 2000

lore
Share & tools
lore
#0 lore raw

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:

Quoted 1 line

/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...

Signature · 2 lines
[email protected], http://www.linuxcare.com/
Linuxcare. Support for the revolution.
#1 lore raw
Quoted 2 lines · David Huggins-Daines

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

I'm one of them. But I'm not religous about it.

Just seems goofy to have "hp" in the name. IMHO, It'd be comparable to using sunsparc or decalpha.

grant

Grant Grundler
Unix Development Lab
+1.408.447.7253

#2 lore raw
Quoted 9 lines
Quoted 2 lines · David Huggins-Daines

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

I'm one of them. But I'm not religous about it.

Just seems goofy to have "hp" in the name. IMHO, It'd be comparable to using sunsparc or decalpha.

If it is going to change, why not just 'pa', for precision architecture. Everbody knows it is risc.

Dave

Signature · 2 lines
J. David Anglin                                  [email protected]
National Research Council of Canada              (613) 990-0752 (FAX: 952-6605)
#3 lore raw
In reply to David Huggins-Daines
Quoted 1 line · In article <[email protected]> you wrote:

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

I noted the last time I looked that all of HP's web-based documentation on the architecture seems to use 'parisc' pretty religiously.

When I asked about the apparent confusion a while back, I got the very strong indication that the parisc-linux community wanted to use 'parisc' for the arhitecture string in Debian space... so that's the direction I've been heading (mailing list, web pages, etc). If we want to change, I can get it done (no messages have passed the debian-parisc list yet despite over 50 subscribers, for example), but the sooner the better.

I have no emotional loading on this one, I just want to know the answer. :-)

We *must* decide this once and for all *very* soon. Pretty please.

Bdale

#4 lore raw
Quoted 3 lines · Bdale Garbee

When I asked about the apparent confusion a while back, I got the very strong indication that the parisc-linux community wanted to use 'parisc' for the arhitecture string in Debian space... so that's the direction I've been

Well, there's no reason why DEB_HOST_GNU_CPU has to be the same as DEB_HOST_ARCH. Although I think I've seen a few debian/rules files (including one of my own at one point) that do things like this:

build:

        ./configure --host=$(DEB_HOST_ARCH)-linux

Just to make it clear, this discussion is about DEB_HOST_GNU_CPU, i.e. the CPU part of the string returned by config.guess and accepted by configure, autoconf, and automake.

Quoted 1 line

I have no emotional loading on this one, I just want to know the answer. :-)

I'm a bit biased towards 'hppa' just because it is the currently accepted convention with all the GNU software out there. Also it will be a bit of a hack to config.guess to return parisc*, because we'll end up only doing it on Linux. Also, if we go with 'parisc', then:

(a) We need to send patches for config.guess and config.sub to the automake and autoconf people NOW.
(b) We must be prepared to manually update config.guess and config.sub in basically every piece of software we build. [1]

Quoted 1 line

We *must* decide this once and for all *very* soon. Pretty please.

Yup :-)

[1] On Alpha, there continue to be annoying problems when building GNU software because config.guess (which is part of autoconf) knew about the PCA56 and EV6 subarchitectures long before config.sub (which is part of automake) did, and thus configuring would always fail unless --host=alpha-linux (or some other recognizable architecture string) was specified. Because the maintainer has to manually update config.guess and config.sub, lots of packages still have old versions that break...

Signature · 2 lines
[email protected], http://www.linuxcare.com/
Linuxcare. Support for the revolution.
#5 lore raw
In reply to Bdale Garbee

One more vote for 'parisc'. Is anyone counting?

I haven't seen good, clear reasoning yet as to why 'parisc' does not adequately fit the requirements and 'hppa' does.

Quoted 2 lines · Bdale

... no messages have passed the debian-parisc list yet despite over 50 subscribers ...

Surely you exaggerate, I see _ten_ messages in my debian-parisc box, not including the subscription confirmation emails!

But seriously, I would guess that most of the subscribers are userland hackers, not kernel people ... or, like me, aren't hackers at all, they're just sad lonely people who own an HP box and like being on mailing lists. =)

When the announcement is made "okay, userland works and we're not going to change anything any more, at least not without big huge announcements" and people can start working with gusto on building packages, I'm sure the list traffic will go up considerably.

We're just waiting for you to show us the way, in other words. =)

Andrew.

--
Andrew Shugg <[email protected]> http://www.neep.com.au/

"Just remember Basil, there's always someone worse off than yourself." "Oh, really? I'd like to meet him ... I could do with a good laugh."
[ Sybil and Basil Fawlty, "Fawlty Towers" ]

#6 lore raw
Quoted 5 lines

One more vote for 'parisc'. Is anyone counting?

I haven't seen good, clear reasoning yet as to why 'parisc' does not adequately fit the requirements and 'hppa' does.

#7 lore raw
In reply to David Huggins-Daines
Quoted 35 lines · David Huggins-Daines

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.

Quoted 9 lines

* 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]

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

details on [1] and [2] removed <<<<<<<<<<<<<

My 2 cents on this architecture string:
I see the string contains 4 fields. For other linux implementations, what do these fields mean? From what I see of it, is it:
<processorfamily>-<supplier>-<operatingsystem>-<???> ??

For the processorfamily, I would say 'parisk', without the HP in the name. That's for the next field: it is an HP processor.

Compare it with the use on other platforms: For the base PC, it would be i386-intel-linux-gnu or i386-amd-linux-gnu if there is difference between the 2 i386 processors between intel and linux which makes a difference in the configuration. If there is no difference between intel and amd at this level, leave the supplier as unknown. For the 80386 type processors, there is no difference to linux, hence: i386-unknown-linux-gnu. For the i686 type processors it would be i686-intel-linux-gnu for Intels pentiumII and i686-amd-linux-gnu for the amds K6.

How is it done on other platforms as the sparc, alpha and i386?

CB

Signature · 4 lines
RAM = Rarely Adequate Memory
Corne' Beerse					| Alcatel Telecom Nederland
mailto:[email protected]		| Postbus 3292
talkto:+31(70)3079108 faxto:+31(70)3079191	| NL-2280 GG  Rijswijk