From 788d9012add31d55efb347132525f5889aeebc86 Mon Sep 17 00:00:00 2001 From: Jason Merrill Date: Tue, 9 May 1995 19:42:41 +0000 Subject: [PATCH] *** empty log message *** From-SVN: r9599 --- gcc/config/rs6000/powerpc.h | 19 +++++++++++++++++++ gcc/config/rs6000/rs6000.h | 6 +++--- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/gcc/config/rs6000/powerpc.h b/gcc/config/rs6000/powerpc.h index 37b56e6b0bb..02f8196725b 100644 --- a/gcc/config/rs6000/powerpc.h +++ b/gcc/config/rs6000/powerpc.h @@ -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; \ + } \ +} diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h index acd5308567e..449bf53a69b 100644 --- a/gcc/config/rs6000/rs6000.h +++ b/gcc/config/rs6000/rs6000.h @@ -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}" -- 2.30.2