aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2002-10-07 16:36:11 +0000
committerNick Clifton <nickc@redhat.com>2002-10-07 16:36:11 +0000
commit39cebe23dad98aaac4ba952caa5a128f1f8ece30 (patch)
treea3c33895fe20a52a81e65848b6b39bac440f1578 /ld
parenta8fcf37848630be3b960c7fc026ea55af5766ad1 (diff)
downloadgdb-39cebe23dad98aaac4ba952caa5a128f1f8ece30.zip
gdb-39cebe23dad98aaac4ba952caa5a128f1f8ece30.tar.gz
gdb-39cebe23dad98aaac4ba952caa5a128f1f8ece30.tar.bz2
Don't re-export auto-import symbols.
Diffstat (limited to 'ld')
-rw-r--r--ld/ChangeLog6
-rw-r--r--ld/pe-dll.c8
2 files changed, 12 insertions, 2 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index 7961079..c2575d5 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,9 @@
+2002-10-07 Ralf Habacker <Ralf.Habacker@freenet.de>
+
+ * pe-dll.cc (autofilter_symbolprefixlist): Don't re-export
+ auto-import symbols.
+ (make_one): Create _nm_<symbol> for data only.
+
2002-10-05 Elias Athanasopoulos <eathan@otenet.gr>
* ldlang.c (lang_file_exist): New function.
diff --git a/ld/pe-dll.c b/ld/pe-dll.c
index fd70c78..367759a 100644
--- a/ld/pe-dll.c
+++ b/ld/pe-dll.c
@@ -257,6 +257,8 @@ static autofilter_entry_type autofilter_symbolprefixlist[] =
/* { "__imp_", 6 }, */
/* Do __imp_ explicitly to save time. */
{ "__rtti_", 7 },
+ /* Don't re-export auto-imported symbols. */
+ { "_nm_", 4 },
{ "__builtin_", 10 },
/* Don't export symbols specifying internal DLL layout. */
{ "_head_", 6 },
@@ -1814,8 +1816,10 @@ make_one (exp, parent)
quick_symbol (abfd, U ("_head_"), dll_symname, "", UNDSEC, BSF_GLOBAL, 0);
quick_symbol (abfd, U ("_imp__"), exp->internal_name, "", id5, BSF_GLOBAL, 0);
/* Symbol to reference ord/name of imported
- symbol, used to implement auto-import. */
- quick_symbol (abfd, U("_nm__"), exp->internal_name, "", id6, BSF_GLOBAL, 0);
+ data symbol, used to implement auto-import. */
+ if (exp->flag_data)
+ quick_symbol (abfd, U("_nm__"), exp->internal_name, "", id6,
+ BSF_GLOBAL,0);
if (pe_dll_compat_implib)
quick_symbol (abfd, U ("__imp_"), exp->internal_name, "",
id5, BSF_GLOBAL, 0);