Return-Path: Delivered-To: apmail-stdcxx-issues-archive@locus.apache.org Received: (qmail 63451 invoked from network); 25 Apr 2008 19:45:29 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 25 Apr 2008 19:45:29 -0000 Received: (qmail 42185 invoked by uid 500); 25 Apr 2008 19:45:30 -0000 Delivered-To: apmail-stdcxx-issues-archive@stdcxx.apache.org Received: (qmail 42161 invoked by uid 500); 25 Apr 2008 19:45:30 -0000 Mailing-List: contact issues-help@stdcxx.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@stdcxx.apache.org Delivered-To: mailing list issues@stdcxx.apache.org Received: (qmail 42150 invoked by uid 99); 25 Apr 2008 19:45:30 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 25 Apr 2008 12:45:30 -0700 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.140] (HELO brutus.apache.org) (140.211.11.140) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 25 Apr 2008 19:44:54 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 3F93B234C107 for ; Fri, 25 Apr 2008 12:41:58 -0700 (PDT) Message-ID: <729706545.1209152518245.JavaMail.jira@brutus> Date: Fri, 25 Apr 2008 12:41:58 -0700 (PDT) From: "Martin Sebor (JIRA)" To: issues@stdcxx.apache.org Subject: [jira] Created: (STDCXX-895) [HP-UX] use the +h ld option to record internal library name MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org [HP-UX] use the +h ld option to record internal library name ------------------------------------------------------------ Key: STDCXX-895 URL: https://issues.apache.org/jira/browse/STDCXX-895 Project: C++ Standard Library Issue Type: New Feature Components: Build Affects Versions: 4.2.0, 4.2.1 Environment: HP-UX Reporter: Martin Sebor Priority: Critical Fix For: 4.2.2 The [HP-UX Linker and Libraries User's Guide: HP 9000 Computers|http://docs.hp.com/en/B2355-90655/index.html] (see also [this document|http://docs.hp.com/en/B2355-90730/B2355-90730.html]) recommends using the linker's +h ??internal_name?? option to designate the internal name of the library. We should follow that recommendation. Quoting from [Version Control with Shared Libraries|http://docs.hp.com/en/B2355-90655/ch05s08.html]: {quote} h3. +Library-Level Versioning+ HP-UX 10.0 adds a new library-level versioning scheme that allows you to maintain multiple versions of shared libraries when you make incompatible changes to the library. By maintaining multiple versions, applications linked with the older versions continue to run with the older libraries, while new applications link and run with the newest version of the library. Library-level versioning is very similar to the library versioning on UNIX System V Release 4. h4. +How to Use Library-Level Versioning+ To use library-level versioning, follow these steps: # Name the first version of your shared library with an extension of {{.0}} (that's the number zero), for example {{libA.0}}. Use the {{+h}} option to designate the internal name of the library, for example, {{libA.0}}: {noformat} ld -b *.o -o libA.0 +h libA.0 Creates the shared library libA.0. {noformat} # Since the linker still looks for libraries ending in {{.sl}} with the {{-l}} option, create a symbolic link from the usual name of the library ending in {{.sl}} to the actual library. For example, {{libA.sl}} points to {{libA.0}}: {noformat} ln -s libA.0 libA.sl libA.sl is a symbolic link to libA.0. {noformat} # Link applications as usual, using the {{-l}} option to specify libraries. The linker searches for {{libA.sl}}, as usual. However, if the library it finds has an internal name, the linker places the internal name of the library in the executable's shared library dependency list. When you run the application, the dynamic loader loads the library named by this internal name. For example: {noformat} ld /opt/langtools/lib/crt0.o prog.o -lA -lc Binds a.out with libA.0. {noformat} {quote} -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.