*** empty log message ***
authorJason Merrill <merrill@gnu.org>
Tue, 9 May 1995 19:42:41 +0000 (19:42 +0000)
committerJason Merrill <merrill@gnu.org>
Tue, 9 May 1995 19:42:41 +0000 (19:42 +0000)
From-SVN: r9599

gcc/config/rs6000/powerpc.h
gcc/config/rs6000/rs6000.h

index 37b56e6b0bb18cb04d5981534204132bcd2133a2..02f8196725be8f3c7766250b90ad97d436bd7a70 100644 (file)
@@ -64,3 +64,22 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
 
 #undef PROCESSOR_DEFAULT
 #define PROCESSOR_DEFAULT PROCESSOR_PPC601
+
+/* These are not necessary when we pass -u to the assembler, and undefining
+   them saves a great deal of space in object files.  */
+
+#undef ASM_OUTPUT_EXTERNAL
+#undef ASM_OUTPUT_EXTERNAL_LIBCALL
+#define ASM_OUTPUT_EXTERNAL(FILE, DECL, NAME)  \
+{ rtx _symref = XEXP (DECL_RTL (DECL), 0);     \
+  if ((TREE_CODE (DECL) == VAR_DECL            \
+       || TREE_CODE (DECL) == FUNCTION_DECL)   \
+      && (NAME)[0] != '*'                      \
+      && (NAME)[strlen (NAME) - 1] != ']')     \
+    {                                          \
+      char *_name = (char *) permalloc (strlen (XSTR (_symref, 0)) + 5); \
+      strcpy (_name, XSTR (_symref, 0));       \
+      strcat (_name, TREE_CODE (DECL) == FUNCTION_DECL ? "[DS]" : "[RW]"); \
+      XSTR (_symref, 0) = _name;               \
+    }                                          \
+}
index acd5308567e280f90d31fb146f8a3dec3d729ad6..449bf53a69b508203565a7c2b425c549ce284459 100644 (file)
@@ -88,12 +88,12 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
    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}\
-   %{shared:-bM:SRE}"
+   %{static:-bnso -bI:/lib/syscalls.exp} \
+   %{!shared:%{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"
+   %{p:-L/lib/profiled -L/usr/lib/profiled} %{!shared:%{g*:-lg}} -lc"
 
 /* gcc must do the search itself to find libgcc.a, not use -l.  */
 #define LIBGCC_SPEC "%{!shared:libgcc.a%s}"