[PATCH][Revised] eliminate UNRESOLVED errors on attr-ifunc-[1,5].c/attr-ifunc-[1,4].C

Jack Howarth howarth@bromo.med.uc.edu
Tue Sep 14 15:58:00 GMT 2010


   Currently on targets like darwin which lack alias support in their
object format, the gcc.dg/attr-ifunc-[1,5].c and g++.dg/ext/attr-ifunc-[1,4].C
test cases produce UNRESOLVED testsuite results...

Executing on host: /sw/src/fink.build/gcc46-4.6.0-1000/darwin_objdir/gcc/xgcc -B/sw/src/fink.build/gcc46-4.6.0-1000/darwin_objdir/gcc/  -c  -m32 -o if
unc94739.o ifunc94739.c    (timeout = 300)
ifunc94739.c:5:18: error: only weak aliases are supported in this configuration^M
compiler exited with status 1
output is:
ifunc94739.c:5:18: error: only weak aliases are supported in this configuration^M

UNRESOLVED: gcc.dg/attr-ifunc-1.c
UNSUPPORTED: gcc.dg/attr-ifunc-1.c
UNRESOLVED: gcc.dg/attr-ifunc-2.c
UNSUPPORTED: gcc.dg/attr-ifunc-2.c
UNRESOLVED: gcc.dg/attr-ifunc-3.c
UNSUPPORTED: gcc.dg/attr-ifunc-3.c
UNRESOLVED: gcc.dg/attr-ifunc-4.c
UNSUPPORTED: gcc.dg/attr-ifunc-4.c
UNRESOLVED: gcc.dg/attr-ifunc-5.c
UNSUPPORTED: gcc.dg/attr-ifunc-5.c

This due to the fact that, unlike check_alias_available(), check_ifunc_available()
doesn't handle the case of targets that support only weak aliases. Tested on
x86_64-apple-darwin10. Okay for gcc trunk?
                   Jack

2010-09-14  Jack Howarth  <howarth@bromo.med.uc.edu>

	* lib/target-supports.exp (check_alias_available): Handle weak aliases only.

Index: gcc/testsuite/lib/target-supports.exp
===================================================================
--- gcc/testsuite/lib/target-supports.exp	(revision 164258)
+++ gcc/testsuite/lib/target-supports.exp	(working copy)
@@ -408,7 +408,12 @@
 		verbose "check_ifunc_available  target does not support ifunc" 2
 		set ifunc_available_saved 0
 	    } else {
-		set ifunc_available_saved -1
+		if [regexp "only weak aliases are supported" $lines] {
+		    verbose "check_ifunc_available  target supports only weak aliases" 2
+		    set ifunc_available_saved 1
+	        } else {
+		    set ifunc_available_saved -1
+	        }
 	    }
 	}
 



More information about the Gcc-patches mailing list