Mercurial > hg > CbC > CbC_gcc
diff gcc/config/vax/elf.h @ 55:77e2b8dfacca gcc-4.4.5
update it from 4.4.3 to 4.5.0
author | ryoma <e075725@ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 12 Feb 2010 23:39:51 +0900 |
parents | a06113de4d67 |
children | f6334be47118 |
line wrap: on
line diff
--- a/gcc/config/vax/elf.h Sun Feb 07 18:28:00 2010 +0900 +++ b/gcc/config/vax/elf.h Fri Feb 12 23:39:51 2010 +0900 @@ -85,8 +85,29 @@ } \ while (0) +/* Don't allow *foo which foo is non-local */ +#define NO_EXTERNAL_INDIRECT_ADDRESS + +#undef VAX_CC1_AND_CC1PLUS_SPEC +#define VAX_CC1_AND_CC1PLUS_SPEC \ + "%{!fno-pic: \ + %{!fpic: \ + %{!fPIC:-fPIC}}}" + /* VAX ELF is always gas; override the generic VAX ASM_SPEC. */ #undef ASM_SPEC -#define ASM_SPEC "" +#define ASM_SPEC "%{!fno-pic: %{!mno-asm-pic:-k}}" + +/* We want PCREL dwarf output. */ +#define ASM_PREFERRED_EH_DATA_FORMAT(CODE,GLOBAL) \ + ((GLOBAL ? DW_EH_PE_indirect : 0) | DW_EH_PE_pcrel | DW_EH_PE_sdata4) +/* Emit a PC-relative relocation. */ +#define ASM_OUTPUT_DWARF_PCREL(FILE, SIZE, LABEL) \ + do { \ + fputs (integer_asm_op (SIZE, FALSE), FILE); \ + fprintf (FILE, "%%pcrel%d(", SIZE * 8); \ + assemble_name (FILE, LABEL); \ + fputc (')', FILE); \ + } while (0)