diff options
author | Richard Sandiford <richard.sandiford@arm.com> | 2014-09-23 14:47:45 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2014-09-23 14:47:45 +0000 |
commit | ad01608e1402904d7b9041a985a05c4348d2085b (patch) | |
tree | b88c2df92168eb4ba17dc3577347c28630206cba | |
parent | 48e968a72081812d4e0c271b5397fbffa2ba7e3a (diff) | |
download | gcc-ad01608e1402904d7b9041a985a05c4348d2085b.zip gcc-ad01608e1402904d7b9041a985a05c4348d2085b.tar.gz gcc-ad01608e1402904d7b9041a985a05c4348d2085b.tar.bz2 |
re PR bootstrap/63280 (Double free in GCC compiled with LTO and -O3.)
gcc/
PR bootstrap/63280
* target-globals.c (target_globals::~target_globals): Fix location
of ira_int destruction.
From-SVN: r215515
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/target-globals.c | 2 |
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 576835f..991cc55 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2014-09-23 Richard Sandiford <richard.sandiford@arm.com> + + PR bootstrap/63280 + * target-globals.c (target_globals::~target_globals): Fix location + of ira_int destruction. + 2014-09-23 Renlin Li <renlin.li@arm.com> * config/aarch64/aarch64.md (return): New. diff --git a/gcc/target-globals.c b/gcc/target-globals.c index 52ac2c0..9122d67 100644 --- a/gcc/target-globals.c +++ b/gcc/target-globals.c @@ -121,10 +121,10 @@ save_target_globals_default_opts () target_globals::~target_globals () { - ira_int->~target_ira_int (); /* default_target_globals points to static data so shouldn't be freed. */ if (this != &default_target_globals) { + ira_int->~target_ira_int (); hard_regs->finalize (); XDELETE (flag_state); XDELETE (regs); |