This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [v3] Don't create unlinkable 64-bit libtestc++.a on IRIX 6


Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> writes:

> "Joseph S. Myers" <joseph@codesourcery.com> writes:
>
>> On Mon, 6 Dec 2010, Rainer Orth wrote:
>>
>>> On the other hand, there are many unadorned invocations of remote_file
>>> build delete in gcc/testsuite/lib.  Do you have an idea when the above
>>> construct might be necessary?  It would be really helpful to have a
>>> library of Tcl procs for use all over the Dejagnu testsuites in GCC.
>>
>> I don't know more than the empirical observation leading to the code I 
>> quoted: <http://gcc.gnu.org/ml/gcc-patches/2008-07/msg00163.html>.
>
> Ok, so I'll err on the side of safety and follow that approach.

The following patch has been bootstrapped without regressions on
mips-sgi-irix6.5 (all multilibs) on mainline and 4.4 branch; 4.5 branch
in progress.

I've also bootstrapped it without both multilibs on
x86_64-unknown-linux-gnu (mainline only).

Ok for mainline and both branches now?  I'll ask the RMs for the 4.5
branch before committing there before the 4.5.2 release.

Thanks.
	Rainer


2010-11-27  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* testsuite/lib/libstdc++.exp (v3-build_support): Delete
	libtestc++.a before creation.

diff -r 6ea34be5a340 libstdc++-v3/testsuite/lib/libstdc++.exp
--- a/libstdc++-v3/testsuite/lib/libstdc++.exp	Wed Dec 08 12:36:18 2010 +0100
+++ b/libstdc++-v3/testsuite/lib/libstdc++.exp	Wed Dec 08 12:37:35 2010 +0100
@@ -589,6 +589,15 @@
     }
 
     # Collect into libtestc++.a
+    # Delete libtestc++.a first.  Mixed 32 and 64-bit archives cannot be
+    # linked on IRIX 6.
+    # Use same procedure as gcc-dg.exp (remove-build-file).
+    if [is_remote host] {
+	# Ensure the host knows the file is gone by deleting there
+	# first.
+	remote_file host delete "./libtestc++.a"
+	}
+    remote_file build delete "./libtestc++.a"
     if  [info exists env(AR)] {
 	set ar $env(AR)
     } else {


-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]