diff options
author | Jim Wilson <wilson@tuliptree.org> | 2000-08-02 21:24:54 +0000 |
---|---|---|
committer | Jim Wilson <wilson@tuliptree.org> | 2000-08-02 21:24:54 +0000 |
commit | 3d56ab850cf81361423699ed8d78c40199d22862 (patch) | |
tree | 5a84e31d0909eb00794cb5865f447bf7841b9d18 | |
parent | 63266560e98843b391a571290bc6d5dfb788d0f5 (diff) | |
download | gdb-3d56ab850cf81361423699ed8d78c40199d22862.zip gdb-3d56ab850cf81361423699ed8d78c40199d22862.tar.gz gdb-3d56ab850cf81361423699ed8d78c40199d22862.tar.bz2 |
Fix memory leaks for IA-64 opcode idescs.
gas/
* config/tc-ia64.c (emit_one_bundle): Call ia64_free_opcode
before ia64_find_opcode.
(md_assemble): Likewise.
opcodes/
* ia64-dis.c (print_insn_ia64): Call ia64_free_opcode at end.
-rw-r--r-- | gas/ChangeLog | 6 | ||||
-rw-r--r-- | gas/config/tc-ia64.c | 3 | ||||
-rw-r--r-- | opcodes/ChangeLog | 4 | ||||
-rw-r--r-- | opcodes/ia64-dis.c | 1 |
4 files changed, 14 insertions, 0 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 57f6fde..be071af 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,9 @@ +2000-08-02 Jim Wilson <wilson@cygnus.com> + + * config/tc-ia64.c (emit_one_bundle): Call ia64_free_opcode + before ia64_find_opcode. + (md_assemble): Likewise. + 2000-08-01 Nick Clifton <nickc@cygnus.com> * config/tc-arm.c (do_mrs): Fix skip fo 'cpsr_all' flag. diff --git a/gas/config/tc-ia64.c b/gas/config/tc-ia64.c index abcfe63..c704cc6 100644 --- a/gas/config/tc-ia64.c +++ b/gas/config/tc-ia64.c @@ -5390,6 +5390,7 @@ emit_one_bundle () as_fatal ("emit_one_bundle: unexpected dynamic op"); sprintf (mnemonic, "%s.%c", idesc->name, "?imbf??"[insn_unit]); + ia64_free_opcode (idesc); md.slot[curr].idesc = idesc = ia64_find_opcode (mnemonic); #if 0 know (!idesc->next); /* no resolved dynamic ops have collisions */ @@ -8493,6 +8494,7 @@ md_assemble (str) mnemonic = "addl"; else mnemonic = "adds"; + ia64_free_opcode (idesc); idesc = ia64_find_opcode (mnemonic); #if 0 know (!idesc->next); @@ -8516,6 +8518,7 @@ md_assemble (str) mnemonic = "mov.i"; else mnemonic = "mov.m"; + ia64_free_opcode (idesc); idesc = ia64_find_opcode (mnemonic); while (idesc != NULL && (idesc->operands[0] != opnd1 diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 4d34aca..d4af2a2 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,7 @@ +2000-08-02 Jim Wilson <wilson@cygnus.com> + + * ia64-dis.c (print_insn_ia64): Call ia64_free_opcode at end. + 2000-07-28 Ben Elliston <bje@redhat.com> * Makefile.am (CGEN, CGENDEPS, CGENDIR, CGENFLAGS): New. diff --git a/opcodes/ia64-dis.c b/opcodes/ia64-dis.c index 7a68597..d4ea62b 100644 --- a/opcodes/ia64-dis.c +++ b/opcodes/ia64-dis.c @@ -254,6 +254,7 @@ print_insn_ia64 (bfd_vma memaddr, struct disassemble_info *info) (*info->fprintf_func) (info->stream, ";;"); done: + ia64_free_opcode (idesc); if (slotnum == 2) retval += 16 - 3*slot_multiplier; return retval; |