aboutsummaryrefslogtreecommitdiff
path: root/gas/config/obj-elf.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2001-08-23 20:43:01 +0000
committerJakub Jelinek <jakub@redhat.com>2001-08-23 20:43:01 +0000
commitc538998c231cf99b17c07d89fbdfa38c8ee18ddc (patch)
treef69a905b180da93c66799f7cd7a4bce990dd3a5d /gas/config/obj-elf.c
parent1a6fae3cf4c8b77503f34e5d83ef1fc2cefbd079 (diff)
downloadgdb-c538998c231cf99b17c07d89fbdfa38c8ee18ddc.zip
gdb-c538998c231cf99b17c07d89fbdfa38c8ee18ddc.tar.gz
gdb-c538998c231cf99b17c07d89fbdfa38c8ee18ddc.tar.bz2
* config/tc-ia64.c (dot_endp): Set function symbol sizes.
* config/obj-elf.c (obj_elf_size): When size is constant, free and clear symbol_get_obj(sym)->size if any.
Diffstat (limited to 'gas/config/obj-elf.c')
-rw-r--r--gas/config/obj-elf.c9
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 =