diff options
author | Iain Sandoe <iains@gcc.gnu.org> | 2010-07-19 09:11:12 +0000 |
---|---|---|
committer | Iain Sandoe <iains@gcc.gnu.org> | 2010-07-19 09:11:12 +0000 |
commit | 9005471b8382cc019ccd189b51ef7422027735f7 (patch) | |
tree | d05b69bd4499cd79c964ff9f989bf6e6b5f94c44 /gcc/config/rs6000/darwin.h | |
parent | 39354b3b991ec0b77d9137c64eea9551ff0ec6f7 (diff) | |
download | gcc-9005471b8382cc019ccd189b51ef7422027735f7.zip gcc-9005471b8382cc019ccd189b51ef7422027735f7.tar.gz gcc-9005471b8382cc019ccd189b51ef7422027735f7.tar.bz2 |
allow darwin branch island control depening on system version
* config/i386/darwin.h: Define darwin_emit_branch_islands.
(TARGET_MACHO_BRANCH_ISLANDS): New.
(FUNCTION_PROFILER): Use TARGET_MACHO_BRANCH_ISLANDS.
* config/i386/i386.h (TARGET_MACHO_BRANCH_ISLANDS): Define a
default value.
* config/i386/i386.c (output_pic_addr_const): Do not emit
branch islands unless TARGET_MACHO_BRANCH_ISLANDS is set.
(x86_output_mi_thunk): Adjust symbol creation.
* config/rs6000/darwin.h: Define darwin_emit_branch_islands.
Remove out of date comment.
* config/rs6000/rs6000.c (print_operand): Adjust symbol.
DARWIN_LINKER_GENERATES_ISLANDS: Remove.
DARWIN_GENERATE_ISLANDS: Ditto.
(output_call): Do not emit branch islands unless
darwin_emit_branch_islands is set.
* config/darwin.c: Declare darwin_emit_branch_islands.
(machopic_indirect_data_reference): Do not emit unless
darwin_emit_branch_islands is set.
(darwin_override_options): Set darwin_emit_branch_islands
where it is needed.
* config/darwin9.h
DARWIN_LINKER_GENERATES_ISLANDS: Remove.
From-SVN: r162299
Diffstat (limited to 'gcc/config/rs6000/darwin.h')
-rw-r--r-- | gcc/config/rs6000/darwin.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/config/rs6000/darwin.h b/gcc/config/rs6000/darwin.h index 98d44cf..810563e 100644 --- a/gcc/config/rs6000/darwin.h +++ b/gcc/config/rs6000/darwin.h @@ -65,6 +65,9 @@ } \ while (0) +/* Generate branch islands stubs if this is true. */ +extern int darwin_emit_branch_islands; + #define SUBTARGET_OVERRIDE_OPTIONS darwin_rs6000_override_options () #define C_COMMON_OVERRIDE_OPTIONS do { \ @@ -385,8 +388,6 @@ #define BLOCK_REG_PADDING(MODE, TYPE, FIRST) \ (!(FIRST) ? upward : FUNCTION_ARG_PADDING (MODE, TYPE)) -/* XXX: Darwin supports neither .quad, or .llong, but it also doesn't - support 64 bit PowerPC either, so this just keeps things happy. */ #define DOUBLE_INT_ASM_OP "\t.quad\t" /* For binary compatibility with 2.95; Darwin C APIs use bool from |