PR26495 UBSAN: tc-score.c, tc-score7.c left shift of negative value
[deliverable/binutils-gdb.git] / gas / as.c
index 4c5881abd88c8fd493b8448fa7859810f1d8c197..eda759452387399a89d9373520d618fa99c50573 100644 (file)
--- a/gas/as.c
+++ b/gas/as.c
@@ -102,8 +102,9 @@ int verbose = 0;
    MD_AFTER_PARSE_ARGS.  */
 int flag_dwarf_cie_version = -1;
 
-/* The maximum level of DWARF DEBUG information we should manufacture.  */
-unsigned int dwarf_level = 0;
+/* The maximum level of DWARF DEBUG information we should manufacture.
+   This defaults to 3 unless overridden by a command line option.  */
+unsigned int dwarf_level = 3;
 
 #if defined OBJ_ELF || defined OBJ_MAYBE_ELF
 int flag_use_elf_stt_common = DEFAULT_GENERATE_ELF_STT_COMMON;
@@ -345,10 +346,6 @@ Options:\n\
   fprintf (stream, _("\
   --gdwarf-sections       generate per-function section names for DWARF line information\n"));
   fprintf (stream, _("\
-  --hash-size=<value>     set the hash table size close to <value>\n"));
-  fprintf (stream, _("\
-  --help                  show this message and exit\n"));
-  fprintf (stream, _("\
   --target-help           show target specific options\n"));
   fprintf (stream, _("\
   -I DIR                  add DIR to search list for .include directives\n"));
@@ -371,10 +368,6 @@ Options:\n\
   fprintf (stream, _("\
   -R                      fold data section into text section\n"));
   fprintf (stream, _("\
-  --reduce-memory-overheads \n\
-                          prefer smaller memory use at the cost of longer\n\
-                          assembly times\n"));
-  fprintf (stream, _("\
   --statistics            print various measured statistics from execution\n"));
   fprintf (stream, _("\
   --strip-local-absolute  strip local absolute symbols\n"));
@@ -823,6 +816,13 @@ This program has absolutely no warranty.\n"));
              && md_parse_option (optc, optarg))
            continue;
 
+         /* We end up here for any -gsomething-not-already-a-long-option.
+            give some useful feedback on not (yet) supported -gdwarfxxx
+            versions/sections/options.  */
+         if (strncmp (old_argv[optind - 1], "-gdwarf",
+                      strlen ("-gdwarf")) == 0)
+           as_fatal (_("unknown DWARF option %s\n"), old_argv[optind - 1]);
+
          if (md_debug_format_selector)
            debug_type = md_debug_format_selector (& use_gnu_debug_info_extensions);
          else if (IS_ELF)
@@ -1099,22 +1099,10 @@ This program has absolutely no warranty.\n"));
          break;
 
        case OPTION_REDUCE_MEMORY_OVERHEADS:
-         /* The only change we make at the moment is to reduce
-            the size of the hash tables that we use.  */
-         set_gas_hash_table_size (4051);
          break;
 
        case OPTION_HASH_TABLE_SIZE:
-         {
-           unsigned long new_size;
-
-            new_size = strtoul (optarg, NULL, 0);
-            if (new_size)
-              set_gas_hash_table_size (new_size);
-            else
-              as_fatal (_("--hash-size needs a numeric argument"));
-           break;
-         }
+         break;
        }
     }
 
@@ -1387,7 +1375,7 @@ main (int argc, char ** argv)
   dwarf2_init ();
 
   local_symbol_make (".gasversion.", absolute_section,
-                    BFD_VERSION / 10000UL, &predefined_address_frag);
+                    &predefined_address_frag, BFD_VERSION / 10000UL);
 
   /* Now that we have fully initialized, and have created the output
      file, define any symbols requested by --defsym command line
@@ -1397,8 +1385,8 @@ main (int argc, char ** argv)
       symbolS *sym;
       struct defsym_list *next;
 
-      sym = symbol_new (defsyms->name, absolute_section, defsyms->value,
-                       &zero_address_frag);
+      sym = symbol_new (defsyms->name, absolute_section,
+                       &zero_address_frag, defsyms->value);
       /* Make symbols defined on the command line volatile, so that they
         can be redefined inside a source file.  This makes this assembler's
         behaviour compatible with earlier versions, but it may not be
This page took 0.024048 seconds and 4 git commands to generate.