include/
* 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.
This commit is contained in:
parent
953b98d1cf
commit
05aecedb60
@ -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.
|
||||
|
2
bfd/configure
vendored
2
bfd/configure
vendored
@ -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
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
@ -251,110 +251,91 @@ struct bfd_elf_dynamic_list;
|
||||
|
||||
struct bfd_link_info
|
||||
{
|
||||
/* TRUE if BFD should generate a shared object (or a pie). */
|
||||
unsigned int shared: 1;
|
||||
|
||||
/* TRUE if generating an executable, position independent or not. */
|
||||
unsigned int executable : 1;
|
||||
|
||||
/* TRUE if generating a position independent executable. */
|
||||
unsigned int pie: 1;
|
||||
|
||||
/* TRUE if BFD should generate a relocatable object file. */
|
||||
unsigned int relocatable: 1;
|
||||
|
||||
/* TRUE if BFD should generate relocation information in the final
|
||||
executable. */
|
||||
unsigned int emitrelocations: 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 BFD should generate a shared object. */
|
||||
unsigned int shared: 1;
|
||||
|
||||
/* TRUE if BFD should pre-bind symbols in a shared object. */
|
||||
unsigned int symbolic: 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 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 the new ELF dynamic tags are enabled. */
|
||||
unsigned int new_dtags: 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 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
|
||||
exported symbols. */
|
||||
unsigned int create_default_symver: 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 we are loading LTO outputs. */
|
||||
unsigned int loading_lto_outputs: 1;
|
||||
|
||||
/* TRUE if global symbols in discarded sections should be stripped. */
|
||||
unsigned int strip_discarded: 1;
|
||||
|
||||
/* TRUE if all data symbols should be dynamic. */
|
||||
unsigned int dynamic_data: 1;
|
||||
|
||||
/* Which symbols to strip. */
|
||||
ENUM_BITFIELD (bfd_link_strip) strip : 2;
|
||||
|
||||
/* Which local symbols to discard. */
|
||||
ENUM_BITFIELD (bfd_link_discard) discard : 2;
|
||||
|
||||
/* 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;
|
||||
|
||||
/* 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;
|
||||
|
||||
/* 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 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 global symbols in discarded sections should be stripped. */
|
||||
unsigned int strip_discarded: 1;
|
||||
|
||||
/* TRUE if generating a position independent executable. */
|
||||
unsigned int pie: 1;
|
||||
|
||||
/* TRUE if generating an executable, position independent or not. */
|
||||
unsigned int executable : 1;
|
||||
|
||||
/* TRUE if PT_GNU_STACK segment should be created with PF_R|PF_W|PF_X
|
||||
flags. */
|
||||
unsigned int execstack: 1;
|
||||
|
||||
/* TRUE if PT_GNU_STACK segment should be created with PF_R|PF_W
|
||||
flags. */
|
||||
unsigned int noexecstack: 1;
|
||||
|
||||
/* TRUE if PT_GNU_RELRO segment should be created. */
|
||||
unsigned int relro: 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
|
||||
|
Loading…
Reference in New Issue
Block a user