Bug 230622 - Cannonical x86_64 architectures improperly detected
Summary: Cannonical x86_64 architectures improperly detected
Alias: None
Product: Red Hat Enterprise Linux 4
Classification: Red Hat
Component: rhpl
Version: 4.4
Hardware: x86_64
OS: Linux
Target Milestone: ---
: ---
Assignee: David Lehman
QA Contact:
Depends On:
TreeView+ depends on / blocked
Reported: 2007-03-01 20:59 UTC by Doug Knight
Modified: 2011-08-16 16:30 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2011-08-16 16:30:26 UTC
Target Upstream Version:

Attachments (Terms of Use)

Description Doug Knight 2007-03-01 20:59:01 UTC
Description of problem:

getCanonX86_64Arch in arch.py needs to be fixed, or removed:

rhpl.arch.canonArch is set to ia32e for systems using Intel EM64T CPUs, and
x86_64 for systems using AMD 64 CPUs.  A mismatched CPU vendor id in
getCanonX86_64Arch is preventing canonArch from being set to amd64 for systems
using AMD 64 CPUs.  getCanonX86_64Arch is checking the CPU vendor id for the
string "Authentic AMD".  All of our AMD 64 processors have a vendor id of
"AuthenticAMD" (no spaces included).

This bug has actually made things work PROPERLY for the systems using AMD CPUs
where code is failing on Intel EM64T based systems.  anaconda checks to see if
canonArch is x86_64 when setting the transaction color in packages.py and
whiteout.py, but never checks for amd64 or ia32e.  anaconda also uses the value
of canonArch when creating /etc/rpm/platform in iutil.py.  According to Bug
165710, rpm does not support the architecture name ia32e.  Since they only have
macros defined for x86_64, I suspect they would say the same about the amd64
architecture name.

Since the use of the amd64 and ia32e architecture names appears to have been
decpricated in other packages, you may find it more appropriate to simply return
x86_64 from getCanonArch, and skip the vendor id checks alltogether.

If you choose to continue using amd64 and ia32e architecture names, please map
them back to x86_64 before writing /etc/rpm/platform, and check for the names
before setting transaction colors mentioned above.

Version-Release number of selected component (if applicable):
All (current)

How reproducible:

Steps to Reproduce:
1. Install RHEL 4 u4 on an AMD 64 system
2. cat /etc/rpm/platform
3. Install RHEL 4 u4 on an Intel EM64T system
4. cat /etc/rpm/platform

Actual results:
On the AMD 64 system, platform contains "x86_64-redhat-linux"
On the Intel EM64T system, platform contains "ia32e-redhat-linux"

Expected results:
/etc/rpm/platform should contain the string "x86_64-redhat-linux" on both AMD 64
and Intel EM64T systems.

Additional info:

Comment 1 RHEL Program Management 2008-02-01 19:09:48 UTC
This request was evaluated by Red Hat Product Management for
inclusion, but this component is not scheduled to be updated in
the current Red Hat Enterprise Linux release. If you would like
this request to be reviewed for the next minor release, ask your
support representative to set the next rhel-x.y flag to "?".

Note You need to log in before you can comment on or make changes to this bug.