diff options
Diffstat (limited to 'gas/config/obj-elf.c')
-rw-r--r-- | gas/config/obj-elf.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/gas/config/obj-elf.c b/gas/config/obj-elf.c index 775d8fe..4f4e8d4 100644 --- a/gas/config/obj-elf.c +++ b/gas/config/obj-elf.c @@ -1453,7 +1453,14 @@ obj_elf_size (ignore) sym = symbol_find_or_make (name); *p = c; if (exp.X_op == O_constant) - S_SET_SIZE (sym, exp.X_add_number); + { + S_SET_SIZE (sym, exp.X_add_number); + if (symbol_get_obj (sym)->size) + { + xfree (symbol_get_obj (sym)->size); + symbol_get_obj (sym)->size = NULL; + } + } else { symbol_get_obj (sym)->size = |