diff --git a/libitm/ChangeLog b/libitm/ChangeLog
index 81e5b6f447ba7ab90954fd36b287c2a79ffd8339..247886aaac275aa6706544281c2a5eea929aaa06 100644
--- a/libitm/ChangeLog
+++ b/libitm/ChangeLog
@@ -1,3 +1,11 @@
+2013-06-20  Iain Sandoe  <iain@codesourcery.com>
+	    Cesar Philippidis  <cesar@codesourcery.com>
+
+	* testsuite/lib/libitm.exp: Reorder lib loads into dependency order.
+	Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
+	* testsuite/libitm.c/c.exp: load_gcc_lib gcc-dg.exp.
+	* testsuite/libitm.c++/c++.exp: load_gcc_lib gcc-dg.exp.
+
 2013-06-20  Torvald Riegel  <triegel@redhat.com>
 
 	* query.cc (_ITM_inTransaction): Abort when using the HTM fastpath.
diff --git a/libitm/testsuite/lib/libitm.exp b/libitm/testsuite/lib/libitm.exp
index f322ed5d0c261b8d72deba2201aaa60f547e06b5..669ed904327d0f05b66d41a745282c6480d7c0e4 100644
--- a/libitm/testsuite/lib/libitm.exp
+++ b/libitm/testsuite/lib/libitm.exp
@@ -23,23 +23,27 @@ proc load_gcc_lib { filename } {
 }
 
 load_lib dg.exp
-load_gcc_lib file-format.exp
+
+# Required to use gcc-dg.exp - however, the latter should NOT be
+# loaded until ${tool}_target_compile is defined since it uses that
+# to determine default LTO options.
+
+load_gcc_lib prune.exp
+load_gcc_lib target-libpath.exp
+load_gcc_lib wrapper.exp
+load_gcc_lib gcc-defs.exp
+load_gcc_lib timeout.exp
 load_gcc_lib target-supports.exp
+load_gcc_lib file-format.exp
 load_gcc_lib target-supports-dg.exp
 load_gcc_lib scanasm.exp
 load_gcc_lib scandump.exp
 load_gcc_lib scanrtl.exp
 load_gcc_lib scantree.exp
 load_gcc_lib scanipa.exp
-load_gcc_lib prune.exp
-load_gcc_lib target-libpath.exp
-load_gcc_lib wrapper.exp
-load_gcc_lib gcc-defs.exp
-load_gcc_lib torture-options.exp
-load_gcc_lib timeout.exp
 load_gcc_lib timeout-dg.exp
+load_gcc_lib torture-options.exp
 load_gcc_lib fortran-modules.exp
-load_gcc_lib gcc-dg.exp
 
 set dg-do-what-default run
 
diff --git a/libitm/testsuite/libitm.c++/c++.exp b/libitm/testsuite/libitm.c++/c++.exp
index 2386e0e3cadd811e99e46eb0c3fa530135c808d7..31b3b64756ba13cd68f2bc50d830fdec4acf297e 100644
--- a/libitm/testsuite/libitm.c++/c++.exp
+++ b/libitm/testsuite/libitm.c++/c++.exp
@@ -15,6 +15,7 @@
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
 load_lib libitm-dg.exp
+load_gcc_lib gcc-dg.exp
 
 global shlib_ext
 
diff --git a/libitm/testsuite/libitm.c/c.exp b/libitm/testsuite/libitm.c/c.exp
index f7229a5bcdf4e46c33524a1a5f739c7ef05e9adc..daa71427d64cc702b474806bd5f8bb68905765b3 100644
--- a/libitm/testsuite/libitm.c/c.exp
+++ b/libitm/testsuite/libitm.c/c.exp
@@ -21,6 +21,7 @@ if [info exists lang_test_file] then {
 }
 
 load_lib libitm-dg.exp
+load_gcc_lib gcc-dg.exp
 
 # If a testcase doesn't have special options, use these.
 if ![info exists DEFAULT_CFLAGS] then {