/* bfdlink.h -- header file for BFD link routines
- Copyright (C) 1993-2016 Free Software Foundation, Inc.
+ Copyright (C) 1993-2017 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.
/* 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. */
unsigned int linker_def : 1;
+ /* Symbol defined in a linker script. */
+ unsigned int ldscript_def : 1;
+
/* A union of information depending upon the type. */
union
{
/* TRUE if unreferenced sections should be removed. */
unsigned int gc_sections: 1;
+ /* TRUE if exported symbols should be kept during section gc. */
+ unsigned int gc_keep_exported: 1;
+
/* TRUE if every symbol should be reported back via the notice
callback. */
unsigned int notice_all: 1;
/* The output BFD. */
bfd *output_bfd;
+ /* The import library generated. */
+ bfd *out_implib_bfd;
+
/* The list of input BFD's involved in the link. These are chained
together via the link.next field. */
bfd *input_bfds;
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