X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=include%2Fbfdlink.h;h=c35469dd11ef49e5faa827cdd5a8638819667740;hb=refs%2Fheads%2Fsandbox%2Fvbarinov%2Fupstream233;hp=aea027b138d4e83a96089278ecadc24a1f45bf90;hpb=221855059a11ab76aa909a5df4104354f9384139;p=external%2Fbinutils.git diff --git a/include/bfdlink.h b/include/bfdlink.h index aea027b..c35469d 100644 --- a/include/bfdlink.h +++ b/include/bfdlink.h @@ -1,5 +1,5 @@ /* bfdlink.h -- header file for BFD link routines - Copyright (C) 1993-2016 Free Software Foundation, Inc. + Copyright (C) 1993-2019 Free Software Foundation, Inc. Written by Steve Chamberlain and Ian Lance Taylor, Cygnus Support. This file is part of BFD, the Binary File Descriptor library. @@ -100,9 +100,13 @@ struct bfd_link_hash_entry /* Type of this entry. */ ENUM_BITFIELD (bfd_link_hash_type) type : 8; - /* Symbol is referenced in a normal object file, as distict from a LTO - IR object file. */ - unsigned int non_ir_ref : 1; + /* Symbol is referenced in a normal regular object file, + as distinct from a LTO IR object file. */ + unsigned int non_ir_ref_regular : 1; + + /* Symbol is referenced in a normal dynamic object file, + as distinct from a LTO IR object file. */ + unsigned int non_ir_ref_dynamic : 1; /* Symbol is a built-in define. These will be overridden by PROVIDE in a linker script. */ @@ -111,6 +115,11 @@ struct bfd_link_hash_entry /* Symbol defined in a linker script. */ unsigned int ldscript_def : 1; + /* Symbol will be converted from absolute to section-relative. Set for + symbols defined by a script from "dot" (also SEGMENT_START or ORIGIN) + outside of an output section statement. */ + unsigned int rel_from_abs : 1; + /* A union of information depending upon the type. */ union { @@ -140,9 +149,6 @@ struct bfd_link_hash_entry struct bfd_link_hash_entry *next; /* BFD symbol was found in. */ bfd *abfd; - /* For __start_ and __stop_ symbols, the first - input section matching the name. */ - asection *section; } undef; /* bfd_link_hash_defined, bfd_link_hash_defweak. */ struct @@ -344,6 +350,9 @@ struct bfd_link_info /* TRUE if all data symbols should be dynamic. */ unsigned int dynamic_data: 1; + /* TRUE if section groups should be resolved. */ + unsigned int resolve_section_groups: 1; + /* Which symbols to strip. */ ENUM_BITFIELD (bfd_link_strip) strip : 2; @@ -382,6 +391,9 @@ struct bfd_link_info /* TRUE if PT_GNU_RELRO segment should be created. */ unsigned int relro: 1; + /* TRUE if separate code segment should be created. */ + unsigned int separate_code: 1; + /* Nonzero if .eh_frame_hdr section and PT_GNU_EH_FRAME ELF segment should be created. 1 for DWARF2 tables, 2 for compact tables. */ unsigned int eh_frame_hdr_type: 2; @@ -432,6 +444,9 @@ struct bfd_link_info /* TRUE if ok to have multiple definition. */ unsigned int allow_multiple_definition: 1; + /* TRUE if ok to have prohibit multiple definition of absolute symbols. */ + unsigned int prohibit_multiple_definition_absolute: 1; + /* TRUE if ok to have version with no definition. */ unsigned int allow_undefined_version: 1; @@ -460,24 +475,21 @@ struct bfd_link_info /* TRUE if the linker script contained an explicit PHDRS command. */ unsigned int user_phdrs: 1; + /* TRUE if program headers ought to be loaded. */ + unsigned int load_phdrs: 1; + /* TRUE if we should check relocations after all input files have been opened. */ unsigned int check_relocs_after_open_input: 1; - /* TRUE if BND prefix in PLT entries is always generated. */ - unsigned int bndplt: 1; - /* TRUE if generation of .interp/PT_INTERP should be suppressed. */ unsigned int nointerp: 1; - /* TRUE if we shouldn't check relocation overflow. */ - unsigned int no_reloc_overflow_check: 1; - - /* TRUE if generate a 1-byte NOP as suffix for x86 call instruction. */ - unsigned int call_nop_as_suffix : 1; + /* TRUE if common symbols should be treated as undefined. */ + unsigned int inhibit_common_definition : 1; - /* The 1-byte NOP for x86 call instruction. */ - char call_nop_byte; + /* TRUE if "-Map map" is passed to linker. */ + unsigned int has_map_file : 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 @@ -584,8 +596,9 @@ struct bfd_link_info backend to decide. */ int extern_protected_data; - /* > 0 to treat undefined weak symbol in the executable as dynamic, - requiring dynamic relocation. */ + /* 1 to make undefined weak symbols dynamic when building a dynamic + object. 0 to resolve undefined weak symbols to zero. -1 to let + the backend decide. */ int dynamic_undefined_weak; /* Non-zero if auto-import thunks for DATA items in pei386 DLLs