include/
authorAlan Modra <amodra@gmail.com>
Fri, 15 Jul 2011 02:36:36 +0000 (02:36 +0000)
committerAlan Modra <amodra@gmail.com>
Fri, 15 Jul 2011 02:36:36 +0000 (02:36 +0000)
* bfdlink.h (struct bfd_link_info): Use ENUM_BITFIELD for strip,
discard, common_skip_ar_symbols, unresolved_syms_in_objects, and
unresolved_syms_in_shared_libs fields.  Move emit_note_gnu_build_id
out of bitfields.  Reorder bitfields.
bfd/
* configure.in: Bump version.
* configure: Regenerate.

bfd/ChangeLog
bfd/configure
bfd/configure.in
include/ChangeLog
include/bfdlink.h

index cec63cd872dd8a654e4b52fe75768b6e2412a61a..2540c6596a3190f6f72f9c1ddaec2b1741a7c1a8 100644 (file)
@@ -1,3 +1,8 @@
+2011-07-15  Alan Modra  <amodra@gmail.com>
+
+       * configure.in: Bump version.
+       * configure: Regenerate.
+
 2011-07-14  Alan Modra  <amodra@gmail.com>
 
        * linker.c (_bfd_generic_section_already_linked): Set l_flags.
index 32e9c980fda7f873ef74f9f8c7327bed6159c14c..36103a64a09279f9ff2adeeb40b38afe0895b967 100755 (executable)
@@ -3988,7 +3988,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE=bfd
- VERSION=2.21.52
+ VERSION=2.21.53
 
 
 cat >>confdefs.h <<_ACEOF
index 3dfa34e3e2fa2867aca3639bec977fedd6cec4d1..d966e31a0ff33e8376c6ec0d5a645e5c9f0d174a 100644 (file)
@@ -8,7 +8,7 @@ AC_CONFIG_SRCDIR([libbfd.c])
 AC_CANONICAL_TARGET
 AC_ISC_POSIX
 
-AM_INIT_AUTOMAKE(bfd, 2.21.52)
+AM_INIT_AUTOMAKE(bfd, 2.21.53)
 
 dnl These must be called before LT_INIT, because it may want
 dnl to call AC_CHECK_PROG.
index 7a4f83fc1ead7d14a83785155fde818ba1743cbc..2252587e5d223f2e25247a413bcaaf1baf94455a 100644 (file)
@@ -1,7 +1,13 @@
+2011-07-15  Alan Modra  <amodra@gmail.com>
+
+       * bfdlink.h (struct bfd_link_info): Use ENUM_BITFIELD for strip,
+       discard, common_skip_ar_symbols, unresolved_syms_in_objects, and
+       unresolved_syms_in_shared_libs fields.  Move emit_note_gnu_build_id
+       out of bitfields.  Reorder bitfields.
+
 2011-07-13  Sriraman Tallam  <tmsriram@google.com>
-       
-       * plugin-api.h
-       (ld_plugin_section): New struct.
+
+       * plugin-api.h (ld_plugin_section): New struct.
        (ld_plugin_get_section_count): New typedef.
        (ld_plugin_get_section_type): New typedef.
        (ld_plugin_get_section_name): New typedef.
