diff --git a/include/coff/ChangeLog b/include/coff/ChangeLog
index 09cd87322..ba5fa3fe0 100644
--- a/include/coff/ChangeLog
+++ b/include/coff/ChangeLog
@@ -1,3 +1,8 @@
+2009-03-14  Richard Sandiford  <r.sandiford@uk.ibm.com>
+
+	* xcoff.h (XCOFF_EXPALL, XCOFF_EXPFULL): New flags.
+	(xcoff_loader_info): Add auto_export_flags.
+
 2009-03-14  Richard Sandiford  <r.sandiford@uk.ibm.com>
 
 	* internal.h (C_AIX_WEAKEXT): New macro.
diff --git a/include/coff/xcoff.h b/include/coff/xcoff.h
index 4f9f7edee..4439dc99b 100644
--- a/include/coff/xcoff.h
+++ b/include/coff/xcoff.h
@@ -394,6 +394,9 @@ struct xcoff_link_hash_table
   asection *special_sections[XCOFF_NUMBER_OF_SPECIAL_SECTIONS];
 };
 
+/* These flags indicate which of -bexpall and -bexpfull are in effect.  */
+#define XCOFF_EXPALL 1
+#define XCOFF_EXPFULL 2
 
 /* This structure is used to pass information through
    xcoff_link_hash_traverse.  */
@@ -409,8 +412,8 @@ struct xcoff_loader_info
   /* Link information structure.  */
   struct bfd_link_info *info;
 
-  /* Whether all defined symbols should be exported.  */
-  bfd_boolean export_defineds;
+  /* A mask of XCOFF_EXPALL and XCOFF_EXPFULL flags.  */
+  unsigned int auto_export_flags;
 
   /* Number of ldsym structures.  */
   size_t ldsym_count;