]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
xtensa ignores option --no-link-relax
authorAlan Modra <amodra@gmail.com>
Tue, 7 May 2019 23:56:36 +0000 (09:26 +0930)
committerAlan Modra <amodra@gmail.com>
Wed, 8 May 2019 00:10:08 +0000 (09:40 +0930)
md_begin happens after md_parse_option.

* config/tc-xtensa.c (opt_linkrelax): New variable.
(md_parse_option): Set it here.
(md_begin): Copy opt_linkrelax to linkrelax.

gas/ChangeLog
gas/config/tc-xtensa.c

index 9ba89180744c086c93800bdde49b38bf48621325..72346053d04a5f0e601680f7d0b283dc0dda5bae 100644 (file)
@@ -1,3 +1,9 @@
+2019-05-08  Alan Modra  <amodra@gmail.com>
+
+       * config/tc-xtensa.c (opt_linkrelax): New variable.
+       (md_parse_option): Set it here.
+       (md_begin): Copy opt_linkrelax to linkrelax.
+
 2019-05-07  Alexandre Oliva <aoliva@redhat.com>
 
        * testsuite/gas/elf/dwarf2-18.d: Xfail mep-*.
index 9350beb495174649cfcca44663a63e3fb49883bd..320e7afca50af813bf41ffd6f39f80582e2b34f9 100644 (file)
@@ -628,6 +628,7 @@ static bfd_boolean maybe_has_short_loop = FALSE;
 static bfd_boolean workaround_close_loop_end = FALSE;
 static bfd_boolean maybe_has_close_loop_end = FALSE;
 static bfd_boolean enforce_three_byte_loop_align = FALSE;
+static bfd_boolean opt_linkrelax = TRUE;
 
 /* When workaround_short_loops is TRUE, all loops with early exits must
    have at least 3 instructions.  workaround_all_short_loops is a modifier
@@ -827,10 +828,10 @@ md_parse_option (int c, const char *arg)
       as_warn (_("--no-density option is ignored"));
       return 1;
     case option_link_relax:
-      linkrelax = 1;
+      opt_linkrelax = TRUE;
       return 1;
     case option_no_link_relax:
-      linkrelax = 0;
+      opt_linkrelax = FALSE;
       return 1;
     case option_flix:
       produce_flix = FLIX_ALL;
@@ -5258,7 +5259,7 @@ md_begin (void)
   xtensa_default_isa = xtensa_isa_init (0, 0);
   isa = xtensa_default_isa;
 
-  linkrelax = 1;
+  linkrelax = opt_linkrelax;
 
   /* Set up the literal sections.  */
   memset (&default_lit_sections, 0, sizeof (default_lit_sections));