public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
From: Karl Vogel <karl.vogel@seagha.com>
To: "'gcc@gcc.gnu.org'" <gcc@gcc.gnu.org>
Subject: HP/Compaq Tru64 linker semantics
Date: Mon, 26 Apr 2004 16:59:00 -0000	[thread overview]
Message-ID: <6DED3619289CD311BCEB00508B8E133601A68654@nt-server2.antwerp.seagha.com> (raw)

Since GNU as and GNU ld don't work on a Tru64 system, the system provided
linker is used. This linker differs in the way it looks for shared/archive
libraries.

From the ld [1] man page:

  When linking a shared object, ld searches all library directories for the
  shared object library (libx.so). If it cannot find the shared object
  library, it again searches all library directories for the archive library
  (libx.a).


It can be told to look for both the shared and the archive library in a
directory, before skipping to the next directory path:

  -oldstyle_liblookup
      Cause ld to search each library directory, first for the shared object
      library (libx.so) and then for the archive library (libx.a).

Which is the way GNU ld works.


For reference, I ran into this problem trying to use a newer (archive)
library than the (shared) library installed on the base system. (Berkeley DB
4.2.x package of http://www.openpkg.org)
I used the following patch on my system to get it in line with GNU ld:

--- gcc/config/alpha/osf.h.orig 2004-04-26 15:10:02 +0200
+++ gcc/config/alpha/osf.h      2004-04-26 15:10:18 +0200
@@ -79,7 +79,7 @@
    constructor and call-frame data structures are not accidentally
    overridden.  */
 #define LINK_SPEC  \
-  "-G 8 %{O*:-O3} %{!O*:-O1} -S %{static:-non_shared} \
+  "-oldstyle_liblookup -G 8 %{O*:-O3} %{!O*:-O1} -S %{static:-non_shared} \
    %{!static:%{shared:-shared -hidden_symbol _GLOBAL_*} \
    %{!shared:-call_shared}} %{pg} %{taso} %{rpath*}"



I was wondering what the general opinion is.. follow GNU ld as close as
possible? Or follow the standard way of the platform?!




[1]
http://h30097.www3.hp.com/docs/base_doc/DOCUMENTATION/V50_HTML/MAN/MAN1/0241
____.HTM

             reply	other threads:[~2004-04-26 14:02 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-04-26 16:59 Karl Vogel [this message]
2004-04-28 21:56 ` Jim Wilson
2004-04-28 22:40   ` Rainer Orth
2004-04-28 22:43     ` Andrew Pinski
2004-04-28 23:47       ` Rainer Orth
2004-04-29  0:49     ` Jim Wilson
2004-04-29  0:55       ` Rainer Orth
2004-04-29  4:07         ` Karl Vogel
2004-04-29 21:03           ` Rainer Orth

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=6DED3619289CD311BCEB00508B8E133601A68654@nt-server2.antwerp.seagha.com \
    --to=karl.vogel@seagha.com \
    --cc=gcc@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).