From 0c7243ae4c6a5c19049e95e24be527694ddd248a Mon Sep 17 00:00:00 2001 From: ro Date: Thu, 30 Sep 2010 18:25:06 +0000 Subject: [PATCH] * config/sparc/sparc.opt (mimpure-text): Move ... * config/sol2.opt: ... here. Correct description. * config.gcc (*-*-solaris2*): Add sol2.opt to extra_options. * doc/invoke.texi (Option Summary, SPARC Options): Move -mimpure-text, -mno-impure-text, -threads, -pthreads, -pthread ... (Option Summary, Solaris 2 Options): ... here. (Submodel Options, Solaris 2 Options): New menu entry. (SPARC Options): Move -mimpure-text, -threads, -pthreads, -pthread ... (Solaris 2 Options): ... here. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164757 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 13 +++++++ gcc/config.gcc | 3 ++ gcc/config/sol2.opt | 23 ++++++++++++ gcc/config/sparc/sparc.opt | 4 -- gcc/doc/invoke.texi | 93 ++++++++++++++++++++++++++-------------------- 5 files changed, 91 insertions(+), 45 deletions(-) create mode 100644 gcc/config/sol2.opt diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a196f7d..87a86c4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,16 @@ +2010-09-30 Rainer Orth + + * config/sparc/sparc.opt (mimpure-text): Move ... + * config/sol2.opt: ... here. + Correct description. + * config.gcc (*-*-solaris2*): Add sol2.opt to extra_options. + * doc/invoke.texi (Option Summary, SPARC Options): Move + -mimpure-text, -mno-impure-text, -threads, -pthreads, -pthread ... + (Option Summary, Solaris 2 Options): ... here. + (Submodel Options, Solaris 2 Options): New menu entry. + (SPARC Options): Move -mimpure-text, -threads, -pthreads, -pthread ... + (Solaris 2 Options): ... here. + 2010-09-30 Michael Eager * extend.texi (interrupt_handler): Add MicroBlaze to list. diff --git a/gcc/config.gcc b/gcc/config.gcc index 3eb7ff6..e30c06e 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -653,6 +653,9 @@ case ${target} in *-*-uclinux*) use_gcc_stdint=wrap ;; +*-*-solaris2*) + extra_options="${extra_options} sol2.opt" + ;; *-*-vxworks*) tmake_file=t-vxworks xm_defines=POSIX diff --git a/gcc/config/sol2.opt b/gcc/config/sol2.opt new file mode 100644 index 0000000..2da2ab5 --- /dev/null +++ b/gcc/config/sol2.opt @@ -0,0 +1,23 @@ +; Options for the Solaris 2 port of the compiler +; +; Copyright (C) 2010 Free Software Foundation, Inc. +; +; 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 +; . + +mimpure-text +Target Report +Pass -z text to linker diff --git a/gcc/config/sparc/sparc.opt b/gcc/config/sparc/sparc.opt index 35a280f..17de80d 100644 --- a/gcc/config/sparc/sparc.opt +++ b/gcc/config/sparc/sparc.opt @@ -34,10 +34,6 @@ munaligned-doubles Target Report Mask(UNALIGNED_DOUBLES) Assume possible double misalignment -mimpure-text -Target Report -Pass -assert pure-text to linker - mapp-regs Target Report Mask(APP_REGS) Use ABI reserved registers diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 449bc0c..7d36418 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -848,6 +848,10 @@ See RS/6000 and PowerPC Options. -madjust-unroll -mindexed-addressing -mgettrcost=@var{number} -mpt-fixed @gol -maccumulate-outgoing-args -minvalid-symbols} +@emph{Solaris 2 Options} +@gccoptlist{-mimpure-text -mno-impure-text @gol +-threads -pthreads -pthread} + @emph{SPARC Options} @gccoptlist{-mcpu=@var{cpu-type} @gol -mtune=@var{cpu-type} @gol @@ -856,11 +860,10 @@ See RS/6000 and PowerPC Options. -mfaster-structs -mno-faster-structs @gol -mfpu -mno-fpu -mhard-float -msoft-float @gol -mhard-quad-float -msoft-quad-float @gol --mimpure-text -mno-impure-text -mlittle-endian @gol +-mlittle-endian @gol -mstack-bias -mno-stack-bias @gol -munaligned-doubles -mno-unaligned-doubles @gol --mv8plus -mno-v8plus -mvis -mno-vis --threads -pthreads -pthread} +-mv8plus -mno-v8plus -mvis -mno-vis} @emph{SPU Options} @gccoptlist{-mwarn-reloc -merror-reloc @gol @@ -9847,6 +9850,7 @@ platform. * S/390 and zSeries Options:: * Score Options:: * SH Options:: +* Solaris 2 Options:: * SPARC Options:: * SPU Options:: * System V Options:: @@ -16705,6 +16709,51 @@ It will then prevent cross-basic-block cse, hoisting and most scheduling of symbol loads. The default is @option{-mno-invalid-symbols}. @end table +@node Solaris 2 Options +@subsection Solaris 2 Options +@cindex Solaris 2 options + +These @samp{-m} options are supported on Solaris 2: + +@table @gcctabopt +@item -mimpure-text +@opindex mimpure-text +@option{-mimpure-text}, used in addition to @option{-shared}, tells +the compiler to not pass @option{-z text} to the linker when linking a +shared object. Using this option, you can link position-dependent +code into a shared object. + +@option{-mimpure-text} suppresses the ``relocations remain against +allocatable but non-writable sections'' linker error message. +However, the necessary relocations will trigger copy-on-write, and the +shared object is not actually shared across processes. Instead of +using @option{-mimpure-text}, you should compile all source code with +@option{-fpic} or @option{-fPIC}. + +@end table + +These switches are supported in addition to the above on Solaris 2: + +@table @gcctabopt +@item -threads +@opindex threads +Add support for multithreading using the Solaris threads library. This +option sets flags for both the preprocessor and linker. This option does +not affect the thread safety of object code produced by the compiler or +that of libraries supplied with it. + +@item -pthreads +@opindex pthreads +Add support for multithreading using the POSIX threads library. This +option sets flags for both the preprocessor and linker. This option does +not affect the thread safety of object code produced by the compiler or +that of libraries supplied with it. + +@item -pthread +@opindex pthread +This is a synonym for @option{-pthreads}. +@end table + @node SPARC Options @subsection SPARC Options @cindex SPARC options @@ -16793,22 +16842,6 @@ ABI@. Thus, it's intended only for use on targets where the developer acknowledges that their resulting code will not be directly in line with the rules of the ABI@. -@item -mimpure-text -@opindex mimpure-text -@option{-mimpure-text}, used in addition to @option{-shared}, tells -the compiler to not pass @option{-z text} to the linker when linking a -shared object. Using this option, you can link position-dependent -code into a shared object. - -@option{-mimpure-text} suppresses the ``relocations remain against -allocatable but non-writable sections'' linker error message. -However, the necessary relocations will trigger copy-on-write, and the -shared object is not actually shared across processes. Instead of -using @option{-mimpure-text}, you should compile all source code with -@option{-fpic} or @option{-fPIC}. - -This option is only available on SunOS and Solaris. - @item -mcpu=@var{cpu_type} @opindex mcpu Set the instruction set, register set, and instruction scheduling parameters @@ -16957,28 +16990,6 @@ when making stack frame references. This is the default in 64-bit mode. Otherwise, assume no such offset is present. @end table -These switches are supported in addition to the above on Solaris: - -@table @gcctabopt -@item -threads -@opindex threads -Add support for multithreading using the Solaris threads library. This -option sets flags for both the preprocessor and linker. This option does -not affect the thread safety of object code produced by the compiler or -that of libraries supplied with it. - -@item -pthreads -@opindex pthreads -Add support for multithreading using the POSIX threads library. This -option sets flags for both the preprocessor and linker. This option does -not affect the thread safety of object code produced by the compiler or -that of libraries supplied with it. - -@item -pthread -@opindex pthread -This is a synonym for @option{-pthreads}. -@end table - @node SPU Options @subsection SPU Options @cindex SPU options -- 2.7.4