* config/obj-elf.c (elf_frob_symbol): Report S_SET_SIZE symbol
[deliverable/binutils-gdb.git] / gas / config / obj-elf.c
index 37a8020c736c902a1deedf473557786df3cf02fb..afb4811b4c82d149d4cf96bcc89b4aa76e0f741e 100644 (file)
@@ -1896,49 +1896,12 @@ elf_frob_symbol (symbolS *symp, int *puntp)
        S_SET_SIZE (symp, size->X_add_number);
       else
        {
-         const char *op_name = NULL;
-         const char *add_name = NULL;
-         PRINTF_LIKE ((*as_error));
-
          if (flag_size_check == size_check_error)
-           as_error = as_bad;
+           as_bad (_(".size expression for %s "
+                     "does not evaluate to a constant"), S_GET_NAME (symp));
          else
-           as_error = as_warn;
-
-         if (size->X_op == O_subtract)
-           {
-             op_name = S_GET_NAME (size->X_op_symbol);
-             add_name = S_GET_NAME (size->X_add_symbol);
-             if (strcmp (op_name, FAKE_LABEL_NAME) == 0)
-               op_name = NULL;
-             if (strcmp (add_name, FAKE_LABEL_NAME) == 0)
-               add_name = NULL;
-
-             if (op_name && add_name)
-               as_error (_(".size expression with symbols `%s' and "
-                           "`%s' does not evaluate to a constant"),
-                         op_name, add_name);
-             else
-               {
-                 const char *name;
-
-                 if (op_name)
-                   name = op_name;
-                 else if (add_name)
-                   name = add_name;
-                 else
-                   name = NULL;
-
-                 if (name)
-                   as_error (_(".size expression with symbol `%s' "
-                               "does not evaluate to a constant"),
-                             name);
-               }
-           }
-         
-         if (!op_name && !add_name)
-           as_error (_(".size expression does not evaluate to a "
-                       "constant"));
+           as_warn (_(".size expression for %s "
+                      "does not evaluate to a constant"), S_GET_NAME (symp));
        }
       free (sy_obj->size);
       sy_obj->size = NULL;
This page took 0.04997 seconds and 4 git commands to generate.