summaryrefslogtreecommitdiffstats
path: root/contrib/binutils/gas/config/tc-ppc.h
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/binutils/gas/config/tc-ppc.h')
-rw-r--r--contrib/binutils/gas/config/tc-ppc.h25
1 files changed, 12 insertions, 13 deletions
diff --git a/contrib/binutils/gas/config/tc-ppc.h b/contrib/binutils/gas/config/tc-ppc.h
index 0844f84..f7c2da6 100644
--- a/contrib/binutils/gas/config/tc-ppc.h
+++ b/contrib/binutils/gas/config/tc-ppc.h
@@ -1,6 +1,6 @@
/* tc-ppc.h -- Header file for tc-ppc.c.
- Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
- Free Software Foundation, Inc.
+ Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
+ 2004, 2005 Free Software Foundation, Inc.
Written by Ian Lance Taylor, Cygnus Support.
This file is part of GAS, the GNU Assembler.
@@ -17,24 +17,18 @@
You should have received a copy of the GNU General Public License
along with GAS; see the file COPYING. If not, write to the Free
- Software Foundation, 59 Temple Place - Suite 330, Boston, MA
- 02111-1307, USA. */
+ Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA
+ 02110-1301, USA. */
#define TC_PPC
-#ifdef ANSI_PROTOTYPES
struct fix;
-#endif
/* Set the endianness we are using. Default to big endian. */
#ifndef TARGET_BYTES_BIG_ENDIAN
#define TARGET_BYTES_BIG_ENDIAN 1
#endif
-#ifndef BFD_ASSEMBLER
- #error PowerPC support requires BFD_ASSEMBLER
-#endif
-
/* If OBJ_COFF is defined, and TE_PE is not defined, we are assembling
XCOFF for AIX or PowerMac. If TE_PE is defined, we are assembling
COFF for Windows NT. */
@@ -90,7 +84,7 @@ extern char *ppc_target_format PARAMS ((void));
- ((FRAGP)->fr_address + (FRAGP)->fr_fix)); \
if (count != 0 && (count & 3) == 0) \
{ \
- unsigned char *dest = (FRAGP)->fr_literal + (FRAGP)->fr_fix; \
+ char *dest = (FRAGP)->fr_literal + (FRAGP)->fr_fix; \
\
(FRAGP)->fr_var = 4; \
if (target_big_endian) \
@@ -110,6 +104,11 @@ extern char *ppc_target_format PARAMS ((void));
} \
}
+#define md_frag_check(FRAGP) \
+ if ((FRAGP)->has_code \
+ && (((FRAGP)->fr_address + (FRAGP)->insn_addr) & 3) != 0) \
+ as_bad_where ((FRAGP)->fr_file, (FRAGP)->fr_line, \
+ _("instruction address is not a multiple of 4"));
#ifdef TE_PE
@@ -229,7 +228,7 @@ extern const char *ppc_comment_chars;
#define tc_fix_adjustable(FIX) ppc_fix_adjustable (FIX)
extern int ppc_fix_adjustable PARAMS ((struct fix *));
-/* Values passed to md_apply_fix3 don't include symbol values. */
+/* Values passed to md_apply_fix don't include symbol values. */
#define MD_APPLY_SYM_VALUE(FIX) 0
#define tc_frob_file_before_adjust ppc_frob_file_before_adjust
@@ -246,7 +245,7 @@ extern int ppc_force_relocation PARAMS ((struct fix *));
#define MD_PCREL_FROM_SECTION(FIX, SEC) md_pcrel_from_section(FIX, SEC)
extern long md_pcrel_from_section PARAMS ((struct fix *, segT));
-#define md_parse_name(name, exp, c) ppc_parse_name (name, exp)
+#define md_parse_name(name, exp, mode, c) ppc_parse_name (name, exp)
extern int ppc_parse_name PARAMS ((const char *, struct expressionS *));
#define md_operand(x)
OpenPOWER on IntegriCloud