public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
From: David Edelsohn <dje@watson.ibm.com>
To: Andrey Slepuhin <pooh@msu.ru>
Cc: egcs@cygnus.com
Subject: Re: egcs on AIX: native or gnu ld?
Date: Mon, 20 Oct 1997 10:49:00 -0000	[thread overview]
Message-ID: <9710201736.AA35534@rios1.watson.ibm.com> (raw)
In-Reply-To: <344B2747.579D24EF@msu.ru>

>>>>> Andrey Slepuhin writes:

Andrey> Well, GLOBAL__DI/DD symbols are automatically exported by collect2. But
Andrey> what
Andrey> about __eh_<something> symbols, which are defined for each object file
Andrey> and
Andrey> are global bss symbols? Should I export them or they can be omitted?

	You do not need to know the details of XCOFF objects, that already
is implemented in collect2.  I guess that I do not understand exception
handling and how __eh_* symbols are handled well enough to know if they
need to be exported.  Someone who understand the C++ implementation needs
to examine this.  A symbol needs to be exported if it will be referenced
by name outside its module.  If one module somehow gets a pointer to a
symbol in another loaded module through its own list of transfer vectors,
for example, export is irrelevant.  Only if the linker/loader needs to
resolve named symbols across modules does export become an issue.

	If C++ applications have the names of __eh_* symbols in other
modules compiled in, then it would seem that exports are necessary.  In
that case, one needs to expand collect2.c:scan_prog_file() to add __eh_*
symbols to the export list along with constructors and destructors.

	Again, I am not an expert on C++ internals and I do not know how
the __eh_* symbols interact with the other exception handling
implementations that have evolved.  PowerOpen/XCOFF ABI functions already
have traceback tables at the end of each function and IBM's XLC uses that
to walk the stack for exceptions.  This could be used in the same way as
the DWARF 2 frame unwind information for non-sjlj exception handling.  I
do not forsee having time to work on this at any time in the near future,
but it is an open project to improve AIX support.

David


  reply	other threads:[~1997-10-20 10:49 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1997-10-17  3:12 Andrey Slepuhin
1997-10-17 19:31 ` David Edelsohn
1997-10-18 12:56   ` Joe Buck
1997-10-18 16:18     ` David Edelsohn
1997-10-18 13:24   ` Andrey Slepuhin
1997-10-19 14:52     ` David Edelsohn
1997-10-20  2:42       ` Andrey Slepuhin
1997-10-20 10:49         ` David Edelsohn [this message]
1997-10-20  5:58       ` Andrey Slepuhin
1997-10-20  6:51       ` Andrey Slepuhin
1997-10-20 14:37 Mike Stump
1997-10-20 18:12 ` David Edelsohn
1997-10-20 18:12 Mike Stump

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=9710201736.AA35534@rios1.watson.ibm.com \
    --to=dje@watson.ibm.com \
    --cc=egcs@cygnus.com \
    --cc=pooh@msu.ru \
    /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).