From 7dc8f5ceeca255c8f31ae2bc090749baf14d4d64 Mon Sep 17 00:00:00 2001 From: Alexandre Oliva Date: Fri, 5 Oct 2001 07:49:24 +0000 Subject: [PATCH] * config/tc-mn10300.c (tc_gen_reloc): Don't free reloc->sym_ptr_ptr if it's not allocated. --- gas/ChangeLog | 5 +++++ gas/config/tc-mn10300.c | 5 ++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index c35a822767d..e1588d23bfd 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2001-10-05 Alexandre Oliva + + * config/tc-mn10300.c (tc_gen_reloc): Don't free + reloc->sym_ptr_ptr if it's not allocated. + 2001-10-04 Thiemo Seufer * config/tc-mips.c (prev_insn_reloc_type): Make it an array to hold a diff --git a/gas/config/tc-mn10300.c b/gas/config/tc-mn10300.c index a2acc753599..dbc9ffd0763 100644 --- a/gas/config/tc-mn10300.c +++ b/gas/config/tc-mn10300.c @@ -1779,6 +1779,8 @@ tc_gen_reloc (seg, fixp) if (fixp->fx_addsy && fixp->fx_subsy) { + reloc->sym_ptr_ptr = NULL; + /* If we got a difference between two symbols, and the subtracted symbol is in the current section, use a PC-relative relocation. If both symbols are in the same @@ -1856,7 +1858,8 @@ tc_gen_reloc (seg, fixp) } } - free (reloc->sym_ptr_ptr); + if (reloc->sym_ptr_ptr) + free (reloc->sym_ptr_ptr); free (reloc); return NULL; } -- 2.30.2