public inbox for gas2@sourceware.org
 help / color / mirror / Atom feed
From: Eric Youngdale <ericy@cais.cais.com>
To: hlu@nynexst.com
Cc: gas2@cygnus.com
Subject: ELF shared library status.
Date: Sat, 16 Jul 1994 06:15:00 -0000	[thread overview]
Message-ID: <199407161307.JAA24794@cais.cais.com> (raw)

	OK, last night I finally got it working.  I was able to use the GNU
linker to generate an ELF shared library (the iBCS2 ELF libc for linux), and it
actually works for everything I have thrown at it so far, including emacs and a
couple of simpleminded X applications.  I have already sent Ian the diffs, and
when he gets some time (hopefully fairly soon) they will be integrated into the
source tree at cygnus.

	One very interesting thing is that the library generated by GNU ld is
about 33Kb smaller than the one generated by the SVr4 linker.  I think the main
reason for this is that the SVr4 linker has been generating a unified symbol
table, and when you strip this binary it cannot remove the local symbols.
The GNU linker has been generating two sets of symbol tables, and the .dynsym
section only contains that which is needed for dynamic linking.  Thus when you
strip it, you end up with something that is much closer to the minimum size.

	There is one problem area - the debugging information needs some work
in the relocations department - if you try and load the shared library into the
debugger you get some nonsense messages from gdb.  In principle this should not
be that difficult to fix, and will only be an issue when you try and directly
debug a shared library.

	There are a few new rough edges with some of the binutils - these
should also be relatively easy to iron out.

	I have uploaded diffs (against the 940707 snapshot at cygnus) to tsx-11
in pub/linux/packages/GCC/private/dll/elflib??.diff or something close to that
(I cannot remember the exact name).  The only thing that is missing from this
file are the patches to gas to accept PIC assembly operands (Ken has the
patches, and will hopefully be integrated soon).  So far, every test that I
have run with the linker has used .o files generated by the SVr4 assembler - I
only want to test/debug one tool at a time, thank you.

	I will be away from my computer most of the weekend :-).

-Eric


             reply	other threads:[~1994-07-16  6:15 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1994-07-16  6:15 Eric Youngdale [this message]
1994-07-16  9:50 ` Richard Stallman

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=199407161307.JAA24794@cais.cais.com \
    --to=ericy@cais.cais.com \
    --cc=gas2@cygnus.com \
    --cc=hlu@nynexst.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).