powerpc-wrs-vxworks*)
tm_file="${tm_file} elfos.h gnu-user.h freebsd-spec.h rs6000/sysv4.h"
tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-ppccomm rs6000/t-vxworks"
- extra_options="${extra_options} rs6000/sysv4.opt"
+ extra_options="${extra_options} rs6000/sysv4.opt vxworks-smp.opt"
extra_headers="${extra_headers} ppc-asm.h"
case ${target} in
*-vxworksmils*)
#undef STARTFILE_PREFIX_SPEC
#define STARTFILE_PREFIX_SPEC \
- "%{mrtp:%{!shared:/lib/usr/lib/ppc/PPC32/common}}"
+ "%{mrtp:%{!shared:/lib%{msmp:_smp}/usr/lib/ppc/PPC32/common}}"
/* For aggregates passing, use the same, consistent ABI as Linux. */
#define AGGREGATE_PADDING_FIXED 0
--- /dev/null
+; Options for VxWorks configurations where smp/!smp variants of the
+; system libraries are installed in separate locations.
+;
+; Copyright (C) 2023 Free Software Foundation, Inc.
+; Contributed by AdaCore.
+;
+; This file is part of GCC.
+;
+; GCC is free software; you can redistribute it and/or modify it under
+; the terms of the GNU General Public License as published by the Free
+; Software Foundation; either version 3, or (at your option) any later
+; version.
+;
+; GCC is distributed in the hope that it will be useful, but WITHOUT ANY
+; WARRANTY; without even the implied warranty of MERCHANTABILITY or
+; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+; for more details.
+;
+; You should have received a copy of the GNU General Public License
+; along with GCC; see the file COPYING3. If not see
+; <http://www.gnu.org/licenses/>.
+
+msmp
+Driver Target RejectNegative
+Select VxWorks SMP C runtimes for linking.
-mpointer-size=@var{size}}
@emph{VxWorks Options}
-@gccoptlist{-mrtp -non-static -Bstatic -Bdynamic
+@gccoptlist{-mrtp -msmp -non-static -Bstatic -Bdynamic
-Xbind-lazy -Xbind-now}
@emph{x86 Options}
(RTPs). This option switches from the former to the latter. It also
defines the preprocessor macro @code{__RTP__}.
+@opindex msmp
+@item -msmp
+Select SMP runtimes for linking. Not available on architectures other
+than PowerPC, nor on VxWorks version 7 or later, in which the selection
+is part of the VxWorks build configuration and the library paths are the
+same for either choice.
+
@opindex non-static
@item -non-static
Link an RTP executable against shared libraries rather than static