X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gas%2Fas.h;h=7c163826d90706972f432c590c91f4434a8c3af7;hb=0acf065b19253e02ea32188ea0cbdf4e80e3c42d;hp=8ac17cf1a4d8d5acf9062fd080393e792fc8ebf4;hpb=885afe7b6fda4324ac445cfdd9e37630f5061dc0;p=deliverable%2Fbinutils-gdb.git diff --git a/gas/as.h b/gas/as.h index 8ac17cf1a4..7c163826d9 100644 --- a/gas/as.h +++ b/gas/as.h @@ -1,19 +1,19 @@ /* as.h - global header file Copyright 1987, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, - 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 + 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. This file is part of GAS, the GNU Assembler. GAS is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) + the Free Software Foundation; either version 3, or (at your option) any later version. - GAS is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. + GAS is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public + License for more details. 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 @@ -36,50 +36,7 @@ COMMON as "". If TEST is #defined, then we are testing a module: #define COMMON as "". */ -#include "config.h" -#include "bin-bugs.h" - -/* This is the code recommended in the autoconf documentation, almost - verbatim. If it doesn't work for you, let me know, and notify - djm@gnu.ai.mit.edu as well. */ -/* Added void* version for STDC case. This is to be compatible with - the declaration in bison.simple, used for m68k operand parsing. - --KR 1995.08.08 */ -/* Force void* decl for hpux. This is what Bison uses. --KR 1995.08.16 */ - -#ifndef __GNUC__ -# if HAVE_ALLOCA_H -# include -# else -# ifdef _AIX -/* Indented so that pre-ansi C compilers will ignore it, rather than - choke on it. Some versions of AIX require this to be the first - thing in the file. */ - #pragma alloca -# else -# ifndef alloca /* predefined by HP cc +Olibcalls */ -# if !defined (__STDC__) && !defined (__hpux) -extern char *alloca (); -# else -extern void *alloca (); -# endif /* __STDC__, __hpux */ -# endif /* alloca */ -# endif /* _AIX */ -# endif /* HAVE_ALLOCA_H */ -#endif /* __GNUC__ */ - -/* Prefer varargs for non-ANSI compiler, since some will barf if the - ellipsis definition is used with a no-arguments declaration. */ -#if defined (HAVE_VARARGS_H) && !defined (__STDC__) -#undef HAVE_STDARG_H -#endif - -#if defined (HAVE_STDARG_H) -#define USE_STDARG -#endif -#if !defined (USE_STDARG) && defined (HAVE_VARARGS_H) -#define USE_VARARGS -#endif +#include "alloca-conf.h" /* Now, tend to the rest of the configuration. */ @@ -107,22 +64,7 @@ extern void *alloca (); #include #endif -#ifdef USE_STDARG #include -#endif - -#ifdef USE_VARARGS -#include -#endif - -#if !defined (USE_STDARG) && !defined (USE_VARARGS) -/* Roll our own. */ -#define va_alist REST -#define va_dcl -typedef int * va_list; -#define va_start(ARGS) ARGS = &REST -#define va_end(ARGS) -#endif #include "getopt.h" /* The first getopt value for machine-independent long options. @@ -136,9 +78,9 @@ typedef int * va_list; #undef NDEBUG #endif #if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 6) -#define __PRETTY_FUNCTION__ ((char*)0) +#define __PRETTY_FUNCTION__ ((char *) NULL) #endif -#define assert(P) \ +#define gas_assert(P) \ ((void) ((P) ? 0 : (as_assert (__FILE__, __LINE__, __PRETTY_FUNCTION__), 0))) #undef abort #define abort() as_abort (__FILE__, __LINE__, __PRETTY_FUNCTION__) @@ -172,13 +114,17 @@ extern int ffs (int); extern void free (); #endif #ifdef NEED_DECLARATION_MALLOC -extern PTR malloc (); -extern PTR realloc (); +extern void *malloc (); +extern void *realloc (); #endif #ifdef NEED_DECLARATION_STRSTR extern char *strstr (); #endif +#if !HAVE_DECL_MEMPCPY +void *mempcpy(void *, const void *, size_t); +#endif + #if !HAVE_DECL_VSNPRINTF extern int vsnprintf(char *, size_t, const char *, va_list); #endif @@ -259,12 +205,16 @@ typedef addressT valueT; #endif /* COMMON now defined */ -#ifdef DEBUG +#ifndef ENABLE_CHECKING +#define ENABLE_CHECKING 0 +#endif + +#if ENABLE_CHECKING || defined (DEBUG) #ifndef know -#define know(p) assert(p) /* Verify our assumptions! */ +#define know(p) gas_assert(p) /* Verify our assumptions! */ #endif /* not yet defined */ #else -#define know(p) /* know() checks are no-op.ed */ +#define know(p) do {} while (0) /* know() checks are no-op.ed */ #endif /* input_scrub.c */ @@ -415,6 +365,9 @@ COMMON int flag_strip_local_absolute; /* True if we should generate a traditional format object file. */ COMMON int flag_traditional_format; +/* TRUE if debug sections should be compressed. */ +COMMON int flag_compress_debug; + /* TRUE if .note.GNU-stack section with SEC_CODE should be created */ COMMON int flag_execstack; @@ -480,7 +433,6 @@ struct _pseudo_type typedef struct _pseudo_type pseudo_typeS; -#ifdef USE_STDARG #if (__GNUC__ >= 2) && !defined(VMS) /* for use with -Wformat */ @@ -507,13 +459,6 @@ typedef struct _pseudo_type pseudo_typeS; #endif /* __GNUC__ < 2 || defined(VMS) */ -#else /* ! USE_STDARG */ - -#define PRINTF_LIKE(FCN) void FCN () -#define PRINTF_WHERE_LIKE(FCN) void FCN () - -#endif /* ! USE_STDARG */ - PRINTF_LIKE (as_bad); PRINTF_LIKE (as_fatal) ATTRIBUTE_NORETURN; PRINTF_LIKE (as_tsktsk); @@ -531,6 +476,8 @@ void as_bad_value_out_of_range (char *, offsetT, offsetT, offsetT, char *, uns void print_version_id (void); char * app_push (void); char * atof_ieee (char *, int, LITTLENUM_TYPE *); +char * ieee_md_atof (int, char *, int *, bfd_boolean); +char * vax_md_atof (int, char *, int *); char * input_scrub_include_file (char *, char *); void input_scrub_insert_line (const char *); void input_scrub_insert_file (char *); @@ -551,6 +498,7 @@ void input_scrub_begin (void); void input_scrub_close (void); void input_scrub_end (void); int new_logical_line (char *, int); +int new_logical_line_flags (char *, int, int); void subsegs_begin (void); void subseg_change (segT, int); segT subseg_new (const char *, subsegT); @@ -563,10 +511,12 @@ void register_dependency (char *); void print_dependencies (void); segT subseg_get (const char *, int); +const char *remap_debug_filename (const char *); +void add_debug_prefix_map (const char *); + struct expressionS; struct fix; typedef struct symbol symbolS; -struct relax_type; typedef struct frag fragS; /* literal.c */ @@ -607,6 +557,10 @@ int generic_force_reloc (struct fix *); #endif #include "listing.h" +#ifdef H_TICK_HEX +extern int enable_h_tick_hex; +#endif + #ifdef TC_M68K /* True if we are assembling in m68k MRI mode. */ COMMON int flag_m68k_mri;