From: Geoffrey Keating Date: Mon, 14 May 2001 03:40:04 +0000 (+0000) Subject: rs6000.h (EXCEPTION_SECTION): Move to... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e44713f730a808084ead53f7d833bce8acf7eec5;p=gcc.git rs6000.h (EXCEPTION_SECTION): Move to... * config/rs6000/rs6000.h (EXCEPTION_SECTION): Move to... * config/rs6000/aix.h (EXCEPTION_SECTION): ... here. * config/rs6000/sysv4.h (CONST_SECTION_ASM_OP): Delete. (ASM_PREFERRED_EH_DATA_FORMAT): Define. (EXCEPTION_SECTION): Define. From-SVN: r42058 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 205893e3f14..a6929b444f6 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2001-05-13 Geoff Keating + + * config/rs6000/rs6000.h (EXCEPTION_SECTION): Move to... + * config/rs6000/aix.h (EXCEPTION_SECTION): ... here. + * config/rs6000/sysv4.h (CONST_SECTION_ASM_OP): Delete. + (ASM_PREFERRED_EH_DATA_FORMAT): Define. + (EXCEPTION_SECTION): Define. + 2001-05-13 Zack Weinberg * libgcc2.c, libgcc2.h: Restore __eprintf. Label as used for diff --git a/gcc/config/rs6000/aix.h b/gcc/config/rs6000/aix.h index 82c8744fc99..4b0d28aaaf4 100644 --- a/gcc/config/rs6000/aix.h +++ b/gcc/config/rs6000/aix.h @@ -594,6 +594,12 @@ toc_section () \ putc ('\n', ASM_OUT_FILE); \ } while (0) +/* Define the name of the section to use for the exception tables. + TODO: test and see if we can use read_only_data_section, if so, + remove this. */ + +#define EXCEPTION_SECTION data_section + /* __throw will restore its own return address to be the same as the return address of the function that the throw is being made to. This is unfortunate, because we want to check the original diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h index fe48c0afc6a..39c79c148ad 100644 --- a/gcc/config/rs6000/rs6000.h +++ b/gcc/config/rs6000/rs6000.h @@ -2318,12 +2318,6 @@ extern int rs6000_compare_fp_p; #define TARGET_MEM_FUNCTIONS -/* Define the name of the section to use for the exception tables. - TODO: test and see if we can use read_only_data_section, if so, - remove this. */ - -#define EXCEPTION_SECTION data_section - /* Flag to say the TOC is initialized */ extern int toc_initialized; diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h index 6cf6379805d..64d41312f18 100644 --- a/gcc/config/rs6000/sysv4.h +++ b/gcc/config/rs6000/sysv4.h @@ -433,13 +433,6 @@ do { \ #define MINIMAL_TOC_SECTION_ASM_OP \ ((TARGET_RELOCATABLE || flag_pic) ? "\t.section\t\".got2\",\"aw\"" : "\t.section\t\".got1\",\"aw\"") -/* Put relocatable data in .data, not .rodata so initialized pointers can be updated. */ -/* Override elfos.h definition. */ -#undef CONST_SECTION_ASM_OP -#define CONST_SECTION_ASM_OP \ - ((TARGET_RELOCATABLE || flag_pic) ? "\t.section\t\".data\"\t# .rodata" : "\t.section\t\".rodata\"") - - #define SDATA_SECTION_ASM_OP "\t.section\t\".sdata\",\"aw\"" #define SDATA2_SECTION_ASM_OP "\t.section\t\".sdata2\",\"a\"" #define SBSS_SECTION_ASM_OP \ @@ -1602,3 +1595,13 @@ do { \ = init_one_libfunc (SQRTTF_LIBCALL); \ } \ } while (0) + +/* Select a format to encode pointers in exception handling data. CODE + is 0 for data, 1 for code labels, 2 for function pointers. GLOBAL is + true if the symbol may be affected by dynamic relocations. */ +#define ASM_PREFERRED_EH_DATA_FORMAT(CODE,GLOBAL) \ + (flag_pic \ + ? (((GLOBAL) ? DW_EH_PE_indirect : 0) | DW_EH_PE_pcrel | DW_EH_PE_sdata4) \ + : DW_EH_PE_absptr) + +#define EXCEPTION_SECTION readonly_data_section