From: Ian Lance Taylor <ian@cygnus.com>
To: dm@sgi.com
Cc: gcc2@cygnus.com, gas2@cygnus.com
Subject: Re: global vars and symbol visibility for mips32/elf
Date: Fri, 09 Aug 1996 08:30:00 -0000 [thread overview]
Message-ID: <199608091529.LAA05118@sanguine.cygnus.com> (raw)
In-Reply-To: <199608090946.CAA27226@neteng.engr.sgi.com>
Date: Fri, 9 Aug 1996 02:46:18 -0700
From: "David S. Miller" <dm@neteng.engr.sgi.com>
The problem is caused by the symbol 'glob'. GNU libc also has a
symbol glob.
This is the bug. An ANSI C compliant shared library may not have a
global symbol which infringes on the ANSI C namespace. The symbol
must, instead, be weak.
It works to have a global symbol in a normal archive library, because
then it will only be included if there is no other definition.
However, all symbols in a shared library are included if any are, so
there must be no extraneous global symbols.
The IRIX6.2 linker however places this symbol in the MIPS_ACOMMON
section of the resulting executable and does not override using the
libc symbol of the same name (the shared IRIX libc does in fact have a
symbol named 'glob' just like my MIPS/Linux GNU libc does).
If you use elfdump -Dt on the Irix 6.2 libc, you will see that glob is
a weak symbol.
The use of the MIPS_ACOMMON section is an Irix linker optimization,
not supported by gld, which has no particular bearing on this issue.
Ian
next prev parent reply other threads:[~1996-08-09 8:30 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
1996-08-09 2:46 David S. Miller
1996-08-09 5:24 ` David S. Miller
1996-08-09 9:01 ` Ian Lance Taylor
1996-08-09 8:30 ` Ian Lance Taylor [this message]
1996-08-09 13:13 ` Ulrich Drepper
1996-08-09 15:30 ` Ian Lance Taylor
1996-08-10 17:37 ` Richard Stallman
1996-08-10 19:41 ` Ian Lance Taylor
1996-08-10 23:26 ` Jim Wilson
1996-08-11 1:44 ` Richard Stallman
1996-08-13 10:58 ` Ruediger Helsch
1996-08-13 13:36 ` Jim Wilson
1996-08-13 16:06 ` Ruediger Helsch
1996-08-13 19:04 ` Jim Wilson
1996-08-13 21:02 ` Richard Stallman
1996-08-14 3:06 ` Ruediger Helsch
1996-08-14 23:44 ` Richard Stallman
1996-08-14 0:18 ` Nick Ing-Simmons
1996-08-14 3:06 ` Ruediger Helsch
1996-08-15 11:24 ` H.J. Lu
1996-08-13 9:06 ` Ruediger Helsch
1996-08-13 10:58 ` Richard Stallman
1996-08-13 13:36 ` Ruediger Helsch
1996-08-13 13:36 ` Richard Stallman
1996-08-13 14:40 ` H.J. Lu
1996-08-13 16:06 ` Ulrich Drepper
1996-08-13 16:06 ` Joe Buck
1996-08-13 17:02 ` Rohan LENARD
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=199608091529.LAA05118@sanguine.cygnus.com \
--to=ian@cygnus.com \
--cc=dm@sgi.com \
--cc=gas2@cygnus.com \
--cc=gcc2@cygnus.com \
/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).