diff options
author | David Edelsohn <edelsohn@gnu.org> | 2008-10-16 11:57:26 +0000 |
---|---|---|
committer | David Edelsohn <dje@gcc.gnu.org> | 2008-10-16 07:57:26 -0400 |
commit | 5773a50f410d585fd248ce8d12e5a8ef33c10ed1 (patch) | |
tree | 6681f468870449e9307fcf2ec9d0d70973345fd9 | |
parent | 2a7ee2f9893f7eeb1c330c4e042e3c7d56c6edaf (diff) | |
download | gcc-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/ChangeLog | 11 | ||||
-rw-r--r-- | gcc/Makefile.in | 2 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 5 | ||||
-rw-r--r-- | gcc/config/rs6000/x-aix | 3 | ||||
-rw-r--r-- | gcc/config/rs6000/xcoff.h | 2 | ||||
-rw-r--r-- | gcc/coverage.c | 1 | ||||
-rw-r--r-- | gcc/java/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/java/Make-lang.in | 4 | ||||
-rw-r--r-- | gcc/java/class.c | 1 | ||||
-rw-r--r-- | gcc/java/expr.c | 1 |
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" |