re PR c++/35483 (GCC on AIX doesn't support dollar in symbols name.)
authorDavid Edelsohn <edelsohn@gnu.org>
Thu, 16 Oct 2008 11:57:26 +0000 (11:57 +0000)
committerDavid Edelsohn <dje@gcc.gnu.org>
Thu, 16 Oct 2008 11:57:26 +0000 (07:57 -0400)
gcc/
        PR target/35483
        * Makefile.in (coverage.o): Depend on $(TM_P_H).
        * coverage.c: Include tm_p.h.
        * config/rs6000/x-aix (jc1): Override LDFLAGS.
        * config/rs6000/xcoff.h (ASM_GENERATE_INTERNAL_LABEL): Strip
        dollar signs from PREFIX.
        * config/rs6000/rs6000.c (output_toc): Use RS6000_OUTPUT_BASENAME
        instead of manual strip_name_encoding.

java/
        PR target/35483
        * Make-lang.in (class.o): Depend on $(TM_P_H).
        (expr.o): Same.
        * class.c: Include tm_p.h.
        * expr.c: Include tm_p.h.

From-SVN: r141170

gcc/ChangeLog
gcc/Makefile.in
gcc/config/rs6000/rs6000.c
gcc/config/rs6000/x-aix
gcc/config/rs6000/xcoff.h
gcc/coverage.c
gcc/java/ChangeLog
gcc/java/Make-lang.in
gcc/java/class.c
gcc/java/expr.c

index 733b18ac80befebfc00cf91d22ca042baaf36854..13d987a712c6c42ef1d23e5c363974bec7b17b56 100644 (file)
@@ -1,3 +1,14 @@
+2008-10-16  David Edelsohn  <edelsohn@gnu.org>
+
+       PR target/35483
+       * Makefile.in (coverage.o): Depend on $(TM_P_H).
+       * coverage.c: Include tm_p.h.
+       * config/rs6000/x-aix (jc1): Override LDFLAGS.
+       * config/rs6000/xcoff.h (ASM_GENERATE_INTERNAL_LABEL): Strip
+       dollar signs from PREFIX.
+       * config/rs6000/rs6000.c (output_toc): Use RS6000_OUTPUT_BASENAME
+       instead of manual strip_name_encoding.
+
 2008-10-16  Richard Guenther  <rguenther@suse.de>
 
        PR middle-end/37418
index 5cb12414056cb5811c3656607d9ab29ad1771043..e799d2666d2e245358f15c0c21a062b6b99584ad 100644 (file)
@@ -2651,7 +2651,7 @@ ipa-struct-reorg.o: ipa-struct-reorg.c ipa-struct-reorg.h $(CONFIG_H) $(SYSTEM_H
 coverage.o : coverage.c $(GCOV_IO_H) $(CONFIG_H) $(SYSTEM_H) coretypes.h \
    $(TM_H) $(RTL_H) $(TREE_H) $(FLAGS_H) output.h $(REGS_H) $(EXPR_H) \
    $(FUNCTION_H) $(TOPLEV_H) $(GGC_H) langhooks.h $(COVERAGE_H) gt-coverage.h \
-   $(HASHTAB_H) tree-iterator.h $(CGRAPH_H) tree-pass.h gcov-io.c
+   $(HASHTAB_H) tree-iterator.h $(CGRAPH_H) tree-pass.h gcov-io.c $(TM_P_H)
 cselib.o : cselib.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
    $(REGS_H) hard-reg-set.h $(FLAGS_H) $(REAL_H) insn-config.h $(RECOG_H) \
    $(EMIT_RTL_H) $(TOPLEV_H) output.h $(FUNCTION_H) cselib.h $(GGC_H) $(TM_P_H) \
index 612c7d45d6724f3f627d6e948e72e1ea05a4a212..6df7aa797320e5839eda495a58e2ddfdaf64d2f1 100644 (file)
@@ -18097,7 +18097,6 @@ output_toc (FILE *file, rtx x, int labelno, enum machine_mode mode)
 {
   char buf[256];
   const char *name = buf;
-  const char *real_name;
   rtx base = x;
   HOST_WIDE_INT offset = 0;
 
@@ -18371,12 +18370,12 @@ output_toc (FILE *file, rtx x, int labelno, enum machine_mode mode)
       gcc_unreachable ();
     }
 
-  real_name = (*targetm.strip_name_encoding) (name);
   if (TARGET_MINIMAL_TOC)
     fputs (TARGET_32BIT ? "\t.long " : DOUBLE_INT_ASM_OP, file);
   else
     {
-      fprintf (file, "\t.tc %s", real_name);
+      fputs ("\t.tc ", file);
+      RS6000_OUTPUT_BASENAME (file, name);
 
       if (offset < 0)
        fprintf (file, ".N" HOST_WIDE_INT_PRINT_UNSIGNED, - offset);
index 32e7357f3296ff4c3c86c52f53844c0c82ed400a..11ccb932d4bf14254c05ee1cf1469a150d763c46 100644 (file)
@@ -1,3 +1,6 @@
 # genautomata requires more than 256MB of data
 build/genautomata : override LDFLAGS += -Wl,-bmaxdata:0x20000000
 
+# jc1 requires more than 256MB of data
+jc1 : override LDFLAGS += -Wl,-bmaxdata:0x20000000
+
index 08e06b4a757468a631cbaaeabf14862187c09a2f..c8193908a97ace75e11b1361867ff884f882acdb 100644 (file)
    This is suitable for output with `assemble_name'.  */
 
 #define ASM_GENERATE_INTERNAL_LABEL(LABEL,PREFIX,NUM)  \
-  sprintf (LABEL, "*%s..%u", (PREFIX), (unsigned) (NUM))
+  sprintf (LABEL, "*%s..%u", rs6000_xcoff_strip_dollar (PREFIX), (unsigned) (NUM))
 
 /* This is how to output an assembler line to define N characters starting
    at P to FILE.  */
index 2d4f791bc5828deb5eab33a66c9e1da3e809f6d6..b2ac87651d30f28fc0899aa58d5737da97a32620 100644 (file)
@@ -38,6 +38,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "expr.h"
 #include "function.h"
 #include "toplev.h"
+#include "tm_p.h"
 #include "ggc.h"
 #include "coverage.h"
 #include "langhooks.h"
index d987bbe71b7918c79645df9b723f3a24c71a286e..40454a0f5dd7fc7ab5cc0c06ca3e912bc6b2407a 100644 (file)
@@ -1,3 +1,11 @@
+2008-10-16  David Edelsohn  <edelsohn@gnu.org>
+
+       PR target/35483
+       * Make-lang.in (class.o): Depend on $(TM_P_H).
+       (expr.o): Same.
+       * class.c: Include tm_p.h.
+       * expr.c: Include tm_p.h.
+
 2008-10-14  Andrew Haley  <aph@redhat.com>
 
        * constants.c (build_constant_data_ref): Make sure we only build
index f188c7d788dd1863f3f057933a8f2a2328dfe181..2db3065f6298d0534673c6a5593009dd13d1e45a 100644 (file)
@@ -256,7 +256,7 @@ java/builtins.o: java/builtins.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   gt-java-builtins.h
 java/class.o: java/class.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(JAVA_TREE_H) $(RTL_H) java/jcf.h java/parse.h toplev.h output.h $(GGC_H) \
-  $(TARGET_H) $(FUNCTION_H) gt-java-class.h $(CGRAPH_H)
+  $(TARGET_H) $(FUNCTION_H) gt-java-class.h $(CGRAPH_H) $(TM_P_H)
 java/constants.o: java/constants.c $(CONFIG_H) $(JAVA_TREE_H) java/jcf.h \
   toplev.h $(SYSTEM_H) coretypes.h $(TM_H) $(GGC_H) gt-java-constants.h
 java/decl.o: java/decl.c $(CONFIG_H) $(JAVA_TREE_H) $(RTL_H) java/jcf.h \
@@ -270,7 +270,7 @@ java/expr.o: java/expr.c $(CONFIG_H) $(JAVA_TREE_H) java/jcf.h $(REAL_H) \
   $(RTL_H) $(EXPR_H) java/javaop.h java/java-opcodes.h except.h \
   java/java-except.h java/java-except.h java/parse.h toplev.h \
   $(SYSTEM_H) coretypes.h $(TM_H) $(GGC_H) gt-java-expr.h $(TARGET_H) \
-  tree-iterator.h
+  tree-iterator.h $(TM_P_H)
 java/jcf-depend.o: java/jcf-depend.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(TM_H) java/jcf.h
 java/jcf-parse.o: java/jcf-parse.c $(CONFIG_H) $(JAVA_TREE_H) $(FLAGS_H) \
index 13cc54e024d96be14ee7bec36c390726c93a8469..edd16f0ad618b7569b6d3b764022b6c3e55e67e6 100644 (file)
@@ -38,6 +38,7 @@ The Free Software Foundation is independent of Sun Microsystems, Inc.  */
 #include "output.h"
 #include "parse.h"
 #include "function.h"
+#include "tm_p.h"
 #include "ggc.h"
 #include "stdio.h"
 #include "target.h"
index e1c008242482e81ff3ac0c8de8c5cbf610ef3c77..858bc937d93acc0e9622e2738d1d10b577607a8c 100644 (file)
@@ -41,6 +41,7 @@ The Free Software Foundation is independent of Sun Microsystems, Inc.  */
 #include "parse.h"
 #include "toplev.h"
 #include "except.h"
+#include "tm_p.h"
 #include "ggc.h"
 #include "tree-iterator.h"
 #include "gimple.h"