aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2001-09-24 16:17:46 +0000
committerNick Clifton <nickc@redhat.com>2001-09-24 16:17:46 +0000
commit2f8d8971c6c9992e015c50639186db1e6ad2f0c4 (patch)
treec0fc97d6fabc6bfbf88658d8987c08391e2fdfe0 /ld
parent72358f656865476617bb9ee497d08b32a48c95c8 (diff)
downloadfsf-binutils-gdb-2f8d8971c6c9992e015c50639186db1e6ad2f0c4.zip
fsf-binutils-gdb-2f8d8971c6c9992e015c50639186db1e6ad2f0c4.tar.gz
fsf-binutils-gdb-2f8d8971c6c9992e015c50639186db1e6ad2f0c4.tar.bz2
improve documenation about auto-import
Diffstat (limited to 'ld')
-rw-r--r--ld/ChangeLog10
-rw-r--r--ld/ld.texinfo13
2 files changed, 20 insertions, 3 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index 4fb6ae7..fa617c0 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,4 +1,14 @@
2001-09-24 Charles Wilson <cwilson@ece.gatech.edu>
+
+ * ld.texinfo(enable-auto-import): Clarify the explanation.
+
+2001-09-24 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * pe-dll.c (pe_create_import_fixup): Revert previous patch.
+ * emultemp/pe.em (pe_data_import_dll): Move definition outside of
+ DLL_SUPPORT controlled code.
+
+2001-09-24 Charles Wilson <cwilson@ece.gatech.edu>
* emultempl/pe.em(pe_data_import_dll): Make static.
(pe_get_data_import_dll_name): New accessor function.
diff --git a/ld/ld.texinfo b/ld/ld.texinfo
index 209875c..fd03bc3 100644
--- a/ld/ld.texinfo
+++ b/ld/ld.texinfo
@@ -1738,8 +1738,14 @@ This message occurs when some (sub)expression accesses an address
ultimately given by the sum of two constants (Win32 import tables only
allow one). Instances where this may occur include accesses to member
fields of struct variables imported from a DLL, as well as using a
-constant index into an array variable imported from a DLL. There are
-several ways to address this difficulty.
+constant index into an array variable imported from a DLL. Any
+multiword variable (arrays, structs, long long, etc) may trigger
+this error condition. However, regardless of the exact data type
+of the offending exported variable, ld will always detect it, issue
+the warning, and exit.
+
+There are several ways to address this difficulty, regardless of the
+data type of the exported variable:
One solution is to force one of the 'constants' to be a variable --
that is, unknown and un-optimizable at compile time. For arrays,
@@ -1760,7 +1766,8 @@ extern_array[1] -->
@{ volatile int t=1; extern_array[t] @}
@end example
-For structs, the only option is to make the struct itself variable:
+For structs (and most other multiword data types) the only option
+is to make the struct itself (or the long long, or the ...) variable:
@example
extern struct s extern_struct;