diff --git a/gas/ChangeLog b/gas/ChangeLog index 493d779a7c..0ab27182a8 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,9 @@ +2016-03-25 Trevor Saunders + + * as.c (parse_args): Adjust. + * as.h (flag_size_check): Rename to flag_allow_nonconst_size. + * config/obj-elf.c (elf_frob_symbol): Adjust. + 2016-03-24 Jose E. Marchesi * config/tc-sparc.c (sparc_ip): Remove the V9 restriction on ASR diff --git a/gas/as.c b/gas/as.c index 14980b97c2..ad3d3a6391 100644 --- a/gas/as.c +++ b/gas/as.c @@ -870,9 +870,9 @@ This program has absolutely no warranty.\n")); case OPTION_SIZE_CHECK: if (strcasecmp (optarg, "error") == 0) - flag_size_check = size_check_error; + flag_allow_nonconst_size = FALSE; else if (strcasecmp (optarg, "warning") == 0) - flag_size_check = size_check_warning; + flag_allow_nonconst_size = TRUE; else as_fatal (_("Invalid --size-check= option: `%s'"), optarg); break; diff --git a/gas/as.h b/gas/as.h index 4e5601b536..ba2fb7dd81 100644 --- a/gas/as.h +++ b/gas/as.h @@ -585,12 +585,7 @@ COMMON const char * found_comment_file; #if defined OBJ_ELF || defined OBJ_MAYBE_ELF /* If .size directive failure should be error or warning. */ -COMMON enum - { - size_check_error = 0, - size_check_warning - } -flag_size_check; +COMMON int flag_allow_nonconst_size; /* If we should generate ELF common symbols with the STT_COMMON type. */ extern int flag_use_elf_stt_common; diff --git a/gas/config/obj-elf.c b/gas/config/obj-elf.c index bacaca3f30..c7a4ee410f 100644 --- a/gas/config/obj-elf.c +++ b/gas/config/obj-elf.c @@ -2165,7 +2165,7 @@ elf_frob_symbol (symbolS *symp, int *puntp) S_SET_SIZE (symp, size->X_add_number); else { - if (flag_size_check == size_check_error) + if (!flag_allow_nonconst_size) as_bad (_(".size expression for %s " "does not evaluate to a constant"), S_GET_NAME (symp)); else