aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJason Merrill <merrill@gnu.org>1994-12-09 23:11:54 +0000
committerJason Merrill <merrill@gnu.org>1994-12-09 23:11:54 +0000
commit52c0eaf8773922536cc9794c05e10428e6fe2b25 (patch)
tree166a4bd87f009f15cd186ecec543aa769ea5f270 /gcc
parent13bdb4e26a1afccb96b2b68741cfaf90b1b6c1f0 (diff)
downloadgcc-52c0eaf8773922536cc9794c05e10428e6fe2b25.zip
gcc-52c0eaf8773922536cc9794c05e10428e6fe2b25.tar.gz
gcc-52c0eaf8773922536cc9794c05e10428e6fe2b25.tar.bz2
rs6000.h (LINK_SPEC): Add %{shared:-bM:SRE}.
Fri Dec 9 14:52:41 1994 Jason Merrill <jason@phydeaux.cygnus.com> * rs6000/rs6000.h (LINK_SPEC): Add %{shared:-bM:SRE}. (LINK_LIBGCC_SPECIAL_1): Use LIBGCC_SPEC instead. From-SVN: r8638
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/rs6000/rs6000.h11
1 files changed, 8 insertions, 3 deletions
diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h
index c58cf41..5ea8f60 100644
--- a/gcc/config/rs6000/rs6000.h
+++ b/gcc/config/rs6000/rs6000.h
@@ -77,17 +77,22 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
used by the AIX cc command. So we use it here.
-bnodelcsect undoes a poor choice of default relating to multiply-defined
- csects. See AIX documentation for more information about this. */
+ csects. See AIX documentation for more information about this.
+
+ -bM:SRE tells the linker that the output file is Shared REusable. Note
+ that to actually build a shared library you will also need to specify an
+ export list with the -Wl,-bE option. */
#define LINK_SPEC "-T512 -H512 %{!r:-btextro} -bhalt:4 -bnodelcsect\
- %{static:-bnso -bI:/lib/syscalls.exp} %{g*:-bexport:/usr/lib/libg.exp}"
+ %{static:-bnso -bI:/lib/syscalls.exp} %{g*:-bexport:/usr/lib/libg.exp}\
+ %{shared:-bM:SRE}"
/* Profiled library versions are used by linking with special directories. */
#define LIB_SPEC "%{pg:-L/lib/profiled -L/usr/lib/profiled}\
%{p:-L/lib/profiled -L/usr/lib/profiled} %{g*:-lg} -lc"
/* gcc must do the search itself to find libgcc.a, not use -l. */
-#define LINK_LIBGCC_SPECIAL_1
+#define LIBGCC_SPEC "%{!shared:libgcc.a%s}"
/* Don't turn -B into -L if the argument specifies a relative file name. */
#define RELATIVE_PREFIX_NOT_LINKDIR