Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/gnu/dist/toolchain/gcc Second half of fix for PR toolchain/1...



details:   https://anonhg.NetBSD.org/src/rev/41e02c94d691
branches:  trunk
changeset: 544222:41e02c94d691
user:      thorpej <thorpej%NetBSD.org@localhost>
date:      Fri Mar 14 23:48:00 2003 +0000

description:
Second half of fix for PR toolchain/19265.

2003-03-14  Jason Thorpe  <thorpej%wasabisystems.com@localhost>

        * c-decl.c (flag_hosted): Move from here...
        * toplev.c: ...to here.
        * c-tree.h (flag_hosted): Move extern declaration from here...
        * flags.h: ...to here.
        * config/alpha/alpha.c (alpha_initialize_trampoline): Only
        emit a call to __enable_execute_stack if flag_hosted is true.
        * config/i386/i386.c (x86_initialize_trampoline): Likewise.
        * config/sparc/sparc.c (sparc_initialize_trampoline)
        (sparc64_initialize_trampoline): Likewise.

An updated version of this will be submitted to gcc.gnu.org.

diffstat:

 gnu/dist/toolchain/gcc/c-decl.c             |   4 ----
 gnu/dist/toolchain/gcc/c-tree.h             |   4 ----
 gnu/dist/toolchain/gcc/config/alpha/alpha.c |   5 +++--
 gnu/dist/toolchain/gcc/config/i386/i386.c   |   5 +++--
 gnu/dist/toolchain/gcc/config/sparc/sparc.c |  10 ++++++----
 gnu/dist/toolchain/gcc/flags.h              |   4 ++++
 gnu/dist/toolchain/gcc/toplev.c             |   7 +++++++
 7 files changed, 23 insertions(+), 16 deletions(-)

diffs (115 lines):

diff -r 2afa8b38c079 -r 41e02c94d691 gnu/dist/toolchain/gcc/c-decl.c
--- a/gnu/dist/toolchain/gcc/c-decl.c   Fri Mar 14 22:56:14 2003 +0000
+++ b/gnu/dist/toolchain/gcc/c-decl.c   Fri Mar 14 23:48:00 2003 +0000
@@ -490,10 +490,6 @@
 
 int flag_isoc9x = 0;
 
-/* Nonzero means that we have builtin functions, and main is an int */
-
-int flag_hosted = 1;
-
 /* Nonzero means to allow single precision math even if we're generally
    being traditional.  */
 int flag_allow_single_precision = 0;
diff -r 2afa8b38c079 -r 41e02c94d691 gnu/dist/toolchain/gcc/c-tree.h
--- a/gnu/dist/toolchain/gcc/c-tree.h   Fri Mar 14 22:56:14 2003 +0000
+++ b/gnu/dist/toolchain/gcc/c-tree.h   Fri Mar 14 23:48:00 2003 +0000
@@ -439,10 +439,6 @@
 
 extern int flag_no_asm;
 
-/* Nonzero means environment is hosted (i.e., not freestanding) */
-
-extern int flag_hosted;
-
 /* Nonzero means warn about implicit declarations.  */
 
 extern int warn_implicit;
diff -r 2afa8b38c079 -r 41e02c94d691 gnu/dist/toolchain/gcc/config/alpha/alpha.c
--- a/gnu/dist/toolchain/gcc/config/alpha/alpha.c       Fri Mar 14 22:56:14 2003 +0000
+++ b/gnu/dist/toolchain/gcc/config/alpha/alpha.c       Fri Mar 14 23:48:00 2003 +0000
@@ -3069,8 +3069,9 @@
     }
 
 #ifdef TRANSFER_FROM_TRAMPOLINE
-  emit_library_call (gen_rtx (SYMBOL_REF, Pmode, "__enable_execute_stack"),
-                    0, VOIDmode, 1, tramp, Pmode);
+  if (flag_hosted)
+    emit_library_call (gen_rtx (SYMBOL_REF, Pmode, "__enable_execute_stack"),
+                      0, VOIDmode, 1, tramp, Pmode);
 #endif
 
   if (jmpofs >= 0)
