aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Edelsohn <edelsohn@gnu.org>2008-10-16 11:57:26 +0000
committerDavid Edelsohn <dje@gcc.gnu.org>2008-10-16 07:57:26 -0400
commit5773a50f410d585fd248ce8d12e5a8ef33c10ed1 (patch)
tree6681f468870449e9307fcf2ec9d0d70973345fd9
parent2a7ee2f9893f7eeb1c330c4e042e3c7d56c6edaf (diff)
downloadgcc-5773a50f410d585fd248ce8d12e5a8ef33c10ed1.zip
gcc-5773a50f410d585fd248ce8d12e5a8ef33c10ed1.tar.gz
gcc-5773a50f410d585fd248ce8d12e5a8ef33c10ed1.tar.bz2
re PR c++/35483 (GCC on AIX doesn't support dollar in symbols name.)
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
-rw-r--r--gcc/ChangeLog11
-rw-r--r--gcc/Makefile.in2
-rw-r--r--gcc/config/rs6000/rs6000.c5
-rw-r--r--gcc/config/rs6000/x-aix3
-rw-r--r--gcc/config/rs6000/xcoff.h2
-rw-r--r--gcc/coverage.c1
-rw-r--r--gcc/java/ChangeLog8
-rw-r--r--gcc/java/Make-lang.in4
-rw-r--r--gcc/java/class.c1
-rw-r--r--gcc/java/expr.c1
10 files changed, 31 insertions, 7 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 733b18a..13d987a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index 5cb1241..e799d26 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -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) \
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index 612c7d4..6df7aa7 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -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);
diff --git a/gcc/config/rs6000/x-aix b/gcc/config/rs6000/x-aix
index 32e7357..11ccb93 100644
--- a/gcc/config/rs6000/x-aix
+++ b/gcc/config/rs6000/x-aix
@@ -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
+
diff --git a/gcc/config/rs6000/xcoff.h b/gcc/config/rs6000/xcoff.h
index 08e06b4..c819390 100644
--- a/gcc/config/rs6000/xcoff.h
+++ b/gcc/config/rs6000/xcoff.h
@@ -257,7 +257,7 @@
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. */
diff --git a/gcc/coverage.c b/gcc/coverage.c
index 2d4f791..b2ac876 100644
--- a/gcc/coverage.c
+++ b/gcc/coverage.c
@@ -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"
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog
index d987bbe..40454a0 100644
--- a/gcc/java/ChangeLog
+++ b/gcc/java/ChangeLog
@@ -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
diff --git a/gcc/java/Make-lang.in b/gcc/java/Make-lang.in
index f188c7d..2db3065 100644
--- a/gcc/java/Make-lang.in
+++ b/gcc/java/Make-lang.in
@@ -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) \
diff --git a/gcc/java/class.c b/gcc/java/class.c
index 13cc54e..edd16f0 100644
--- a/gcc/java/class.c
+++ b/gcc/java/class.c
@@ -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"
diff --git a/gcc/java/expr.c b/gcc/java/expr.c
index e1c0082..858bc93 100644
--- a/gcc/java/expr.c
+++ b/gcc/java/expr.c
@@ -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"