sim: aarch64/msp430: fix disassembler usage
[binutils-gdb.git] / include / bfdlink.h
index 797a4650e85a6f587e3c9deb4327f01174328764..93abab1c04e48af4a258e25adb00b618b6d03808 100644 (file)
@@ -263,17 +263,18 @@ struct bfd_elf_version_tree;
 
 enum output_type
 {
-  type_executable = 0,
+  type_pde,
+  type_pie,
+  type_relocatable,
   type_dll,
-  type_relocatable
 };
 
-#define bfd_link_executable(info)  ((info)->type == type_executable)
+#define bfd_link_pde(info)        ((info)->type == type_pde)
 #define bfd_link_dll(info)        ((info)->type == type_dll)
 #define bfd_link_relocatable(info) ((info)->type == type_relocatable)
-#define bfd_link_pic(info)        (info)->pic
-#define bfd_link_pie(info)        (bfd_link_executable (info) \
-                                   && bfd_link_pic (info))
+#define bfd_link_pie(info)        ((info)->type == type_pie)
+#define bfd_link_executable(info)  (bfd_link_pde (info) || bfd_link_pie (info))
+#define bfd_link_pic(info)        (bfd_link_dll (info) || bfd_link_pie (info))
 
 /* This structure holds all the information needed to communicate
    between BFD and the linker when doing a link.  */
@@ -283,9 +284,6 @@ struct bfd_link_info
   /* Output type.  */
   ENUM_BITFIELD (output_type) type : 2;
 
-  /* TRUE if BFD should generate a position independent object.  */
-  unsigned int pic : 1;
-
   /* TRUE if BFD should pre-bind symbols in a shared object.  */
   unsigned int symbolic: 1;
 
@@ -433,6 +431,15 @@ struct bfd_link_info
   /* 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 generate a 1-byte NOP as suffix for x86 call instruction.  */
+  unsigned int call_nop_as_suffix : 1;
+
+  /* The 1-byte NOP for x86 call instruction.  */
+  char call_nop_byte;
+
   /* Char that may appear as the first char of a symbol, but should be
      skipped (like symbol_leading_char) when looking up symbols in
      wrap_hash.  Used by PowerPC Linux for 'dot' symbols.  */