diff options
author | Jason Merrill <merrill@gnu.org> | 1995-05-09 19:42:41 +0000 |
---|---|---|
committer | Jason Merrill <merrill@gnu.org> | 1995-05-09 19:42:41 +0000 |
commit | 788d9012add31d55efb347132525f5889aeebc86 (patch) | |
tree | c4b0a3d5d970a0daea24f203e24cbe3615a3ce7a | |
parent | 25f5b13e9d042a68515d9052f0ee59796ff9b8e7 (diff) | |
download | gcc-788d9012add31d55efb347132525f5889aeebc86.zip gcc-788d9012add31d55efb347132525f5889aeebc86.tar.gz gcc-788d9012add31d55efb347132525f5889aeebc86.tar.bz2 |
*** empty log message ***
From-SVN: r9599
-rw-r--r-- | gcc/config/rs6000/powerpc.h | 19 | ||||
-rw-r--r-- | 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 37b56e6..02f8196 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 acd5308..449bf53 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}" |