+2025-09-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config.bfd <powerpc-*-solaris2*>: Remove.
+
2025-07-13 Nick Clifton <nickc@redhat.com>
* 2.45 Branch point.
targ64_selvecs="powerpc_elf64_vec powerpc_elf64_le_vec powerpc_elf64_fbsd_vec"
;;
powerpc-*-*bsd* | powerpc-*-elf* | powerpc-*-sysv4* | powerpc-*-eabi* | \
- powerpc-*-solaris2* | powerpc-*-linux-* | powerpc-*-rtems* | \
- powerpc-*-chorus*)
+ powerpc-*-linux-* | powerpc-*-rtems* | powerpc-*-chorus*)
targ_defvec=powerpc_elf32_vec
targ_selvecs="rs6000_xcoff_vec powerpc_elf32_le_vec powerpc_boot_vec"
targ64_selvecs="powerpc_elf64_vec powerpc_elf64_le_vec"
+2025-09-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * NEWS: Mention Solaris/PowerPC removal.
+
+ * configure.ac <ppc-*-solaris*>: Remove.
+ * configure: Regenerate.
+ * configure.in: Regenerate.
+ * configure.tgt <ppc-*-solaris*>: Remove.
+
+ * config/tc-ppc.c (ppc_solaris_comment_chars): Remove.
+ (ppc_eabi_comment_chars): Remove.
+ (SOLARIS_P): Remove.
+ (msolaris): Remove.
+ (md_parse_option): Remove "solaris", "no-solaris" hangling.
+ (md_show_usage): Likewise.
+ (md_begin): Remove msolaris handling.
+ * config/tc-ppc.h (ppc_comment_chars): Fix declaration.
+ * stabs.c (s_stab_generic) [TC_PPC && OBJ_ELF]: Remove 4-arg
+ .stabd support.
+
+ * doc/as.texi (Overview, Target PowerPC options): Remove
+ -msolaris, -mno-solaris.
+ * doc/c-ppc.texi (PowerPC-Opts): Remove -msolaris, -mno-solaris.
+ (PowerPC-Chars): Remove ! as line comment character.
+
2025-07-13 Nick Clifton <nickc@redhat.com>
* 2.45 Branch point.
* NaCl target support is removed.
+* Solaris/PowerPC target support is removed.
+
* Add support for RISC-V standard extensions:
sdtrig v1.0, ssstrict v1.0.
/* Target OS. */
#undef TARGET_OS
-/* Define if default target is PowerPC Solaris. */
-#undef TARGET_SOLARIS_COMMENT
-
/* Target vendor. */
#undef TARGET_VENDOR
/* Generic assembler global variables which must be defined by all
targets. */
-#ifdef OBJ_ELF
/* This string holds the chars that always start a comment. If the
- pre-processor is disabled, these aren't very useful. The macro
- tc_comment_chars points to this. We use this, rather than the
- usual comment_chars, so that we can switch for Solaris conventions. */
-static const char ppc_solaris_comment_chars[] = "#!";
-static const char ppc_eabi_comment_chars[] = "#";
-
-#ifdef TARGET_SOLARIS_COMMENT
-const char *ppc_comment_chars = ppc_solaris_comment_chars;
-#else
-const char *ppc_comment_chars = ppc_eabi_comment_chars;
-#endif
-#else
-const char comment_chars[] = "#";
-#endif
+ pre-processor is disabled, these aren't very useful. */
+const char ppc_comment_chars[] = "#";
/* Characters which start a comment at the beginning of a line. */
const char line_comment_chars[] = "#";
/* Flags to set in the elf header. */
static flagword ppc_flags = 0;
-
-/* Whether this is Solaris or not. */
-#ifdef TARGET_SOLARIS_COMMENT
-#define SOLARIS_P true
-#else
-#define SOLARIS_P false
-#endif
-
-static bool msolaris = SOLARIS_P;
#endif
#ifdef OBJ_XCOFF
set_target_endian = 1;
}
- else if (strcmp (arg, "solaris") == 0)
- {
- msolaris = true;
- ppc_comment_chars = ppc_solaris_comment_chars;
- }
-
- else if (strcmp (arg, "no-solaris") == 0)
- {
- msolaris = false;
- ppc_comment_chars = ppc_eabi_comment_chars;
- }
else if (strcmp (arg, "spe2") == 0)
{
ppc_cpu |= PPC_OPCODE_SPE2;
-mbig, -mbig-endian, -be\n\
generate code for a big endian machine\n"));
fprintf (stream, _("\
--msolaris generate code for Solaris\n"));
- fprintf (stream, _("\
--mno-solaris do not generate code for Solaris\n"));
- fprintf (stream, _("\
-K PIC set EF_PPC_RELOCATABLE_LIB in ELF flags\n"));
fprintf (stream, _("\
-V print assembler version number\n"));
#ifdef OBJ_ELF
/* Set the ELF flags if desired. */
- if (ppc_flags && !msolaris)
+ if (ppc_flags)
bfd_set_private_flags (stdoutput, ppc_flags);
#endif
}
}
-/* Solaris pseduo op to change to the .rodata section. */
+/* Solaris pseudo op to change to the .rodata section. */
static void
ppc_elf_rdata (int xxx)
{
#define md_elf_section_flags(FLAGS, ATTR, TYPE) ppc_section_flags (FLAGS, ATTR, TYPE)
#define tc_comment_chars ppc_comment_chars
-extern const char *ppc_comment_chars;
+extern const char ppc_comment_chars[];
#define md_elf_section_letter ppc_elf_section_letter
extern bfd_vma ppc_elf_section_letter (int, const char **);
$as_echo "#define AIX_WEAK_SUPPORT 1" >>confdefs.h
- ;;
- ppc-*-solaris*)
- if test ${this_target} = $target; then
-
-$as_echo "#define TARGET_SOLARIS_COMMENT 1" >>confdefs.h
-
- fi
- if test x${endian} = xbig; then
- as_fn_error $? "Solaris must be configured little endian" "$LINENO" 5
- fi
;;
esac
AC_DEFINE(AIX_WEAK_SUPPORT, 1,
[Define if using AIX 5.2 value for C_WEAKEXT.])
;;
- ppc-*-solaris*)
- if test ${this_target} = $target; then
- AC_DEFINE(TARGET_SOLARIS_COMMENT, 1,
- [Define if default target is PowerPC Solaris.])
- fi
- if test x${endian} = xbig; then
- AC_MSG_ERROR(Solaris must be configured little endian)
- fi
- ;;
esac
if test ${this_target} = $target ; then
[@b{-mregnames}|@b{-mno-regnames}]
[@b{-mrelocatable}|@b{-mrelocatable-lib}|@b{-K PIC}] [@b{-memb}]
[@b{-mlittle}|@b{-mlittle-endian}|@b{-le}|@b{-mbig}|@b{-mbig-endian}|@b{-be}]
- [@b{-msolaris}|@b{-mno-solaris}]
[@b{-nops=@var{count}}]
@end ifset
@ifset PRU
@item -mbig, -mbig-endian, -be
Generate code for a big endian machine.
-@item -msolaris
-Generate code for Solaris.
-
-@item -mno-solaris
-Do not generate code for Solaris.
-
@item -nops=@var{count}
If an alignment directive inserts more than @var{count} nops, put a
branch at the beginning to skip execution of the nops.
a logical line number directive (@pxref{Comments}) or a preprocessor
control command (@pxref{Preprocessing}).
-If the assembler has been configured for the ppc-*-solaris* target
-then the @samp{!} character also acts as a line comment character.
-This can be disabled via the @option{-mno-solaris} command-line
-option.
-
@cindex line separator, PowerPC
@cindex statement separator, PowerPC
@cindex PowerPC line separator
SKIP_WHITESPACE ();
}
-#ifdef TC_PPC
-#ifdef OBJ_ELF
- /* Solaris on PowerPC has decided that .stabd can take 4 arguments, so if we were
- given 4 arguments, make it a .stabn */
- else if (what == 'd')
- {
- char *save_location = input_line_pointer;
-
- SKIP_WHITESPACE ();
- if (*input_line_pointer == ',')
- {
- input_line_pointer++;
- what = 'n';
- }
- else
- input_line_pointer = save_location;
- }
-#endif /* OBJ_ELF */
-#endif /* TC_PPC */
-
#ifndef NO_LISTING
if (listing)
{
+2025-09-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * configure.tgt <powerpc*-*-solaris*>: Remove.
+
2025-08-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* emulparams/elf64_sparc.sh (TEXT_START_ADDR): Move ...
powerpc*-*-elf* | powerpc*-*-eabi* | powerpc*-*-sysv* \
| powerpc*-*-linux* | powerpc*-*-netbsd* | powerpc*-*-openbsd* \
| powerpc*-*-rtems* \
- | powerpc*-*-solaris* | powerpc*-*-kaos* | powerpc*-*-vxworks*)
+ | powerpc*-*-kaos* | powerpc*-*-vxworks*)
case "${targ}" in
powerpc64*)
targ_emul=elf64ppc