Closed Bug 312202 Opened 21 years ago Closed 20 years ago

HP-UX IPF (IA64, Itanium) porting changes

Categories

(NSS :: Libraries, defect)

HP
HP-UX
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: wtc, Assigned: wtc)

Details

(Whiteboard: [3.10.3])

Attachments

(4 files, 4 obsolete files)

I received a patch from HP for porting NSS to HP-UX IPF (IA64, Itanium).
I received this patch from Grace Lu of HP on 9/20/2005. This patch should be applied to NSS 3.9 (cvs tag NSS_3_9_RTM). The following are her comments on the patch (which is referred to as "Fix 0010" in HP). The build environment is modified for compiling on both PA and IA. All changes are added for HP-UX only. RTM naming convention is followed, so that the IA and PA binaries can be stored in RTM structure at the same time.
I've checked in portions of Grace Lu's patch after some editing. 1. Use the .so suffix for shared libraries on HP-UX IPF. 2. Add support for building on HP-UX B.11.23. Checking in coreconf/HP-UX.mk; /cvsroot/mozilla/security/coreconf/HP-UX.mk,v <-- HP-UX.mk new revision: 1.10; previous revision: 1.9 done RCS file: /cvsroot/mozilla/security/coreconf/HP-UXB.11.23.mk,v done Checking in coreconf/HP-UXB.11.23.mk; /cvsroot/mozilla/security/coreconf/HP-UXB.11.23.mk,v <-- HP-UXB.11.23.mk initial revision: 1.1 done Checking in nss/lib/nss/nssinit.c; /cvsroot/mozilla/security/nss/lib/nss/nssinit.c,v <-- nssinit.c new revision: 1.69; previous revision: 1.68 done
There is a better way to deal with the 64BIT_TAG change. I'm not sure if a test for the hardcoded B.11.23 version is a good idea.
I implemented a better fix for the 64BIT_TAG problem. While doing this I found that we should also set CPU_ARCH for ia64 (it was hardcoded to hppa before). The comparison with the hardcoded B.11.23 version is still there. I'm waiting for a reply from HP to decide how to fix that.
Attachment #199332 - Attachment is obsolete: true
Attached patch Wan-Teh's patch for NSS 3.10.2 (obsolete) — — Splinter Review
Other than code cleanup, the only change I added is to link our executable programs with +b $ORIGIN/../lib.
Attachment #202736 - Attachment is obsolete: true
1. HP would like to use _32 explicitly in the OBJDIR_NAME of 32-bit HP-UX Itanium builds. 32-bit debug build: HP-UXB.11.23_ia64_32_DBG.OBJ 64-bit optimized build: HP-UXB.11.23_ia64_64_OPT.OBJ 2. HP-UX's +b $ORIGIN linker option is equivalent to Solaris's -R $ORIGIN linker option. HP would like to use +b $ORIGIN so that we don't need to set SHLIB_PATH/LD_LIBRARY_PATH to run NSS command-line tools.
Attachment #199342 - Attachment is obsolete: true
Attachment #203080 - Flags: review?(nelson)
I attached the wrong patch. This is the right one.
Attachment #203080 - Attachment is obsolete: true
Attachment #203081 - Flags: review?(nelson)
Attachment #203080 - Flags: review?(nelson)
Comment on attachment 203075 [details] [diff] [review] Wan-Teh's patch for NSS 3.10.2, v2 Requesting approval to check this patch in on the NSS_3_10_BRANCH.
Attachment #203075 - Flags: superreview?(rrelyea)
Attachment #203075 - Flags: review?(nelson)
Comment on attachment 203075 [details] [diff] [review] Wan-Teh's patch for NSS 3.10.2, v2 r+. We have a scheme for exporting DLL_SUFFIX and DLL_PREFIX to C that use in other places of NSS (softoken and freebl). We should replicate that for nssinit.c so we can get rid of that long platform dependent set of ifdefs. Not necessary for 3.10, though. bob
Attachment #203075 - Flags: superreview?(rrelyea) → superreview+
Comment on attachment 203075 [details] [diff] [review] Wan-Teh's patch for NSS 3.10.2, v2 I gather that the default ABI for ia64 is a 32-bit ABI, and I find that rather surprising. I have no way to test the correctness of the ia64 code, but it is not obviously wrong. I'm satisfied that this patch doesn't change any platform other than ia64.
Attachment #203075 - Flags: review?(nelson) → review+
Comment on attachment 203081 [details] [diff] [review] The remaining changes for NSS tip (NSS 3.11), v3 (correct patch) This patch is as correct as the above patch for 3.10 v2
Attachment #203081 - Flags: review?(nelson) → review+
All the HP-UX IPF (IA64) porting changes have been checked in on the NSS trunk (NSS 3.11) and NSS_3_10_BRANCH (NSS 3.10.3). They are also on a NSS_3_10_2_PORTING_BRANCH that I created to port NSS_3_10_2_RTM, with only the absolutely necessary changes, to HP-UX IPF. The static tag of NSS 3.10.2 for HP-UX IPF is NSS_3_10_2_RTM_HPUX_IPF. Nelson, HP's compiler for HP-UX IPF does generate 32-bit binaries by default. Here are some sample outputs to satisfy your curiosity. % cc -V cc: HP aC++/ANSI C B3910B A.06.02 [May 11 2005] % cc hello.c % file a.out a.out: ELF-32 executable object file - IA64 % cc +DD32 hello.c % file a.out a.out: ELF-32 executable object file - IA64 % cc +DD64 hello.c % file a.out a.out: ELF-64 executable object file - IA64
Status: NEW → RESOLVED
Closed: 20 years ago
Resolution: --- → FIXED
Target Milestone: --- → 3.11
Whiteboard: [3.10.3]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: