tc-s390.h revision 272461
1228753Smm/* tc-s390.h -- Header file for tc-s390.c. 2228753Smm Copyright 2000, 2001, 2002, 2003, 2004, 2005 3228753Smm Free Software Foundation, Inc. 4228753Smm Written by Martin Schwidefsky (schwidefsky@de.ibm.com). 5228753Smm 6228753Smm This file is part of GAS, the GNU Assembler. 7228753Smm 8228753Smm GAS is free software; you can redistribute it and/or modify 9228753Smm it under the terms of the GNU General Public License as published by 10228753Smm the Free Software Foundation; either version 2, or (at your option) 11228753Smm any later version. 12228753Smm 13228753Smm GAS is distributed in the hope that it will be useful, 14228753Smm but WITHOUT ANY WARRANTY; without even the implied warranty of 15228753Smm MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16228753Smm GNU General Public License for more details. 17228753Smm 18228753Smm You should have received a copy of the GNU General Public License 19228753Smm along with GAS; see the file COPYING. If not, write to the Free 20228753Smm Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA 21228753Smm 02110-1301, USA. */ 22228753Smm 23228753Smm#define TC_S390 24228753Smm 25228753Smmstruct fix; 26228753Smm 27228753Smm#define TC_FORCE_RELOCATION(FIX) tc_s390_force_relocation(FIX) 28232153Smmextern int tc_s390_force_relocation PARAMS ((struct fix *)); 29232153Smm 30232153Smm/* Don't resolve foo@PLT-bar to offset@PLT. */ 31228753Smm#define TC_FORCE_RELOCATION_SUB_SAME(FIX, SEG) \ 32228753Smm (! SEG_NORMAL (SEG) || TC_FORCE_RELOCATION (FIX)) 33228753Smm 34228753Smm#define tc_fix_adjustable(X) tc_s390_fix_adjustable(X) 35228753Smmextern int tc_s390_fix_adjustable PARAMS ((struct fix *)); 36232153Smm 37232153Smm/* Values passed to md_apply_fix don't include symbol values. */ 38232153Smm#define MD_APPLY_SYM_VALUE(FIX) 0 39228753Smm 40228753Smm/* The target BFD architecture. */ 41228753Smm#define TARGET_ARCH bfd_arch_s390 42228753Smmextern enum bfd_architecture s390_arch PARAMS ((void)); 43228753Smm 44228753Smm/* The target BFD format. */ 45228753Smm#define TARGET_FORMAT s390_target_format() 46228753Smmextern const char *s390_target_format PARAMS ((void)); 47228753Smm 48228753Smm/* Set the endianness we are using. */ 49228753Smm#define TARGET_BYTES_BIG_ENDIAN 1 50228753Smm 51228753Smm/* Whether or not the target is big endian */ 52228753Smmextern int target_big_endian; 53228753Smm 54228753Smm/* Permit temporary numeric labels. */ 55228753Smm#define LOCAL_LABELS_FB 1 56228753Smm 57228753Smm/* $ is used to refer to the current location. */ 58228753Smm/* #define DOLLAR_DOT */ 59228753Smm 60228753Smm/* We need to be able to make relocations involving the difference of 61228753Smm two symbols. This includes the difference of two symbols when 62228753Smm one of them is undefined (this comes up in PIC code generation). 63228753Smm */ 64228753Smm#define UNDEFINED_DIFFERENCE_OK 65228753Smm 66228753Smm/* foo-. gets turned into PC relative relocs */ 67228753Smm#define DIFF_EXPR_OK 68228753Smm 69228753Smm/* We don't need to handle .word strangely. */ 70228753Smm#define WORKING_DOT_WORD 71228753Smm 72228753Smm#define md_number_to_chars number_to_chars_bigendian 73228753Smm 74228753Smm#define NOP_OPCODE 0x07 75228753Smm 76228753Smm/* call md_pcrel_from_section, not md_pcrel_from */ 77228753Smm#define MD_PCREL_FROM_SECTION(FIX, SEC) md_pcrel_from_section(FIX, SEC) 78228753Smmextern long md_pcrel_from_section PARAMS ((struct fix *, segT)); 79228753Smm 80228753Smm#define md_operand(x) 81228753Smm 82228753Smmextern void s390_md_end PARAMS ((void)); 83228753Smm#define md_end() s390_md_end () 84232153Smm 85232153Smm#define TARGET_USE_CFIPOP 1 86232153Smm 87232153Smm#define tc_cfi_frame_initial_instructions s390_cfi_frame_initial_instructions 88232153Smmextern void s390_cfi_frame_initial_instructions PARAMS ((void)); 89232153Smm 90232153Smm#define tc_regname_to_dw2regnum tc_s390_regname_to_dw2regnum 91232153Smmextern int tc_s390_regname_to_dw2regnum PARAMS ((char *regname)); 92232153Smm 93232153Smmextern int s390_cie_data_alignment; 94232153Smm 95232153Smm#define DWARF2_LINE_MIN_INSN_LENGTH 1 96232153Smm#define DWARF2_DEFAULT_RETURN_COLUMN 14 97232153Smm#define DWARF2_CIE_DATA_ALIGNMENT s390_cie_data_alignment 98228753Smm