aboutsummaryrefslogtreecommitdiff
path: root/ld/testsuite
diff options
context:
space:
mode:
Diffstat (limited to 'ld/testsuite')
-rw-r--r--ld/testsuite/ChangeLog16
-rw-r--r--ld/testsuite/ld-elfvsb/elfvsb.exp15
-rw-r--r--ld/testsuite/ld-elfvsb/main.c6
-rw-r--r--ld/testsuite/ld-elfvsb/sh1.c2
4 files changed, 32 insertions, 7 deletions
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog
index 894cdeb..58a1124 100644
--- a/ld/testsuite/ChangeLog
+++ b/ld/testsuite/ChangeLog
@@ -1,3 +1,19 @@
+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.
diff --git a/ld/testsuite/ld-elfvsb/elfvsb.exp b/ld/testsuite/ld-elfvsb/elfvsb.exp
index 3c45e51..e3a010e 100644
--- a/ld/testsuite/ld-elfvsb/elfvsb.exp
+++ b/ld/testsuite/ld-elfvsb/elfvsb.exp
@@ -213,7 +213,8 @@ proc visibility_run {visibility} {
} 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*"
@@ -224,7 +225,8 @@ proc visibility_run {visibility} {
# 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*"
@@ -241,7 +243,8 @@ proc visibility_run {visibility} {
|| ![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
@@ -266,7 +269,8 @@ proc visibility_run {visibility} {
} 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*"
@@ -278,7 +282,8 @@ proc visibility_run {visibility} {
}
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*] } {
diff --git a/ld/testsuite/ld-elfvsb/main.c b/ld/testsuite/ld-elfvsb/main.c
index eef5c01..0aaa835 100644
--- a/ld/testsuite/ld-elfvsb/main.c
+++ b/ld/testsuite/ld-elfvsb/main.c
@@ -27,15 +27,17 @@ extern int visibility_varval ();
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;
diff --git a/ld/testsuite/ld-elfvsb/sh1.c b/ld/testsuite/ld-elfvsb/sh1.c
index 5a140a8..2299f83 100644
--- a/ld/testsuite/ld-elfvsb/sh1.c
+++ b/ld/testsuite/ld-elfvsb/sh1.c
@@ -312,9 +312,11 @@ visibility_varval ()
asm (".hidden visibility");
asm (".hidden visibility_var");
#else
+#if defined (PROTECTED_TEST) || defined (PROTECTED_UNDEF_TEST) || defined (PROTECTED_WEAK_TEST)
asm (".protected visibility");
asm (".protected visibility_var");
#endif
+#endif
#ifdef WEAK_TEST
asm (".weak visibility");