+2000-07-15 H.J. Lu (hjl@gnu.org)
+
+ * ld-elfvsb/elfvsb.exp (visibility_run): Set expected failure
+ for "protected_undef_def".
+
+ * ld-elfvsb/main.c: Don't define HIDDEN_UNDEF_TEST when
+ PROTECTED_WEAK_TEST is defined.
+ Don't define PROTECTED_UNDEF_TEST when PROTECTED_WEAK_TEST is
+ defined.
+ Define PROTECTED_TEST when PROTECTED_UNDEF_TEST is defined.
+
+ * ld-elfvsb/sh1.c (visibility): Mark protected only if
+ PROTECTED_TEST, PROTECTED_UNDEF_TEST or PROTECTED_WEAK_TEST
+ is defined.
+ (visibility_var): Likewise.
+
2000-07-10 Alan Modra <alan@linuxcare.com.au>
* ld-srec/srec.exp: xfail hppa.
} else {
# SunOS non PIC shared libraries don't permit some cases of
# overriding.
- if [ string match $visibility "protected" ] {
+ if { [ string match $visibility "protected" ]
+ || [ string match $visibility "protected_undef_def" ] } {
setup_xfail $target_triplet
} else {
setup_xfail "*-*-sunos4*"
# address for the library. Near as I can tell, the R_*_RELATIVE
# relocations for various targets are broken in the case where
# the load address is not zero (which is the default).
- if [ string match $visibility "protected" ] {
+ if { [ string match $visibility "protected" ]
+ || [ string match $visibility "protected_undef_def" ] } {
setup_xfail $target_triplet
} else {
setup_xfail "*-*-sunos4*"
|| ![ld_compile "$CC $CFLAGS $SHCFLAG $VSBCFLAG $picflag" $srcdir/$subdir/sh2.c $tmpdir/sh2p.o] } {
unresolved "visibility ($visibility)"
} else {
- if [ string match $visibility "protected" ] {
+ if { [ string match $visibility "protected" ]
+ || [ string match $visibility "protected_undef_def" ] } {
setup_xfail $target_triplet
}
# SunOS can not compare function pointers correctly
} else {
# SunOS non PIC shared libraries don't permit some cases of
# overriding.
- if [ string match $visibility "protected" ] {
+ if { [ string match $visibility "protected" ]
+ || [ string match $visibility "protected_undef_def" ] } {
setup_xfail $target_triplet
} else {
setup_xfail "*-*-sunos4*"
}
if { [file exists $tmpdir/sh1p.o ] && [ file exists $tmpdir/sh2p.o ] } {
- if [ string match $visibility "protected" ] {
+ if { [ string match $visibility "protected" ]
+ || [ string match $visibility "protected_undef_def" ] } {
setup_xfail $target_triplet
}
if { [istarget rs6000*-*-aix*] || [istarget powerpc*-*-aix*] } {
extern void *visibility_varptr ();
#ifdef HIDDEN_WEAK_TEST
-#define HIDDEN_UNDEF_TEST
#define WEAK_TEST
#endif
#ifdef PROTECTED_WEAK_TEST
-#define PROTECTED_UNDEF_TEST
#define WEAK_TEST
#endif
+#ifdef PROTECTED_UNDEF_TEST
+#define PROTECTED_TEST
+#endif
+
#ifndef WEAK_TEST
extern int visibility ();
extern int visibility_var;