index 0e583be1875404919299cc0158cfa9c1d89f8b69..71b1e253c69f6ee71d1fa1615ceb484b4b52a4e9 100644 (file)
@@ -251,110 +251,91 @@ struct bfd_elf_dynamic_list;
 
 struct bfd_link_info
 {
-  /* TRUE if BFD should generate a relocatable object file.  */
-  unsigned int relocatable: 1;
+  /* TRUE if BFD should generate a shared object (or a pie).  */
+  unsigned int shared: 1;
 
-  /* TRUE if BFD should generate relocation information in the final
-     executable.  */
-  unsigned int emitrelocations: 1;
+  /* TRUE if generating an executable, position independent or not.  */
+  unsigned int executable : 1;
 
-  /* TRUE if BFD should generate a "task linked" object file,
-     similar to relocatable but also with globals converted to
-     statics.  */
-  unsigned int task_link: 1;
+  /* TRUE if generating a position independent executable.  */
+  unsigned int pie: 1;
 
-  /* TRUE if BFD should generate a shared object.  */
-  unsigned int shared: 1;
+  /* TRUE if BFD should generate a relocatable object file.  */
+  unsigned int relocatable: 1;
 
   /* TRUE if BFD should pre-bind symbols in a shared object.  */
   unsigned int symbolic: 1;
 
+  /* TRUE if executable should not contain copy relocs.
+     Setting this true may result in a non-sharable text segment.  */
+  unsigned int nocopyreloc: 1;
+
   /* TRUE if BFD should export all symbols in the dynamic symbol table
      of an executable, rather than only those used.  */
   unsigned int export_dynamic: 1;
 
-  /* TRUE if shared objects should be linked directly, not shared.  */
-  unsigned int static_link: 1;
-
-  /* TRUE if the output file should be in a traditional format.  This
-     is equivalent to the setting of the BFD_TRADITIONAL_FORMAT flag
-     on the output file, but may be checked when reading the input
-     files.  */
-  unsigned int traditional_format: 1;
-
-  /* TRUE if we want to produced optimized output files.  This might
-     need much more time and therefore must be explicitly selected.  */
-  unsigned int optimize: 1;
-
-  /* TRUE if ok to have multiple definition.  */
-  unsigned int allow_multiple_definition: 1;
-
-  /* TRUE if ok to have version with no definition.  */
-  unsigned int allow_undefined_version: 1;
-
   /* TRUE if a default symbol version should be created and used for
      exported symbols.  */
   unsigned int create_default_symver: 1;
 
-  /* TRUE if a default symbol version should be created and used for
-     imported symbols.  */
-  unsigned int default_imported_symver: 1;
-
-  /* TRUE if symbols should be retained in memory, FALSE if they
-     should be freed and reread.  */
-  unsigned int keep_memory: 1;
+  /* TRUE if unreferenced sections should be removed.  */
+  unsigned int gc_sections: 1;
 
   /* TRUE if every symbol should be reported back via the notice
      callback.  */
   unsigned int notice_all: 1;
 
-  /* TRUE if executable should not contain copy relocs.
-     Setting this true may result in a non-sharable text segment.  */
-  unsigned int nocopyreloc: 1;
+  /* TRUE if we are loading LTO outputs.  */
+  unsigned int loading_lto_outputs: 1;
 
-  /* TRUE if the new ELF dynamic tags are enabled. */
-  unsigned int new_dtags: 1;
+  /* TRUE if global symbols in discarded sections should be stripped.  */
+  unsigned int strip_discarded: 1;
 
-  /* TRUE if non-PLT relocs should be merged into one reloc section
-     and sorted so that relocs against the same symbol come together.  */
-  unsigned int combreloc: 1;
+  /* TRUE if all data symbols should be dynamic.  */
+  unsigned int dynamic_data: 1;
 
-  /* TRUE if .eh_frame_hdr section and PT_GNU_EH_FRAME ELF segment
-     should be created.  */
-  unsigned int eh_frame_hdr: 1;
+  /* Which symbols to strip.  */
+  ENUM_BITFIELD (bfd_link_strip) strip : 2;
 
-  /* TRUE if global symbols in discarded sections should be stripped.  */
-  unsigned int strip_discarded: 1;
+  /* Which local symbols to discard.  */
+  ENUM_BITFIELD (bfd_link_discard) discard : 2;
 
-  /* TRUE if generating a position independent executable.  */
-  unsigned int pie: 1;
+  /* Criteria for skipping symbols when determining
+     whether to include an object from an archive. */
+  ENUM_BITFIELD (bfd_link_common_skip_ar_symbols) common_skip_ar_symbols : 2;
 
-  /* TRUE if generating an executable, position independent or not.  */
-  unsigned int executable : 1;
+  /* What to do with unresolved symbols in an object file.
+     When producing executables the default is GENERATE_ERROR.
+     When producing shared libraries the default is IGNORE.  The
+     assumption with shared libraries is that the reference will be
+     resolved at load/execution time.  */
+  ENUM_BITFIELD (report_method) unresolved_syms_in_objects : 2;
 
-  /* TRUE if PT_GNU_STACK segment should be created with PF_R|PF_W|PF_X
-     flags.  */
-  unsigned int execstack: 1;
+  /* What to do with unresolved symbols in a shared library.
+     The same defaults apply.  */
+  ENUM_BITFIELD (report_method) unresolved_syms_in_shared_libs : 2;
 
-  /* TRUE if PT_GNU_STACK segment should be created with PF_R|PF_W
-     flags.  */
-  unsigned int noexecstack: 1;
+  /* TRUE if shared objects should be linked directly, not shared.  */
+  unsigned int static_link: 1;
+
+  /* TRUE if symbols should be retained in memory, FALSE if they
+     should be freed and reread.  */
+  unsigned int keep_memory: 1;
+
+  /* TRUE if BFD should generate relocation information in the final
+     executable.  */
+  unsigned int emitrelocations: 1;
 
   /* TRUE if PT_GNU_RELRO segment should be created.  */
   unsigned int relro: 1;
 
+  /* TRUE if .eh_frame_hdr section and PT_GNU_EH_FRAME ELF segment
+     should be created.  */
+  unsigned int eh_frame_hdr: 1;
+
   /* TRUE if we should warn when adding a DT_TEXTREL to a shared object.  */
   unsigned int warn_shared_textrel: 1;
 
-  /* TRUE if we should warn alternate ELF machine code.  */
-  unsigned int warn_alternate_em: 1;
-
-  /* TRUE if unreferenced sections should be removed.  */
-  unsigned int gc_sections: 1;
-
-  /* TRUE if user shoudl be informed of removed unreferenced sections.  */
-  unsigned int print_gc_sections: 1;
-
   /* TRUE if .hash section should be created.  */
   unsigned int emit_hash: 1;
 
@@ -366,43 +347,59 @@ struct bfd_link_info
      caching ELF symbol buffer.  */
   unsigned int reduce_memory_overheads: 1;
 
-  /* TRUE if all data symbols should be dynamic.  */
-   unsigned int dynamic_data: 1;
+  /* TRUE if the output file should be in a traditional format.  This
+     is equivalent to the setting of the BFD_TRADITIONAL_FORMAT flag
+     on the output file, but may be checked when reading the input
+     files.  */
+  unsigned int traditional_format: 1;
 
-  /* TRUE if some symbols have to be dynamic, controlled by
-     --dynamic-list command line options.  */
-  unsigned int dynamic: 1;
+  /* TRUE if non-PLT relocs should be merged into one reloc section
+     and sorted so that relocs against the same symbol come together.  */
+  unsigned int combreloc: 1;
+
+  /* TRUE if a default symbol version should be created and used for
+     imported symbols.  */
+  unsigned int default_imported_symver: 1;
+
+  /* TRUE if the new ELF dynamic tags are enabled. */
+  unsigned int new_dtags: 1;
 
   /* FALSE if .eh_frame unwind info should be generated for PLT and other
      linker created sections, TRUE if it should be omitted.  */
   unsigned int no_ld_generated_unwind_info: 1;
 
-  /* TRUE if we are loading LTO outputs.  */
-  unsigned int loading_lto_outputs: 1;
+  /* TRUE if BFD should generate a "task linked" object file,
+     similar to relocatable but also with globals converted to
+     statics.  */
+  unsigned int task_link: 1;
 
-  /* Non-NULL if .note.gnu.build-id section should be created.  */
-  char *emit_note_gnu_build_id;
+  /* TRUE if ok to have multiple definition.  */
+  unsigned int allow_multiple_definition: 1;
 
-  /* What to do with unresolved symbols in an object file.
-     When producing executables the default is GENERATE_ERROR.
-     When producing shared libraries the default is IGNORE.  The
-     assumption with shared libraries is that the reference will be
-     resolved at load/execution time.  */
-  enum report_method unresolved_syms_in_objects;
+  /* TRUE if ok to have version with no definition.  */
+  unsigned int allow_undefined_version: 1;
 
-  /* What to do with unresolved symbols in a shared library.
-     The same defaults apply.  */
-  enum report_method unresolved_syms_in_shared_libs;
+  /* TRUE if some symbols have to be dynamic, controlled by
+     --dynamic-list command line options.  */
+  unsigned int dynamic: 1;
 
-  /* Which symbols to strip.  */
-  enum bfd_link_strip strip;
+  /* TRUE if PT_GNU_STACK segment should be created with PF_R|PF_W|PF_X
+     flags.  */
+  unsigned int execstack: 1;
 
-  /* Which local symbols to discard.  */
-  enum bfd_link_discard discard;
+  /* TRUE if PT_GNU_STACK segment should be created with PF_R|PF_W
+     flags.  */
+  unsigned int noexecstack: 1;
 
-  /* Criteria for skipping symbols when determining
-     whether to include an object from an archive. */
-  enum bfd_link_common_skip_ar_symbols common_skip_ar_symbols;
+  /* TRUE if we want to produced optimized output files.  This might
+     need much more time and therefore must be explicitly selected.  */
+  unsigned int optimize: 1;
+
+  /* TRUE if user should be informed of removed unreferenced sections.  */
+  unsigned int print_gc_sections: 1;
+
+  /* TRUE if we should warn alternate ELF machine code.  */
+  unsigned int warn_alternate_em: 1;
 
   /* Char that may appear as the first char of a symbol, but should be
      skipped (like symbol_leading_char) when looking up symbols in
@@ -439,6 +436,9 @@ struct bfd_link_info
   bfd *input_bfds;
   bfd **input_bfds_tail;
 
+  /* Non-NULL if .note.gnu.build-id section should be created.  */
+  char *emit_note_gnu_build_id;
+
   /* If a symbol should be created for each input BFD, this is section
      where those symbols should be placed.  It must be a section in
      the output BFD.  It may be NULL, in which case no such symbols