aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bfd/coffcode.h4
-rw-r--r--bfd/config.bfd22
-rwxr-xr-xgas/configure2
-rw-r--r--gas/configure.ac2
-rw-r--r--gas/testsuite/gas/ppc/aix.exp11
-rw-r--r--include/coff/internal.h2
6 files changed, 26 insertions, 17 deletions
diff --git a/bfd/coffcode.h b/bfd/coffcode.h
index 6272025..f37d029 100644
--- a/bfd/coffcode.h
+++ b/bfd/coffcode.h
@@ -4695,7 +4695,7 @@ coff_slurp_symbol_table (bfd * abfd)
#endif
#ifdef RS6000COFF_C
case C_HIDEXT:
-#if ! defined _AIX52 && ! defined AIX_WEAK_SUPPORT
+#ifndef AIX_WEAK_SUPPORT
case C_AIX_WEAKEXT:
#endif
#endif
@@ -5021,7 +5021,7 @@ coff_classify_symbol (bfd *abfd,
#endif
#ifdef RS6000COFF_C
case C_HIDEXT:
-#if ! defined _AIX52 && ! defined AIX_WEAK_SUPPORT
+#ifndef AIX_WEAK_SUPPORT
case C_AIX_WEAKEXT:
#endif
#endif
diff --git a/bfd/config.bfd b/bfd/config.bfd
index 9548370..81ddbcd 100644
--- a/bfd/config.bfd
+++ b/bfd/config.bfd
@@ -1098,18 +1098,6 @@ case "${targ}" in
targ_selvecs="rs6000_xcoff64_aix_vec"
want64=true
;;
- powerpc-*-haiku*)
- targ_defvec=powerpc_elf32_vec
- targ_selvecs="rs6000_xcoff_vec powerpc_elf32_le_vec pef_vec pef_xlib_vec powerpc_xcoff_vec powerpc_boot_vec"
- targ_cflags=-D__HAIKU_TARGET__
- ;;
-#ifdef BFD64
- powerpc64-*-aix5.[01])
- targ_defvec=rs6000_xcoff64_aix_vec
- targ_selvecs="rs6000_xcoff_vec"
- want64=true
- ;;
-#endif
powerpc-*-aix[5-9]* | rs6000-*-aix[5-9]*)
targ_cflags=-DAIX_WEAK_SUPPORT
targ_defvec=rs6000_xcoff_vec
@@ -1117,6 +1105,11 @@ case "${targ}" in
want64=true
;;
#ifdef BFD64
+ powerpc64-*-aix5.[01])
+ targ_defvec=rs6000_xcoff64_aix_vec
+ targ_selvecs="rs6000_xcoff_vec"
+ want64=true
+ ;;
powerpc64-*-aix[5-9]*)
targ_cflags=-DAIX_WEAK_SUPPORT
targ_defvec=rs6000_xcoff64_aix_vec
@@ -1176,6 +1169,11 @@ case "${targ}" in
targ_selvecs="rs6000_xcoff_vec powerpc_elf32_le_vec powerpc_boot_vec"
targ64_selvecs="powerpc_elf64_vec powerpc_elf64_le_vec"
;;
+ powerpc-*-haiku*)
+ targ_defvec=powerpc_elf32_vec
+ targ_selvecs="rs6000_xcoff_vec powerpc_elf32_le_vec pef_vec pef_xlib_vec powerpc_xcoff_vec powerpc_boot_vec"
+ targ_cflags=-D__HAIKU_TARGET__
+ ;;
powerpc-*-kaos*)
targ_defvec=powerpc_elf32_vec
targ_selvecs="powerpc_elf32_le_vec powerpc_boot_vec"
diff --git a/gas/configure b/gas/configure
index 70fd348..86d90ab 100755
--- a/gas/configure
+++ b/gas/configure
@@ -12107,6 +12107,8 @@ $as_echo "#define STRICTCOFF 1" >>confdefs.h
microblaze*)
;;
+ ppc-*-aix5.[01]*)
+ ;;
ppc-*-aix[5-9].*)
$as_echo "#define AIX_WEAK_SUPPORT 1" >>confdefs.h
diff --git a/gas/configure.ac b/gas/configure.ac
index 03728ff..96eeb78 100644
--- a/gas/configure.ac
+++ b/gas/configure.ac
@@ -272,6 +272,8 @@ for this_target in $target $canon_targets ; do
;;
changequote(,)dnl
+ ppc-*-aix5.[01]*)
+ ;;
ppc-*-aix[5-9].*)
changequote([,])dnl
AC_DEFINE(AIX_WEAK_SUPPORT, 1,
diff --git a/gas/testsuite/gas/ppc/aix.exp b/gas/testsuite/gas/ppc/aix.exp
index 55aedc4..76ffb22 100644
--- a/gas/testsuite/gas/ppc/aix.exp
+++ b/gas/testsuite/gas/ppc/aix.exp
@@ -88,8 +88,15 @@ if { [istarget "powerpc*-*-aix*"] || [istarget "rs6000-*-aix*"] } then {
run_dump_test "xcoff-file-32"
run_dump_test "xcoff-file-64"
- run_dump_test "xcoff-visibility-1-32"
- run_dump_test "xcoff-visibility-1-64"
+ if { [istarget {*-*-aix[6-9]*}]
+ || [istarget {*-*-aix5.[2-9]*}] } {
+ # The expected output of these tests depends on AIX_WEAK_SUPPORT.
+ # Without that weak syms do not have an aux entry and thus
+ # BFD_NOT_AT_END is not set. I don't know if any of this is
+ # correct..
+ run_dump_test "xcoff-visibility-1-32"
+ run_dump_test "xcoff-visibility-1-64"
+ }
run_dump_test "xcoff-visibility-2-32"
run_dump_test "xcoff-visibility-2-64"
}
diff --git a/include/coff/internal.h b/include/coff/internal.h
index 92a0abf..7a566ca 100644
--- a/include/coff/internal.h
+++ b/include/coff/internal.h
@@ -352,7 +352,7 @@ struct internal_aouthdr
#define C_NULL_VALUE 0x00de1e00 /* Value for a C_NULL deleted entry. */
-#if defined _AIX52 || defined AIX_WEAK_SUPPORT
+#ifdef AIX_WEAK_SUPPORT
#undef C_WEAKEXT
#define C_WEAKEXT C_AIX_WEAKEXT
#endif