aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStan Shebs <shebs@apple.com>2001-10-16 23:22:27 +0000
committerStan Shebs <shebs@gcc.gnu.org>2001-10-16 23:22:27 +0000
commitabe72dd8aa65422a37c6ae25658a70f06477472b (patch)
treef4a3001669d9c6fd545e97a8986d632d01ba6316
parent1afec8ade9fceba5d24195f3d152fc701e51c835 (diff)
downloadgcc-abe72dd8aa65422a37c6ae25658a70f06477472b.zip
gcc-abe72dd8aa65422a37c6ae25658a70f06477472b.tar.gz
gcc-abe72dd8aa65422a37c6ae25658a70f06477472b.tar.bz2
darwin.h (GCC_NAME): Remove, no longer used.
* config/darwin.h (GCC_NAME): Remove, no longer used. (NO_MATH_LIBRARY): Ditto. (MATH_LIBRARY): Define to emptiness. (DWARF2_DEBUGGING_INFO): Define. (PREFERRED_DEBUGGING_TYPE): Define. (EXTRA_SECTION_FUNCTIONS): Add darwin_exception_section. (EXCEPTION_SECTION): Define. (ASM_PREFERRED_EH_DATA_FORMAT): Define. * config/darwin.c (darwin_encode_section_info): Handle case of DECL_INITIAL being error_mark_node. From-SVN: r46300
-rw-r--r--gcc/ChangeLog13
-rw-r--r--gcc/config/darwin.c3
-rw-r--r--gcc/config/darwin.h26
3 files changed, 34 insertions, 8 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f645485..ae255c2 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,16 @@
+2001-10-16 Stan Shebs <shebs@apple.com>
+
+ * config/darwin.h (GCC_NAME): Remove, no longer used.
+ (NO_MATH_LIBRARY): Ditto.
+ (MATH_LIBRARY): Define to emptiness.
+ (DWARF2_DEBUGGING_INFO): Define.
+ (PREFERRED_DEBUGGING_TYPE): Define.
+ (EXTRA_SECTION_FUNCTIONS): Add darwin_exception_section.
+ (EXCEPTION_SECTION): Define.
+ (ASM_PREFERRED_EH_DATA_FORMAT): Define.
+ * config/darwin.c (darwin_encode_section_info): Handle case of
+ DECL_INITIAL being error_mark_node.
+
2001-10-16 Richard Henderson <rth@redhat.com>
* alpha.c (current_file_function_operand): Don't fail for profiling.
diff --git a/gcc/config/darwin.c b/gcc/config/darwin.c
index a46d46b..225a757 100644
--- a/gcc/config/darwin.c
+++ b/gcc/config/darwin.c
@@ -1014,7 +1014,8 @@ darwin_encode_section_info (decl)
&& !DECL_EXTERNAL (decl)
&& ((TREE_STATIC (decl)
&& (!DECL_COMMON (decl) || !TREE_PUBLIC (decl)))
- || DECL_INITIAL (decl)))
+ || (DECL_INITIAL (decl)
+ && DECL_INITIAL (decl) != error_mark_node)))
defined = 1;
if (TREE_CODE (decl) == FUNCTION_DECL)
diff --git a/gcc/config/darwin.h b/gcc/config/darwin.h
index 54b669a..d4a8197 100644
--- a/gcc/config/darwin.h
+++ b/gcc/config/darwin.h
@@ -35,14 +35,11 @@ Boston, MA 02111-1307, USA. */
leave it undefined and expect system builders to set configure args
correctly. */
-/* Name of the command that invokes the compiler - used in g++.c. */
+/* Suppress g++ attempt to link in the math library automatically.
+ (Some Darwin versions have a libm, but they seem to cause problems
+ for C++ executables.) */
-#undef GCC_NAME
-#define GCC_NAME "cc"
-
-/* Never try linking with -lm - used in g++.c. */
-
-#define NO_MATH_LIBRARY
+#define MATH_LIBRARY ""
/* We have atexit. */
@@ -126,6 +123,12 @@ Boston, MA 02111-1307, USA. */
#define DBX_DEBUGGING_INFO
+/* Also enable Dwarf 2 as an option. */
+
+#define DWARF2_DEBUGGING_INFO
+
+#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG
+
/* When generating stabs debugging, use N_BINCL entries. */
#define DBX_USE_BINCL
@@ -349,6 +352,7 @@ do { if (!strcmp (alias_name, name)) \
in_machopic_lazy_symbol_ptr, \
in_machopic_symbol_stub, \
in_machopic_picsymbol_stub, \
+ in_darwin_exception, \
num_sections
#undef EXTRA_SECTION_FUNCTIONS
@@ -453,6 +457,9 @@ SECTION_FUNCTION (machopic_symbol_stub_section, \
SECTION_FUNCTION (machopic_picsymbol_stub_section, \
in_machopic_picsymbol_stub, \
".picsymbol_stub", 0) \
+SECTION_FUNCTION (darwin_exception_section, \
+ in_darwin_exception, \
+ ".section __TEXT,__gcc_except_tab", 0) \
\
void \
objc_section_init () \
@@ -774,6 +781,11 @@ enum machopic_addr_class {
} \
} while (0)
+#define EXCEPTION_SECTION() darwin_exception_section ()
+
+#define ASM_PREFERRED_EH_DATA_FORMAT(CODE,GLOBAL) \
+ (((CODE) == 1 || (GLOBAL) == 0) ? DW_EH_PE_pcrel : DW_EH_PE_absptr)
+
#define REGISTER_TARGET_PRAGMAS(PFILE) \
do { \
cpp_register_pragma (PFILE, 0, "mark", darwin_pragma_ignore); \