public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "davek at gcc dot gnu dot org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug target/44139] Exporting emutls symbols from a DLL broken on w32 targets
Date: Sat, 15 May 2010 09:34:00 -0000	[thread overview]
Message-ID: <20100515093404.22784.qmail@sourceware.org> (raw)
In-Reply-To: <bug-44139-17370@http.gcc.gnu.org/bugzilla/>



------- Comment #2 from davek at gcc dot gnu dot org  2010-05-15 09:34 -------
(In reply to comment #1)

> In other words, I don't think the runtime loader actually keys off the presence
> of a dot in the exported symbol, but where the EAT entry points to.  If we can
> persuade ld that sometimes a dot in a .DEF file symbol listing is indeed just a
> dot, and not a forwarder definition, it should be able to generate a regular
> EAT entry pointing at the exported symbol, rather than placing an ASCII string
> in the export section and pointing the EAT entry at it, and hopefully
> everything should "just work".

Theory confirmed by applying the following gross hack to src/ld/pe-dll.c:
Index: ld/pe-dll.c
===================================================================
RCS file: /cvs/src/src/ld/pe-dll.c,v
retrieving revision 1.129
diff -p -u -r1.129 pe-dll.c
--- ld/pe-dll.c 28 Apr 2010 15:24:22 -0000      1.129
+++ ld/pe-dll.c 15 May 2010 09:32:37 -0000
@@ -867,7 +867,7 @@ process_def_file_and_drectve (bfd *abfd
       char *name;

       /* Check for forward exports */
-      if (strchr (pe_def_file->exports[i].internal_name, '.'))
+      if (0 && strchr (pe_def_file->exports[i].internal_name, '.'))
        {
          count_exported++;
          if (!pe_def_file->exports[i].flag_noname)

Will attach the trivial testcase I tried it against.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44139


  parent reply	other threads:[~2010-05-15  9:34 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-05-14 14:23 [Bug target/44139] New: " dougsemler at gmail dot com
2010-05-15  9:06 ` [Bug target/44139] " davek at gcc dot gnu dot org
2010-05-15  9:34 ` davek at gcc dot gnu dot org [this message]
2010-05-15  9:37 ` davek at gcc dot gnu dot org
2010-05-15  9:38 ` davek at gcc dot gnu dot org
2010-05-15  9:38 ` davek at gcc dot gnu dot org
2010-05-15  9:38 ` davek at gcc dot gnu dot org
2010-05-15  9:45 ` davek at gcc dot gnu dot org
2010-05-15 13:03 ` dougsemler at gmail dot com
2010-05-15 13:48 ` davek at gcc dot gnu dot org
2010-05-17 18:26 ` davek at gcc dot gnu dot org
2010-05-17 18:26 ` davek at gcc dot gnu dot org
2010-05-18 14:22 ` ktietz at gcc dot gnu dot org
2010-05-18 14:29 ` davek at gcc dot gnu dot org
2010-05-18 14:33 ` davek at gcc dot gnu dot org
2010-05-18 15:18 ` ktietz at gcc dot gnu dot org
2010-05-18 15:26 ` davek at gcc dot gnu dot org
2010-05-18 16:28 ` dominiq at lps dot ens dot fr
2010-05-18 22:43 ` dannysmith at users dot sourceforge dot net
2010-05-19  9:15 ` ktietz at gcc dot gnu dot org
2010-05-19 15:41 ` dje at gcc dot gnu dot org
2010-05-19 16:18 ` ktietz at gcc dot gnu dot org
2010-05-20 17:52 ` dje at gcc dot gnu dot org
2010-05-21 11:28 ` ktietz at gcc dot gnu dot org

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=20100515093404.22784.qmail@sourceware.org \
    --to=gcc-bugzilla@gcc.gnu.org \
    --cc=gcc-bugs@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).