From 1a35e62db38e212a6ec713b10d37b4d67e0e04d8 Mon Sep 17 00:00:00 2001 From: Mark Mitchell Date: Wed, 24 Nov 2004 14:35:31 +0000 Subject: crtstuff.c (IN_LIBGCC2): Define it. 2004-11-24 Mark Mitchell Joseph Myers * crtstuff.c (IN_LIBGCC2): Define it. (EH_FRAME_SECTION_CONST): Check EH_TABLES_CAN_BE_READ_ONLY instead of HAVE_LD_RO_RW_SECTION_MIXING. * defaults.h (EH_TABLES_CAN_BE_READ_ONLY): New macro. * dwarf2out.c (named_section_eh_frame_section): Check EH_TABLES_CAN_BE_READ_ONLY. * except.c (default_exception_section): Likewise. * config/i386/sol2.h (EH_TABLES_CAN_BE_READ_ONLY): Define. * doc/tm.texi (EH_TABLES_CAN_BE_READ_ONLY): Document. Co-Authored-By: Joseph Myers From-SVN: r91160 --- gcc/defaults.h | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'gcc/defaults.h') diff --git a/gcc/defaults.h b/gcc/defaults.h index 1e1bdc8..daa584a 100644 --- a/gcc/defaults.h +++ b/gcc/defaults.h @@ -310,6 +310,26 @@ do { fputs (integer_asm_op (POINTER_SIZE / BITS_PER_UNIT, TRUE), FILE); \ #endif #endif +/* On many systems, different EH table encodings are used under + difference circumstances. Some will require runtime relocations; + some will not. For those that do not require runtime relocations, + we would like to make the table read-only. However, since the + read-only tables may need to be combined with read-write tables + that do require runtime relocation, it is not safe to make the + tables read-only unless the linker will merge read-only and + read-write sections into a single read-write section. If your + linker does not have this ability, but your system is such that no + encoding used with non-PIC code will ever require a runtime + relocation, then you can define EH_TABLES_CAN_BE_READ_ONLY to 1 in + your target configuration file. */ +#ifndef EH_TABLES_CAN_BE_READ_ONLY +#ifdef HAVE_LD_RO_RW_SECTION_MIXING +#define EH_TABLES_CAN_BE_READ_ONLY 1 +#else +#define EH_TABLES_CAN_BE_READ_ONLY 0 +#endif +#endif + /* If we have named section and we support weak symbols, then use the .jcr section for recording java classes which need to be registered at program start-up time. */ -- cgit v1.1