Allow multiple .eh_frame sections per object file.
[deliverable/binutils-gdb.git] / gold / options.h
index ebe08df55ac9a95031d9473b8d15d5e3a54a24ea..2a43e8d4e03a4ec4a47b59ceabcf823bb0d2c18e 100644 (file)
@@ -1,6 +1,6 @@
 // options.h -- handle command line options for gold  -*- C++ -*-
 
-// Copyright (C) 2006-2016 Free Software Foundation, Inc.
+// Copyright (C) 2006-2017 Free Software Foundation, Inc.
 // Written by Ian Lance Taylor <iant@google.com>.
 
 // This file is part of gold.
@@ -711,7 +711,7 @@ class General_options
   DEFINE_string(format, options::TWO_DASHES, 'b', "elf",
                N_("Set input format"), ("[elf,binary]"));
 
-  DEFINE_bool(be8,options::TWO_DASHES, '\0', false,
+  DEFINE_bool(be8, options::TWO_DASHES, '\0', false,
              N_("Output BE8 format image"), NULL);
 
   DEFINE_optional_string(build_id, options::TWO_DASHES, '\0', "tree",
@@ -814,6 +814,10 @@ class General_options
 
   // e
 
+  DEFINE_bool(emit_stub_syms, options::TWO_DASHES, '\0', true,
+             N_("(PowerPC only) Label linker stubs with a symbol"),
+             N_("(PowerPC only) Do not label linker stubs with a symbol"));
+
   DEFINE_string(entry, options::TWO_DASHES, 'e', NULL,
                N_("Set program start address"), N_("ADDRESS"));
 
@@ -921,7 +925,7 @@ class General_options
                N_("Min fraction of empty buckets in dynamic hash"),
                N_("FRACTION"));
 
-  DEFINE_enum(hash_style, options::TWO_DASHES, '\0', "sysv",
+  DEFINE_enum(hash_style, options::TWO_DASHES, '\0', DEFAULT_HASH_STYLE,
              N_("Dynamic hash style"), N_("[sysv,gnu,both]"),
              {"sysv", "gnu", "both"});
 
@@ -1100,6 +1104,10 @@ class General_options
             N_("(PowerPC64 only) Align PLT call stubs to fit cache lines"),
             N_("[=P2ALIGN]"), true, int, int, options::parse_uint, false);
 
+  DEFINE_bool(plt_localentry, options::TWO_DASHES, '\0', false,
+             N_("(PowerPC64 only) Optimize calls to ELFv2 localentry:0 functions"),
+             N_("(PowerPC64 only) Don't optimize ELFv2 calls"));
+
   DEFINE_bool(plt_static_chain, options::TWO_DASHES, '\0', false,
              N_("(PowerPC64 only) PLT call stubs should load r11"),
              N_("(PowerPC64 only) PLT call stubs should not load r11"));
@@ -1156,7 +1164,8 @@ class General_options
              N_("Generate relocatable output"), NULL);
 
   DEFINE_bool(relax, options::TWO_DASHES, '\0', false,
-             N_("Relax branches on certain targets"), NULL);
+             N_("Relax branches on certain targets"),
+             N_("Do not relax branches"));
 
   DEFINE_string(retain_symbols_file, options::TWO_DASHES, '\0', NULL,
                N_("keep only symbols listed in this file"), N_("FILE"));
@@ -1203,6 +1212,9 @@ class General_options
   DEFINE_special(section_start, options::TWO_DASHES, '\0',
                 N_("Set address of section"), N_("SECTION=ADDRESS"));
 
+  DEFINE_bool(secure_plt, options::TWO_DASHES , '\0', true,
+             N_("(PowerPC only) Use new-style PLT"), NULL);
+
   DEFINE_optional_string(sort_common, options::TWO_DASHES, '\0', NULL,
                         N_("Sort common symbols by alignment"),
                         N_("[={ascending,descending}]"));
@@ -1223,9 +1235,10 @@ class General_options
                "stubs are always after the group. 1 means use default size"),
             N_("SIZE"));
 
-  DEFINE_bool(stub_group_multi, options::TWO_DASHES, '\0', false,
+  DEFINE_bool(stub_group_multi, options::TWO_DASHES, '\0', true,
              N_("(PowerPC only) Allow a group of stubs to serve multiple "
-                "output sections"), NULL);
+                "output sections"),
+             N_("(PowerPC only) Each output section has its own stubs"));
 
   DEFINE_uint(split_stack_adjust_size, options::TWO_DASHES, '\0', 0x4000,
              N_("Stack size when -fsplit-stack function calls non-split"),
@@ -1279,6 +1292,13 @@ class General_options
   DEFINE_uint(thread_count_final, options::TWO_DASHES, '\0', 0,
              N_("Number of threads to use in final pass"), N_("COUNT"));
 
+  DEFINE_bool(tls_optimize, options::TWO_DASHES, '\0', true,
+             N_("(PowerPC/64 only) Optimize GD/LD/IE code to IE/LE"),
+             N_("(PowerPC/64 only) Don'\''t try to optimize TLS accesses"));
+  DEFINE_bool(tls_get_addr_optimize, options::TWO_DASHES, '\0', true,
+             N_("(PowerPC/64 only) Use a special __tls_get_addr call"),
+             N_("(PowerPC/64 only) Don't use a special __tls_get_addr call"));
+
   DEFINE_bool(toc_optimize, options::TWO_DASHES, '\0', true,
              N_("(PowerPC64 only) Optimize TOC code sequences"),
              N_("(PowerPC64 only) Don't optimize TOC code sequences"));
@@ -1403,6 +1423,9 @@ class General_options
 
   // The -z options.
 
+  DEFINE_bool(bndplt, options::DASH_Z, '\0', false,
+             N_("(x86-64 only) Generate a BND PLT for Intel MPX"),
+             N_("Generate a regular PLT"));
   DEFINE_bool(combreloc, options::DASH_Z, '\0', true,
              N_("Sort dynamic relocs"),
              N_("Do not sort dynamic relocs"));
@@ -1469,6 +1492,11 @@ class General_options
   DEFINE_bool_alias(textoff, text, options::DASH_Z, '\0',
                    N_("Permit relocations in read-only segments"),
                    NULL, true);
+  DEFINE_bool(text_unlikely_segment, options::DASH_Z, '\0', false,
+             N_("Move .text.unlikely sections to a separate segment."),
+             N_("Do not move .text.unlikely sections to a separate "
+                "segment."));
+
 
  public:
   typedef options::Dir_list Dir_list;
This page took 0.063094 seconds and 4 git commands to generate.