diff -r 2afa8b38c079 -r 41e02c94d691 gnu/dist/toolchain/gcc/config/i386/i386.c
--- a/gnu/dist/toolchain/gcc/config/i386/i386.c Fri Mar 14 22:56:14 2003 +0000
+++ b/gnu/dist/toolchain/gcc/config/i386/i386.c Fri Mar 14 23:48:00 2003 +0000
@@ -5763,7 +5763,8 @@
   emit_move_insn (gen_rtx_MEM (SImode, plus_constant (tramp, 6)), disp);
 
 #ifdef TRANSFER_FROM_TRAMPOLINE
-  emit_library_call (gen_rtx (SYMBOL_REF, Pmode, "__enable_execute_stack"),
-                    0, VOIDmode, 1, tramp, Pmode);
+  if (flag_hosted)
+    emit_library_call (gen_rtx (SYMBOL_REF, Pmode, "__enable_execute_stack"),
+                      0, VOIDmode, 1, tramp, Pmode);
 #endif
 }
diff -r 2afa8b38c079 -r 41e02c94d691 gnu/dist/toolchain/gcc/config/sparc/sparc.c
--- a/gnu/dist/toolchain/gcc/config/sparc/sparc.c       Fri Mar 14 22:56:14 2003 +0000
+++ b/gnu/dist/toolchain/gcc/config/sparc/sparc.c       Fri Mar 14 23:48:00 2003 +0000
@@ -5671,8 +5671,9 @@
     JMPL r+i,d = 10dd ddd1 1100 0rrr rr1i iiii iiii iiii
    */
 #ifdef TRANSFER_FROM_TRAMPOLINE
-  emit_library_call (gen_rtx (SYMBOL_REF, Pmode, "__enable_execute_stack"),
-                     0, VOIDmode, 1, tramp, Pmode);
+  if (flag_hosted)
+    emit_library_call (gen_rtx (SYMBOL_REF, Pmode, "__enable_execute_stack"),
+                       0, VOIDmode, 1, tramp, Pmode);
 #endif
 
   emit_move_insn (gen_rtx_MEM (SImode, plus_constant (tramp, 0)),
@@ -5718,8 +5719,9 @@
      rtx tramp, fnaddr, cxt;
 {
 #ifdef TRANSFER_FROM_TRAMPOLINE
-  emit_library_call (gen_rtx (SYMBOL_REF, Pmode, "__enable_execute_stack"),
-                     0, VOIDmode, 1, tramp, Pmode);
+  if (flag_hosted)
+    emit_library_call (gen_rtx (SYMBOL_REF, Pmode, "__enable_execute_stack"),
+                       0, VOIDmode, 1, tramp, Pmode);
 #endif
 
   /*
diff -r 2afa8b38c079 -r 41e02c94d691 gnu/dist/toolchain/gcc/flags.h
--- a/gnu/dist/toolchain/gcc/flags.h    Fri Mar 14 22:56:14 2003 +0000
+++ b/gnu/dist/toolchain/gcc/flags.h    Fri Mar 14 23:48:00 2003 +0000
@@ -522,6 +522,10 @@
 
 extern int inline_max_insns;
 
+/* Nonzero means environment is hosted (i.e., not freestanding) */
+
+extern int flag_hosted;
+
 /* Nonzero if we dump in VCG format, not plain text.  */
 extern int dump_for_graph;
 
diff -r 2afa8b38c079 -r 41e02c94d691 gnu/dist/toolchain/gcc/toplev.c
--- a/gnu/dist/toolchain/gcc/toplev.c   Fri Mar 14 22:56:14 2003 +0000
+++ b/gnu/dist/toolchain/gcc/toplev.c   Fri Mar 14 23:48:00 2003 +0000
@@ -313,6 +313,13 @@
 #endif
 enum graph_dump_types graph_dump_format;
 
+/* Nonzero if we're in a hosted environment.  For C, that means that
+   we have built-in functions, and main is an int.  This also affects
+   whether or not we attempt to e.g. enable stack execution for
+   trampolines.  */
+
+int flag_hosted = 1;
+
 /* Name for output file of assembly code, specified with -o.  */
 
 char *asm_file_name;



Home | Main Index | Thread Index | Old Index